Помогите написать правила (iptables) для следующей ситуации:
имеется eth0 - 192.168.1.1, eth1 xxx.xxx.xxx.xxx (смотрит на провайдера)
на eth0 висит squid и pptpd
пользователь, проходя авторизацию на vpn, получает конкретный ip из диапазона 192.168.100.1-230
необходимо пускать в инет (применяя прозрачное проксирование) только людей прошедших авторизацию и получивших свой адрес из указанного выше диапазона
С ipchains у меня это получалось на ура, а вот с iptables грабли :(
iptables -t nat -I POSTROUTING 1 -s 192.168.100.0/24 -j SNAT --to-source prov_ip_addr
iptables -I FORWARD 1 -s 192.168.100.0/24 -j ACCEPT
iptables -I FORWARD 2 -d 192.168.100.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPTЭто касательно пускания в инет. Без проксирования.
Касательно прозрачного проксирования смотреть на http://squid.opennet.ru
>Касательно прозрачного проксирования смотреть на http://squid.opennet.ruтам нет про iptables :(
>там нет про iptables :(
А переписать правила с ipchains на iptables сложно?Было:
Во-первых, вам нужно разрешить прохождение пакетов, направленных к вашему веб-серверу. Причем надо указать как интерфейс loopback, так и сетевой интерфейс. Вам нужно это сделать даже в том случае, если у вас нет собственного веб-сервера, т.к. отсутствие этих правил приведет бесконечному зацикливанию пакетов, если прокси попытается соединиться с самим собой. Используйте следующие команды:ipchains -A input -p TCP -d 127.0.0.1/32 www -j ACCEPT
ipchains -A input -p TCP -d 192.168.1.1/32 www -j ACCEPT
А это заклинание включает прозрачный прокси:
ipchains -A input -p TCP -d any/0 www -j REDIRECT 3128
Стало:
iptables -A INPUT -p tcp --dport 80 -d 127.0.0.1/32 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -d 192.168.1.1/32 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -d 0/0 -j REDIRECT --to-port 3128Или же
http://www.opennet.me/base/net/transparent_proxy.txt.html
http://www.opennet.me/docs/RUS/iptables/index.htmlну и так далее, со всеми остановками.
Спасибо, огромное :)