URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 36765
[ Назад ]

Исходное сообщение
"Помогите написать правила (iptables) для следующей ситуации"

Отправлено SAShok , 02-Ноя-03 20:46 
Помогите написать правила (iptables) для следующей ситуации:
имеется eth0 - 192.168.1.1, eth1 xxx.xxx.xxx.xxx (смотрит на провайдера)
на eth0 висит squid и pptpd
пользователь, проходя авторизацию на vpn, получает конкретный ip из диапазона 192.168.100.1-230
необходимо пускать в инет (применяя прозрачное проксирование) только людей прошедших авторизацию и получивших свой адрес из указанного выше диапазона
С ipchains у меня это получалось на ура, а вот с iptables грабли :(

Содержание

Сообщения в этом обсуждении
"Помогите написать правила (iptables) для следующей ситуации"
Отправлено Xela , 03-Ноя-03 09:29 
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



"Помогите написать правила (iptables) для следующей ситуации"
Отправлено SAShok , 03-Ноя-03 15:53 

>Касательно прозрачного проксирования смотреть на http://squid.opennet.ru

там нет про iptables :(


"Помогите написать правила (iptables) для следующей ситуации"
Отправлено Xela , 03-Ноя-03 16:07 
>там нет про 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

ну и так далее, со всеми остановками.


"Помогите написать правила (iptables) для следующей ситуации"
Отправлено SAShok , 05-Ноя-03 17:54 
Спасибо, огромное :)