Хотелось бы поблагодарить вас за достаточно внятное описание задачи.
>P.S просто я всегда думал, что если сеть находится за NAT-ом то
>в нее попасть НЕВОЗМОЖНО :( , а практика показала, что можно.
Собственно НАТ это не гарантирует. Более того, это совершенно разумно. Это собственно следует из названия технологии, она делает только то, как называется. Ее придумали для экономии IP адресов (или более эффективного использования) и ни в коем случае не для защиты. Более того, его использование в ряде случаев приносит дополнительные проблемы. Некая "защита" является лишь побочным эффектом, основанным на использовании "левых" немаршрутизируемых адресов. Что и как было задумано вы можете почитать в соответствующем документе RFC (http://www.ietf.org/rfc/rfc1631.txt?number=1631). То поведение, которое вы желаете видеть, реализуется в качестве дополнительной функции, которая своим существованием обязана лишь простоте для ее реализации именно здесь. Если бы оно было железно вбито в natd, то это бы значительно сократило гибкость и сферу использования НАТ. Часто именно нужно, чтобы сеть за натом была доступна. К этому же случаю относится тот пример, который вы привели в цитате ниже.
>P.S Тут нашел в мане natd опцию -d, все вроде ОК, но только нельзя >соедениться ни с одним портом на шлюзе :(. Но возможно мне поможет выйти >из этой ситуации опция riderect . Буду на днях проверять :).
Вот эта опция вероятно и организует то, что вы хотели. И именно в том у нее минус, что соединиться со шлюзом будет нельзя, т.к. у приходящих пакетов нет записи в таблице трансляции. Это применимо только тогда, когда данная машина (и все находящееся за NAT) является ИСКЛЮЧИТЕЛЬНО клиентом, т.е. не предоставляет свои ресурсы внешней сети, не принимает соединения извне. В этом случае к схеме эффективно приделывается костыль в виде опции deny_incoming, для реализации задачи посредством информации, содержащейся в таблице трансляции.
Мой совет - не занимайтесь ерундой, ваше желание использовать redirect основано именно на ложном стереотипе, что НАТ защищает сеть. Не надо на него возлагать таких задач, он для этого не предназначен. Если вы хотите ограничить доступ извне (из сети 192.168.0.0/30) - используйте firewall, он именно для этого и предназначен.
>БОЛЬШОЕ СПАСИБО за предложение в помощи с настройкой IPFW, но я
>надеюсь, что сам справлюсь :), ведь, как я понимаю, там просто нужно
>запретить для сети, находящийся за NAT, вхождение пакетов с флагом SYN,
Не стоит так трактовать задачу. Если вам уж так дороги флаги, используйте их только для того чтобы разрешать, а не запрещать, и то с оглядкой. Тем более в примере с ICMP ping, который вы привели, таких флагов нет, ровно как и во многих других случаях.
>ниже 1024.
Ровно как и это магическое число
>natd_interface="rl1"
>...
>natd.conf
>interface rl0
Небольшая неувязочка