BattleTank
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Проблема решена Тем, кому интересно - затычка была в том, что во всех примерах, на которые я натыкался в Инете, на каждую внутреннюю сетку была своя сетевуха, а у меня - куча алиасов на одной карточке. Очевидно, бедолага natd от этого вставал в ракообразное состояние, и не мог правильно прорюхать, какие пакеты натить, а какие - нет. Доходило до смешного. Когда я пинговался с самой фрюхи: ping -S 172.20.1.1 www.google.com - все работало. Когда я пинговался из внутренней сетки, с машины 172.20.1.2 - присходила петрушка, описанная выше. Проблема разрешилась указанием natd раздельных incoming и outgoing-портов: natd -n xl1 -o 8670 -i 8671 и в правилах ipfw: 03400 divert 8670 ip from 172.20.0.0/16 to not table(0) 03500 fwd <gateway> ip from a.b.c.d to not table(0) 03600 divert 8671 ip from not table(0) to a.b.c.d 03700 enable ip from not table(0) to 172.20.0.0/16 Последнее правило, хотя и сильно смахивает на дырку в защите - для того, чтобы пакеты типа <inet_IP> -> 172.20.0.0/16, попавшие в IPFW после НАТа, не рубились... Ничего умнее я пока не придумал... "Война окончена, всем спасибо, все свободны!.." (СС'овец в концлагере, 9 мая 1945) |