|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Lev Serebryakov 2:5030/661.1 11 Jan 2005 22:50:48 To : All Subject : ipfw stateful, natd & льваливающеся соединения -------------------------------------------------------------------------------- Раз у меня на раутере пятерка, написал statful-файрволл. Фактически, это творчески переработанный вариант simple-конфига, с замененный established на check-state. И в резлуьтате TCP-соединения, проходящите через nat, отваливаются очень быстро. Hапример, после коннекта аськи появляются два таких динамических правила: 07020 198 101415 (286s) STATE tcp 192.168.134.2 3192 <-> 64.12.26.96 5190 07020 64 6661 (6s) STATE tcp 81.222.218.172 3192 <-> 64.12.26.96 5190 192.168.134.2 -- это мой десктоп, где запущена аська. 81.222.218.172 -- это внешний IP роутера/NAT'а. И все, как только счетчик на втором правиле дотикивает до нуля, аська умирает. Хотя первое соединение вполне живет. И как видно максимум траффика пропускается через него. Все таймауты по-умолчанию, то есть на установившееся соединение должно бы вставать 300 секунд. А нифига -- почему-то соединение видно как два и вторая его часть так с точки зрения файровлла и не становится установившейся! Куда копать? Вот кусок файрволл, относящийся к теме. /* nat */ add 3000 divert natd all from any to any via EXTERNAL_IFACE /* Check all registered stateful rules */ add 5010 check-state /* All established TCP without stateful rule -> /dev/null */ add 5020 deny tcp from any to any established /* Allow IP fragments? */ add 5030 allow all from any to any frag /* All other services from big world is disabled */ add 7010 deny log tcp from any to any in via EXTERNAL_IFACE setup /* Allow all connections from all internal ifaces (internal network) and our IP */ add 7020 allow tcp from any to any setup keep-state Или как лучше это переписать? Вообще, мне что-то не нравится идеея совмещать setup с keep-state, но как правильно? Более того, в man ipfw написано примерно тоже самое, только с использованием сетей, а не интерфейсов: ipfw add check-state ipfw add allow tcp from my-subnet to any setup keep-stat ipfw add deny tcp from any to any Hо это явно не рассчитано на сочетание с nat'ом. // Lev --- GoldED+/W32 1.1.4.7 * Origin: Cave of Black Lion (2:5030/661.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/328441e423a0.html, оценка из 5, голосов 10
|