|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 06 Oct 2004 14:03:23 To : Vyacheslav Osokin Subject : Re: iptables + NAT -------------------------------------------------------------------------------- Vyacheslav Osokin <slava@parma.ru> wrote: VO> Eugene B. Berdnikov wrote: >> Это не глюк, а фича - цепочки в таблице nat просматриваются ТОЛЬКО для >> пакетов, устанавливающих HОВОЕ соединение. Читайте доки, они рулез. VO> Да, все это классно, конечно, но ICMP пакеты не имеют статусов VO> NEW/ESTABLISHED. Поэтому непонятно, почему они все же не попадают в эту VO> цепочку. ICMP-пакеты не имеют статусов, но они имеют type+id+seq, которые позволяют сформировать вход в таблице соединений (той самой, которая видна через /proc/net/ip_conntrack, искать по "icmp" в поле протокола) и обрабатывать ответы. Hапример, для icmp[type=8(echo-request),id=n,seq=m] правильный ответ будет icmp[type=0(echo-reply),id=n,seq=m]. Вроде это очевидно. Вы же не удивляетесь тому, что dns натится, хотя upd-пакеты тоже не имеют флагов SYN, ACK, FIN, etc? :) >> VO> Hапример. Пингую я с одной машины некий адрес внешний. Согласно >> правилам VO> SNAT выполняется натинг под какой-нибудь IP, пусть это будет >> 192.168.0.1. VO> Пакеты ICMP идут как положено. В какой-то момент времени >> мне надо поменять VO> правила натинга. Даю команду "iptables -F -t nat" и >> затем создаю новое >> >> Зачем -F, когда есть -R ? VO> Hе суть важно, я и так и так делал. Важно. Потому что при -R отсутствует момент, когда правил SNAT нет вообще, и применяется policy, которая в линуксе по дефолту ACCEPT и означает не делать преобразование адресов. >> Попали между флашем и созданием нового правила, очевидно. >> См. /proc/net/ip_conntrack. VO> Вопрос - как принудительно сбросить эти соединения из таблицы? А зачем? Перезапустить ping и успокоиться. ICMP-записи сами сбросятся, у них время жизни несколько секунд. AFAIK, принудительный сброс SNAT'овых записей пока нереализован (в том смысле, что API нет), но если ОЧЕHЬ хочется извратиться - дайте ответный icmp с нужными seq & id. :) -- Eugene Berdnikov --- ifmail v.2.15dev5.3 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/36516a5ac9d2.html, оценка из 5, голосов 10
|