В качестве прокси сервера используется squid в качестве фаервола iptables.
Два сетевых интерфейса eth1 – internet ip 192.168.0.2
Eth0 – local net ip 192.168.1.1
В данный момент настроен проксик и правила фаервола. Инет раздается машинам и все работает. На машина проксик принудительно прописывается в настройках броузера и других программ которые шарятся в инете.
В данный момнет настройки проскиска squid и фаервола iptables выглядят так:
На squid прописано следующее
Код: Выделить всё
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl localnet src 192.168.1.0/255.255.255.0
acl to_localhost dst 127.0.0.0/8
acl InternetUsers src "/etc/squid/InternetUsers"
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
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
http_access allow InternetUsers
http_access allow manager localhost
http_access deny manager
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
icp_access allow all
http_port 192.168.1.1:8080
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 16 MB
cache_dir ufs /cache 200 16 256
access_log /var/log/squid/access.log squid
buffered_logs onВ файле InternetUsers прописаны ip адреса машин с которых можно выходить в Интернет.
Конфиг iptables
Код: Выделить всё
# Generated by iptaues-save v1.3.3 on Wed May 24 19:07:19 2006
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:outtos - [0:0]
:pretos - [0:0]
COMMIT
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Sat Apr 26 13:03:17 2003
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A INPUT -p ICMP -j ACCEPT
-A OUTPUT -p ICMP -j ACCEPT
-A INPUT -i eth0 -p TCP --dport 137:139 -j ACCEPT
-A INPUT -i eth0 -p UDP --dport 137:139 -j ACCEPT
-A OUTPUT -o eth0 -p TCP --sport 137:139 -j ACCEPT
-A OUTPUT -o eth0 -p UDP --sport 137:139 -j ACCEPT
-A INPUT -s 192.168.1.3 -i eth0 -p TCP --dport 8080 -j DROP
-A OUTPUT -d 192.168.1.3 -o eth0 -p TCP --sport 8080 -j DROP
-A INPUT -i eth0 -p TCP --dport 8080 -j DROP
-A OUTPUT -o eth0 -p TCP --sport 8080 -j DROP
-A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -p TCP --sport 32768:65535 -j ACCEPT
-A OUTPUT -p UDP --sport 32768:65535 -j ACCEPT
-A INPUT -j DROP
-A OUTPUT -j DROP
-A FORWARD -j DROP
COMMIT
# Completed on Sat Apr 26 13:03:17 2003С настройками приведенными выше Интернет раздается по определенным ip адресам.
Это все предисловие скажем так.
Захотелось настроить прозрачный проксик. Если я правильно понимаю то при работе прозрачного проксика нет необходимости прописывать принудительно параметры проксика в броузере и иже с ним программ.
Пререрыв кучу инфы в сети и посмотрев много примеров изменил настройки squid и iptables на следующие.
Сначала в файле /etc/rc.d/rc.local в конце фала прописал строку
Echo 1 > /proc/sys/net/ipv4/ip_forward
Затем в squid.conf прописал следующее
Код: Выделить всё
http_port 192.168.1.1:8080 transparentВ iptables прописал следующее
Таблица nat
Код: Выделить всё
COMMIT
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -p TCP -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.1:8080
-A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to-ports 8080Таблица filter
Код: Выделить всё
-A INPUT -s 192.168.1.3 -i eth0 -p TCP --dport 8080 -j DROP
-A OUTPUT -d 192.168.1.3 -o eth0 -p TCP --sport 8080 -j DROP
-A FORWARD -s 192.168.1.3 -i eth0 -p TCP --dport 80 -j ACCEPT
-A FORWARD -d 192.168.1.3 -o eth0 -p TCP --sport 80 -j ACCEPTИ прозрачный проксик не шуршит. В логаш squid есть слующее
Access.log
Код: Выделить всё
1225347137.008 1 192.168.1.3 TCP_IMS_HIT/304 300 GET http://auto.mail.ru/img/both_off.gif - NONE/- -
1225347137.014 5 192.168.1.3 TCP_IMS_HIT/304 300 GET http://auto.mail.ru/img/off.gif - NONE/- -
1225347137.014 5 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_reviews.gif - NONE/- -
1225347137.050 26 192.168.1.3 TCP_IMS_HIT/304 301 GET http://img.auto.mail.ru/img/tefal/bhbg2.jpg - NONE/- -
1225347137.052 2 192.168.1.3 TCP_IMS_HIT/304 301 GET http://img.auto.mail.ru/img/tefal/bhbg3.jpg - NONE/- -
1225347137.052 2 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_business.gif - NONE/- -
1225347137.056 2 192.168.1.3 TCP_IMS_HIT/304 301 GET http://img.auto.mail.ru/img/gradi.jpg - NONE/- -
1225347137.066 9 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_store.gif - NONE/- -
1225347137.068 2 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_catalog.gif - NONE/- -
1225347137.068 2 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_info.gif - NONE/- -
1225347137.082 13 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_consult.gif - NONE/- -
1225347137.082 13 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_travel.gif - NONE/- -
1225347137.082 13 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_photogallery.gif - NONE/- -
1225347137.089 5 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_forum.gif - NONE/- -
1225347137.093 4 192.168.1.3 TCP_IMS_HIT/304 300 GET http://auto.mail.ru/img/ico_moto.gif - NONE/- -
1225347137.099 6 192.168.1.3 TCP_IMS_HIT/304 300 GET http://auto.mail.ru/img/ico_motorshow.gif - NONE/- -
1225347137.530 633 192.168.1.3 TCP_MISS/302 702 GET http://active.macromedia.com/flash2/cabs/swflash.cab - DIRECT/84.53.171.191 -
1225347137.973 441 192.168.1.3 TCP_MISS/302 305 GET http://fpdownload.macromedia.com/get/shockwave/cabs/flash/swflash.cab - DIRECT/84.53.170.70 -
1225347137.982 8 192.168.1.3 TCP_IMS_HIT/304 311 GET http://fpdownload2.macromedia.com/get/shockwave/cabs/flash/swflash.cab - NONE/- -Также пробовал в squid прописать слудеющее
Код: Выделить всё
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header onНо при запуске squid в логах появились ошибки
Код: Выделить всё
2008/10/30 05:39:16| parseConfigFile: line 3086 unrecognized: 'httpd_accel_host virtual'
2008/10/30 05:39:16| parseConfigFile: line 3087 unrecognized: 'httpd_accel_port 80'
2008/10/30 05:39:16| parseConfigFile: line 3088 unrecognized: 'httpd_accel_with_proxy on'
2008/10/30 05:39:16| parseConfigFile: line 3089 unrecognized: 'httpd_accel_uses_host_header on'Я эти параметры закомментировал и больше пока не включал
Подскажите, что можно сделать в данной ситуации. Я понимаю что данная тема не раз обсуждалась на форумах и на этом форуме тоже, и мне можно посоветовать юзать поиск и иже сним.
Однако повторюсь я перерыл много инфы и пробовал различные варианты.
Спасибо