LINUX.ORG.RU
решено ФорумAdmin

Вопрос. REDIRECT на другой порт в IPTABLES, кроме одного ip адреса назначения.


0

1

Доброго времени суток.

В iptables работает такое правило:

iptables -t nat -A PREROUTING -s 10.0.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3127

Для перенаправления трафика на прокси сервер. Возможно ли сделать исключение для одного адреса назначения? Что бы пакеты к одному внешнему адресу шли в обход прокси сервера? Если да, то как это можно реализовать?


iptables -t nat -A PREROUTING ! -d x.x.x.x -s 10.0.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3127

если хочется со списком исключений, то через ipset

vel ★★★★★
()

а вот решение с ipset, если нужно:

-A PREROUTING -p tcp -m tcp --dport 80 -m set --match-set bypass_proxy_src src -j ACCEPT
-A PREROUTING -p tcp -m tcp --dport 80 -m set --match-set bypass_proxy_dst dst -j ACCEPT
-A PREROUTING -s 172.16.83.0/24 -i eth0.83 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

ipset create bypass_proxy_src hash:ip
ipset add bypass_proxy_src 172.16.83.251
ipset add bypass_proxy_src 172.16.83.252
ipset add bypass_proxy_src 172.16.83.254

ipset create bypass_proxy_dst hash:ip
ipset add bypass_proxy_dst xxx.xxx.xxx.xxx
ipset add bypass_proxy_dst yyy.yyy.yyy.yyy
ipset add bypass_proxy_dst zzz.zzz.zzz.zzz
BOOBLIK ★★★
()

А еще можно вставить правило для исключения перед правилом редиректа (заменив 10.x.x.x на нужный адрес):

iptables -t nat -A PREROUTING -s 10.x.x.x -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -s 10.0.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3127
Можно таким образом добавить исключения для нескольких адресов.

ddos3
()
Ответ на: комментарий от ddos3

Перепутал, там же конечный адрес меняется. Должно быть:

iptables -t nat -A PREROUTING -s 10.0.0.0/16 -d x.x.x.x -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -s 10.0.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3127

ddos3
()
Ответ на: комментарий от vxzvxz

Разрешающее правило вполне допустимо использовать в таблице nat в качестве «терминатора»(чтоб дальше не парсилась таблица)

Pinkbyte ★★★★★
()
Ответ на: комментарий от vel

Всем большое спасибо, что откликнулись. Использовал правило по примеру vel. Всё работает как по часам.

Zuser
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.