ip-tables

Доброго дня суток.
Ситуация такая ... 2 шлюза в интернет. Первый -- это ppp0, второй -- eth3 c метрикой 5. На данный момент весь трафик ходит через ppp0. На машине поднято 2 сквида, первый листит порт -- 8080, второй -- 8090. Как мне настроить правила ip-tables в NAT так что бы с определенного адреса машина выходила через первый сквид (порт 8080) и через шлюз ppp0, а другие адреса через второй сквид (порт 8090) и через шлюз на eth3.

http://www.yandex.ru/yandsear

может поможет

# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to proxyhost:3128
# iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to proxyhost:3128

вобщем думаю можно так

сначала завести в сквидах аксесс-листы, в которых перечислить разрешенные хосты. например для 8080 диапазон с 1 по 100, а для 8090 - 101-254
затем в тех же конфигах можно вставить параметр tcp_outgoing_address с указанием адреса, только если в ppp0 выдется динамический адрес то непрокатит (но можно написать скриптик который выдерет адрес из ifconfig'а и с помощью sed вставит его в конфиг, и перезапустит сквид. и воткнуть его в init-скрипт сквида).
а на клиентских тачках в настройках указывать прокси номера сквидовых портов. Если лень ходить и прописывать то можно в iptables написать следующее:
n="1"
m="101"
SQUID1="YES"
SQUID2="YES"
if [SQUID1 = YES ] then
while [ $n -ne 100 ] #типа первый диапазон адресов от 1 до 100
do
$IPTABLES -A INPUT -s 192.168.4.$n -p tcp --dport 80 -J REDIRECT --to-ports 8080
n=`expr $n + 1`
done
fi
if [SQUID2 = YES ] then
while [ $m -ne 254 ] #типа второй диапазон адресов от 101 до 254
do
$IPTABLES -A INPUT -s 192.168.4.$m -p tcp --dport 80 -J REDIRECT --to-ports 8090
m=`expr $m + 1`
done
fi

В какое место скрипта это впихнуть, решать тебе)))

все таки

все таки наверное что то я не допонимаю. В сквидах есть указания через какой интерфейс/шлюз хадить в интернет? а то используется в любом случае шлюз с меньше метрикой ...

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".