Re: iptables: REDIRECT and DNAT
В Срд, 16/07/2008 в 22:35 +0400, -=Devil_InSide=- пишет:
> ,------[Artem Chuprina, Wed, 16 Jul 2008 20:19:38 +0400]
> |sergio -> debian-russian@lists.debian.org @ Wed, 16 Jul 2008 18:46:02 +0400:
> |
> | s> Всем привет.
> |
> | s> В чём разнница между
> | s> REDIRECT и DNAT без ip?
> |
> | s> Это абсолютно одно и то же? Зачем тогда было делать REDIRECT?
> | s> Или есть разница?
> |
> |Разумеется. Если ты DNAT не указываешь адрес, он его не меняет. А
> |REDIRECT - меняет.
> |
> |Кроме того, в мане на DNAT написано, что изменение распространяется на
> |все дальнейшие пакеты данного соединения (включая обратные, чего там не
> |написано), и что на этом прохождение правил прекращается. У REDIRECT
> |ничего такого не написано. Подробнее же я с REDIRECT не работал, и для
> |чего он вообще нужен, не знаю. Возможно, реализация REDIRECT
> |эффективнее, чем DNAT, за счет того, что не надо гонять пакеты дальше в
> |сеть.
> |
>
> `-----------------
> из мана и туториала вынес впечатление, что dnat - прокидка соединения куда либо, redirect же - заворачивание соединения на другой порт, но на тот же интерфейс, на который оно приходит.
>
> ===
> REDIRECT
> <skipped> It redirects the packet to the machine itself by changing the destination IP to the primary address of the incoming interface (locally-generated packets are mapped to the 127.0.0.1 address). <skipped>
>
> ===
> DNAT
> <skipped> It specifies that the destination address of the packet should be modified (and all future packets in this connection will also be mangled), and rules should cease being examined. <skipped>
REDIRECT перенаправляет локально сделанные и транзитные соединения на
локальную машину, поэтому адрес в параметрах отсутствует, он всегда
равен адресу входящего интерфейса (127.0.0.1 для локально сделанных).
--
Покотиленко Костик <casper@meteor.dp.ua>
Reply to: