[Sysadmins] прозрачный прокси и несколько локальных подсеток

Dank Bagryantsev =?iso-8859-1?q?4alt_=CE=C1_mail=2Eru?=
Пн Июл 10 13:55:25 MSD 2006


Здравствуйте, Anton.

Вы писали понедельник 10 июля 2006 г., 12:13:04:

AG> Появилось желание поднять прозрачный прокси..Точнее он уже есть на 
AG> тестовом сервере и даже работает.. Но встала 1 задача - добиться чтоб на
AG> несколько локальных подсеток трафик ходил мимо прокси.
AG> На сколько я понимаю в правиле для iptables нельзя несколько -d указать.
AG> Что здесь можно придумать?

AG> # iptables -t NAT -A PREROUTING -d ! адрес_самого_сервера \
AG>         -i внутренний_сетевой_интерфейс -p tcp -m tcp --dport 80 \
AG> -j REDIRECT --to-ports 3128

2 варианта:
1. Через ACCEPT:
$IPTABLES -t nat -A PREROUTING -p tcp -i внутренний_сетевой_интерфейс -d 192.168.1.0/24 --dport 80 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -i внутренний_сетевой_интерфейс -d 192.168.2.0/24 --dport 80 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -i внутренний_сетевой_интерфейс -d адрес_самого_сервера --dport 80 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -i внутренний_сетевой_интерфейс --dport 80 -j REDIRECT --to-ports 3128

2. Через mark:
$IPTABLES -t mangle -A PREROUTING -i внутренний_сетевой_интерфейс -d 192.168.1.0/24 -j MARK --set-mark 100
$IPTABLES -t mangle -A PREROUTING -i внутренний_сетевой_интерфейс -d 192.168.2.0/24 -j MARK --set-mark 100
$IPTABLES -t mangle -A PREROUTING -i внутренний_сетевой_интерфейс -d адрес_самого_сервера -j MARK --set-mark 100

$IPTABLES -t nat -A PREROUTING -m mark --mark ! 100 -p tcp --dport 80 -j REDIRECT --to-ports 3128
или
$IPTABLES -t nat -A PREROUTING -m mark --mark 100 -p tcp --dport 80 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128


естественно, еще:
IPTABLES="/sbin/iptables"
$IPTABLES -t nat -A OUTPUT -p tcp --dport 80 -j ACCEPT


-- 
С уважением,
 Dank




Подробная информация о списке рассылки Sysadmins