[Comm] iptables
Низамов Шавкат
=?iso-8859-1?q?shawkat_=CE=C1_samdu=2Euz?=
Ср Янв 21 13:20:10 MSK 2004
>
> У клиентов Win98, DNS есть всегда.
> Указываю прокси 10.15.1.1 (eth0) или 10.15.1.129 (eth1) или 193.x.x.x
> (ppp0) все работает.
> Redirect с порта 80 на 3128 работает (прокси 80 или 3128 работает).
> Выход в Inet обязательно должен идти через прокси провайдера и
> после него желательно через мой.
> Подскажите, как написать правило для iptables.
/etc/rc.d/rc.local
/sbin/iptables -t nat -F
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -u
REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 8080 -u
REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 8081 -u
REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 1080 -u
REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 3128 -u
REDIRECT --to-port 3128
соответственно поднимается сквид как transparent proxy
/etc/squid/squid.conf
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_host_virtual
чтобы ходило через сквид провайдера
cache_peer ***.***.***.*** parent 3128 0 default no-query no-digest
// описываем прокси провайдера
acl localsite dst 127.0.0.1/32 .....
acl localurl dstdomain localhost .....
always_direct allow localsite
always_direct allow localurl
// описываем свои местные сайты, за которым наш прокси не полезет к прокси
// провайдера, а пойдет напрямую
acl allsites src 0.0.0.0/0.0.0.0
never_direct deny localsite
never_direct deny localurl
never_direct allow allsites !localsite
// в принудительном порядке все идет через сквид провайдера
Подробная информация о списке рассылки community