Alexander Burnos wrote:

Возможно мы немного запутались, 3.3.3.3 и есть ip линка 2.
> /sbin/iptables -t nat -A PREROUTING -p tcp -d 3.3.3.3 --dport 80 -j DNAT --to-destination 1.1.1.1:10080

1.
если 3.3.3.3 есть ip линка 2, тогда это не "адрес сервера" как вы писали и его нельзя так днатить на сервере потому как 3.3.3.3 будет "src", а не "dst". Тоесть если 3.3.3.3 это адрес удаленного линка, то ваше правило просто не работает (оно и не нужно).

2.
" DNAT отслеживает этот коннекшн и переписывает src 1.1.1.1
на src 3.3.3.3. " - вы могли бы дать ссылку на документацию с таким утверждением ? (действительно очень интересно )

Вот что говорит iptables Tutorial 1.1.19 о ситуации когда вы используете dnat без snat: Клиент "путается", поскольку ответ пришел не с того узла, на который отправлялся запрос. Поэтому клиент "сбрасывает" пакет ответа и продолжает ждать "настоящий" ответ.
Проблема решается довольно просто с помощью SNAT.

3.
>> -t nat -A POSTROUTING -p tcp -d "линк 2" -j SNAT ... 3.3.3.3
>Т.е. для входящих пакетов src переписывать на src-интерфейса?

в таблице POSTROUTING входящих пакетов не бывает - только исходящие.



--
Sincerely,
        Nicholas


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить