LINUX.ORG.RU
ФорумAdmin

iptables, перенаправить входящий и исходящий трафик

 , ,


0

1

Всем привет! Прошу помочь разобраться с iptables.

С iptables только познакомился по этому может чего не так делаю.

Задача такая на сервере несколько сетевых интерфесов и соответственно несколько ip адресов которые могут быть как в разных подсетях, так и в одной. Предположим есть 2 сетевых интерфейса и на них 2 ip адреса 10.10.10.1 и 10.10.10.2 Есть локальное приложение которое формирует трафик на определенный хост (10.10.10.3). Возможности указать приложению в явном виде с какого адреса формировать запросы и соответственно принимать нет.

Хотелось с помощью iptables перенаправлять трафик через нужный мне адрес.

Написал пару правил:

iptables -t nat -A POSTROUTING -s 10.10.10.2 -d 10.10.10.3 -j SNAT –to-source 10.10.10.1

и

iptables -t nat -A PREROUTING -s 10.10.10.3 -d 10.10.10.1 -j DNAT –to-destination 10.10.10.2

На сколько я понимаю эти правила должны делать:

POSTROUTING - если пакет исходящий с 10.10.10.2 на 10.10.10.3 , то подменить адрес отправки на 10.10.10.1

PREROUTING - если пакет входящий от 10.10.10.3 на 10.10.10.1 , то подменить адрес приема на 10.10.10.2

Пингую с 10.10.10.2 на 10.10.10.3

При этом мониторю трафик с помощью iftop , исходящий идет от 10.10.10.2 на 10.10.10.1 локально и дальше на 10.10.10.3 удаленно, обратно же идет с 10.10.10.3 на 10.10.10.1 удаленно, но на 10.10.10.2 локально не уходит. Т.е. пинг на 10.10.10.3 уходит, а обратно на 10.10.10.2 не возвращается, тормозит на 10.10.10.1. В чем может быть причина??