LinuxForum.Fans
Тема

Работа с iptables+squid

Автор: Darktime 23 сообщений 5789 просмотров
#22211

Доброго времени суток всем.
По большей степени я ламаг в линуксе, но на работе поставили задачу сделать сервер для раздачи интернета (раньше это происходило через оборудование под названием Дионис, там все иначе совершенно).
Установил на сервер консольный без графической оболочки SLES последний с сайта novell:

text
linux-bj14:/etc # uname -a
Linux linux-bj14 2.6.27.19-5-default #1 SMP 2009-02-28 04:40:21 +0100 x86_64 x86_64 x86_64 GNU/Linux

С помощью YaST удалил стандартный firewall и установил:

text
iptables - IP Packet Filter Administration, Version: 1.4.1.91-1.15 Installed: 1.4.1.91-1.15 

так же при установке линукса сразу поставился squid (в YaST увидел):

text
squid - Squid WWW proxy server, Version: 2.7.STABLE5-2.3 Installed: 
и
yast2-squid - Configuration of squid, Version: 2.17.10-1.32 Installed: 2.17.10-1.32

По логике ведь сперва нужно iptables настроить? Начал его искать, и как то мне кажется он не до конца установился:

text
linux-bj14:~ # find / -name 'iptables'
/usr/share/doc/packages/iptables
/usr/sbin/iptables

Просьба сказать с какими файлами нужно работать, чтобы сделать прозрачный прокси для сотрудников?

UPDATE:
Учитывая, сложную у нас сетку, то понял что легчайшим вариантом будет прописать у людей нуждающих в интернете в браузере прокси и порт.
Тогда получается iptables нет необходимости настраивать и нужно настроить только squid 2.7.STABLE5-2.3 .

Тогда мне нужно вбить только настройки в файл /etc/squid/squid.conf?

Есть у кого нибудь примеры такой настройки?

#22223

а чем вам SuseFirewall то не приглянулся?

#22228

ну он менее опционален, поэтому решил iptables ставить. а теперь понял что ни тот ни другой мне не пригодятся в моей ситуации и мне нужно только squid настроить.

вот нашел один образец и переписал под свои айпишники:
я получаю инет через eth0 10.116.9.2/28 шлюз 10.116.9.1,
а раздавать нужно через eth1 10.42.119.197/21 на подсетку 10.42.0.0

text
http_port 3128
udp_outgoing_address 10.116.9.2
tcp_outgoing_address 10.116.9.2
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
coredump_dir /var/spool/squid
error_directory /etc/squid/errors
visible_hostname proxy

################################## auth_param ntlm program /usr/bin/ntlm_auth --require-membership-of=S-1-5-21-57989841-1606980848-682003330-1111 -d 5 --helper-protocol=squid-2.5-ntlmssp auth_param ntlm children 10 auth_param ntlm max_challenge_reuses 0 auth_param ntlm max_challenge_lifetime 2 minutes

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic auth_param basic children 10 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off ##################################

#Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl hosts_allowed url_regex "/etc/squid/hosts_allowed" acl hosts_disallowed url_regex "/etc/squid/hosts_disallowed" acl hosts_speed_1k url_regex "/etc/squid/hosts_speed_1k" acl hosts_speed_full url_regex "/etc/squid/hosts_speed_full" acl hosts_allowed_selected url_regex "/etc/squid/hosts_allowed_selected" acl hosts_allowed_selected.users src "/etc/squid/hosts_allowed_selected.users" acl manager proto cache_object http_access allow manager acl localhost src 127.0.0.1/255.255.248.0 acl to_localhost dst 127.0.0.0/8 acl domainusers proxy_auth REQUIRED ################ acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT

#============================================================================== #acl FreeMailSitesEnter dstdomain .mail.ru .mail.yandex.ru .passport.yandex.ru .google.com/accounts .mail.google.com #acl FreeMailSitesView dstdomain .mail.yandex.ru .mail.google.com/mail #acl methodpost method POST #acl methodget method GET #http_access deny all methodpost FreeMailSitesEnter #http_access deny all methodget FreeMailSitesView #==============================================================================

acl localnet src 10.42.0.0/21 127.0.0.1 acl localdst dst 10.42.0.0/21 acl priv_net src "/etc/squid/priv_net.allow" http_access allow priv_net acl buh_net src "/etc/squid/buh.allow" acl net1 src "/etc/squid/net1.allow" acl net2 src "/etc/squid/net2.allow" acl net3 src "/etc/squid/net3.allow"

acl daywork time MTWHFA 7:00-19:00

acl good_url url_regex "/etc/squid/good.access" acl bad_url url_regex "/etc/squid/bad.deny" acl bad_urlpath urlpath_regex "/etc/squid/bad_url.deny" acl multimedia urlpath_regex -i "/etc/squid/multimedia.deny" acl mybad url_regex "/etc/squid/mybad.deny" http_access allow hosts_allowed_selected.users hosts_allowed_selected http_access allow all hosts_allowed http_access deny all hosts_disallowed deny_info ERR_DNS_FAIL all ####################################################################### acl My_SNMP snmp_community squidmrtg snmp_port 3401 acl myhost src 10.42.0.0/255.255.248.0

snmp_access allow My_SNMP myhost snmp_access deny all ##################################################### http_access deny bad_url all http_access deny bad_urlpath all http_access allow domainusers http_access allow localhost

icp_access allow all http_access allow net2 http_access allow net1 domainusers http_access allow net3 domainusers http_access allow buh_net domainusers http_access allow all http_access deny CONNECT !SSL_ports icp_access deny all http_access deny all ####################################################

#################################### delay_pools 10 delay_class 1 1 delay_class 2 1

delay_class 3 1 delay_class 4 1 delay_class 5 1 delay_class 6 2 delay_class 7 2 delay_class 8 2 delay_class 9 2 delay_class 10 2

delay_access 1 allow hosts_speed_1k delay_access 1 deny all

delay_access 2 allow hosts_speed_full delay_access 2 deny all

delay_access 3 allow vis_host delay_access 3 deny all #delay_access 4 allow sususerserver #delay_access 4 deny all

delay_access 5 allow multimedia daywork delay_access 5 deny all

delay_access 6 allow priv_net delay_access 6 deny all

delay_access 7 allow net1 delay_access 7 deny all

delay_access 8 allow net2 delay_access 8 deny all delay_access 9 allow net3 delay_access 9 deny all

delay_access 10 allow buh_net delay_access 10 deny all

delay_parameters 1 1024/1024 1024/1024 delay_parameters 2 -1/-1 -1/-1 delay_parameters 3 24576/24576 delay_parameters 4 24576/24576 delay_parameters 5 2/2 delay_parameters 6 16384/16384 16384/16384 delay_parameters 7 24576/24576 16384/16384 delay_parameters 8 65535/65535 8192/65535 delay_parameters 9 16384/16384 5120/5120 delay_parameters 10 65535/65535 16384/65535 ################################################

######################################## # TIMEOUTS connect_timeout 1 minutes peer_connect_timeout 30 seconds read_timeout 10 minutes request_timeout 10 seconds client_lifetime 1 day half_closed_clients on pconn_timeout 60 seconds shutdown_lifetime 30 seconds #######################################

###################################### # MISCELLANEOUS logfile_rotate 0 tcp_recv_bufsize 0 bytes forwarded_for off log_icp_queries off icp_hit_stale off minimum_direct_hops 4 minimum_direct_rtt 400 cachemgr_passwd none all snmp_port 0 snmp_access deny all ie_refresh on ######################################

###################################### # HTTPD-ACCELERATOR OPTIONS httpd_accel_port 0 httpd_accel_with_proxy off httpd_accel_uses_host_header off #####################################

##################################### # OPTIONS FOR TUNING THE CACHE #reference_age 1 year quick_abort_min 200 KB quick_abort_max 200 KB quick_abort_pct 50 negative_ttl 10 seconds positive_dns_ttl 6 hours negative_dns_ttl 10 seconds #####################################

######################################### # OPTIONS FOR EXTERNAL SUPPORT PROGRAMS ftp_user anonymous@ ftp_list_width 32 ftp_passive off #########################################

######################################## # OPTIONS WHICH AFFECT THE CACHE SIZE cache_mem 64 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 64 MB minimum_object_size 0 KB maximum_object_size_in_memory 256 KB ipcache_size 1024 ipcache_low 90 ipcache_high 95 fqdncache_size 1024 #######################################

##################################################################### #redirector_bypass on #redirect_program /usr/local/bin/squidGuard #redirect_children 15

##################################################################### #Cache size #DO HIT RATIO UP cache_dir ufs /var/spool/squid 16384 32 256 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 refresh_pattern ^http: 0 0% 0 override-expire refresh_pattern -i \.gif$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.png$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.jpg$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.jpeg$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.pdf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.zip$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.tar$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.tgz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.exe$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.prz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.ppt$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.inf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.swf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.mid$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.wav$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.mp3$ 43200 100% 43200 override-lastmod override-expire

#22249

Darktime, сюда далее "Easy Firewall Generator for IPTables" если совсем туго будет. Но а все же вам необходимо покрутить SFW :)

#22587

В общем раз задача у меня упростилась, то я решил оставить yast squid и yast firewall.
Теперь если прописать в браузер прокси и порт, то появляется интернет. В связи с чем появились вопросы:

1) Можно ли сделать так, чтобы интернет появлялся только у тех айпиадресов которые мне нужны, чтобы ушлые сотрудники не понапрописали себе прокси и не сидели в инете?

2) Возможно ли запретить использование vkontakte.ru и ondoklasniki.ru? И возможно ли это сделать не для всех айпиадресов?

#22590

Darktime, использовать acl листы и редирект, материалов в инетрнете на данную тематику вагон с маленькой тачкой :)
examples: google > "squid + sams"
examples: google > "squid + squidguard"
examples: google > "squid + rejik"

#23094

Как я понял squid позволяет управлять только http. А как быть если мне нужен еще socks 5?

#23111

Darktime, а зачем вам socks5? О_о

#23112

для собственных нужд =) есть программы которые требуют доступ к интернету,а внутри них нет настроек на прокси. а виндусовые прокси без socks5 не дают доступ)

Нашел такое решение: http://www.linuxrsp.ru/docs/socks5.html, скачать:ftp://belrus.kuban.ru/incoming/socks5.tar.gz

Там даже makefile есть. Распаковал, пробую установку
linux-bj14:/tmp/socks5 # make install
Makefile:47: *** missing separator. Stop.

В чем может быть проблема? Внутри проги нет reedme, чтобы почитать.

#23114

Darktime, :[
В iptables гляньте, все там можно сделать(и icq и couter-strike у вас будет работать wink ) и что за специфический софт который работает только через socks?.

#23119

простите конечно за мою необразованность smile
от iptables отказался,так как задачи упростились и все свелось к yast firewall, yast squid+squidguard. а в них не обнаружил поддержки socks, теперь пробую разобраться с установкой [url]ftp://belrus.kuban.ru/incoming/socks5.tar.gz[/url]

#23123

Darktime, SFW так же может это все сделать то что я вам написал, я же вам говорил что SFW это просто некая надстройка над iptables, будьте внмиательны.

#23153

Пересмотрел все настройки фаервола,и что то не нашел там ничего про socks. Или это где то нужно прописать в файлах? Если да,то подскажите пожалуйста где искать

#23164

Darktime, я просто не понял :o и дал решение для захода по определенному ip smile

#23168

Darktime, начнем с того, что вы хотите подкл к сети интернет? что за софт? :)

#23182

читал где то, что убрали zypper. теперь думаю как нормально в консоли установить пакет. make install не работает и ./config тоже( подскажите где на SLES 11 есть правило установки? Ну или как YaST заставить увидеть этот rpm файл.

по программе: TeamViewer почему то не хочет работать через http прокси, знакомый сказал что нужно socks 5 чтобы работал oO

Войдите или зарегистрируйтесь, чтобы ответить.