[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: