В Срд, 16/07/2008 в 22:34 +0300, Покотиленко Костик пишет: > В Срд, 16/07/2008 в 22:35 +0400, -=Devil_InSide=- пишет: > > ,------[Artem Chuprina, Wed, 16 Jul 2008 20:19:38 +0400] > > |sergio -> [email protected] @ 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 для локально сделанных).
Вдогонку, кроме этого факта других различий между REDIRECT и DNAT нет. REDIRECT также срабатывает только для первого пакета (как и любое правило в таблице nat), остальные пакеты туда и обратно обрабатываются автоматически системой conntrack. DNAT - более полная версия REDIRECT. REDIRECT - проще, т.к. не надо явно указывать адрес, и есть возможность контролировать источник - транзит попадает на адрес входящего интерфейса, локальный на lo (для DNAT тут одним правилом не обойдёшься). -- Покотиленко Костик <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

