Имеем сервер на Linux. Стоит биллинг. Клиентам по dhcpd раздаются 192.168.1.0/24 через eth1. В интернет смотрит eth0 192.168.61.2. Стоит pptpd. VPN клиентам отдается 192.168.240.0/20. (клиенты из сети 192.168.1.0 подключаются по vpn). В интернет могут ходить только .240.0. Поставил на этом же сервере Squid. Хочу "прозрачный" прокси сделать. Естессно он должет быть доступен только .240.0., а то .1.0. через него полезут. Вот сижу и не могу понять куда же его в правилах iptables прописать... Но чтобы запросы (ответы) еще через цепочку billing проходили... Вот iptables-save: Помогите... Мозги кипят... *nat :PREROUTING ACCEPT [15144:1243553] :POSTROUTING ACCEPT [290:75380] :OUTPUT ACCEPT [290:75380] -A POSTROUTING -s 192.168.240.0/255.255.240.0 -o eth0 -j SNAT --to-source 192.168.61.2 COMMIT *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] :admin-allow - [0:0] :bad-packets - [0:0] :billing - [0:0] :icmp-flood - [0:0] :syn-flood - [0:0] -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j syn-flood -A INPUT -p icmp -j icmp-flood -A INPUT -j bad-packets -A INPUT -i lo -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 1723 -j ACCEPT -A INPUT -s 192.168.1.0/255.255.255.0 -p 47 -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j admin-allow -A INPUT -j DROP -A FORWARD -j bad-packets -A FORWARD -d 192.168.240.0/255.255.240.0 -m state --state INVALID,NEW -j DROP -A FORWARD -s 192.168.240.0/255.255.240.0 -d 1.1.1.0/255.255.255.0 -j ACCEPT -A FORWARD -s 1.1.1.0/255.255.255.0 -d 192.168.240.0/255.255.240.0 -j ACCEPT -A FORWARD -s 192.168.240.0/255.255.240.0 -j ULOG --ulog-cprange 48 -A FORWARD -d 192.168.240.0/255.255.240.0 -j ULOG --ulog-cprange 48 -A FORWARD -j billing -A OUTPUT -o lo -j ACCEPT -A OUTPUT -j ACCEPT -A admin-allow -s 192.168.1.0/255.255.255.0 -j ACCEPT -A admin-allow -j DROP -A bad-packets -p tcp -m tcp --dport 135 -j DROP -A bad-packets -m state --state INVALID -j DROP -A bad-packets -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP -A bad-packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset Вырезан кусок отлова плохих пакетов в таблицу bad-packets -A bad-packets -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP -A bad-packets -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP -A billing -s 192.168.240.6 -j ACCEPT Это автоматом прописались -A billing -d 192.168.240.6 -j ACCEPT подключенные клиенты -A icmp-flood -p icmp -m icmp --icmp-type 8 -m limit --limit 10/sec --limit-burst 25 -j RETURN Так же вырезано, что нам не нужно. Таблица icmp-flood -A icmp-flood -j DROP -A syn-flood -m limit --limit 3/sec --limit-burst 25 -j RETURN -A syn-flood -j DROP COMMIT
Код: iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.240.0/255.255.240.0 -j REDIRECT --to-ports 3128 либо вместо 3128 впиши номер порта, на котором твоя прокся болтается. НО: если у тебя на проксе авторизация используеся, то при розрачном просировании она не будет работать. ЗЫ: А что у тебя за биллинг-то?