Читал man ipfw и различные доки, и теперь в голове имею кашу... Немогу уяснить простой вроде бы вещи, а именно:есть сервер с 2-мя или более интерфейсами, в разных сетях (как то интернет, ЛВС1, ЛВС2 и тп)... Чтобы не пущщать никого снаружи, мы ставим файрволл. Чтобы не пущать изнутри наружу, кроме как WEB-mail-ICQ или еще чего, мы тоже юзаем файрволл. Чтобы наши N-машин в ЛВС с fake-адресами ходили наружу, мы юзаем трансляцию адресов (natd, ipnat - неважно).
Так вот, собственно, что происходит с пакетами, когда они приходят на интерфейсы:
1. если снаружи - проверка в файрволе, если левый пакет - дропаем и пишем в лог. Все ясно.
2. если изнутри наружу, то либо дропаем (нечего лазить где-попало), либо, если это HTTP/HTTPS - то заворачиваем в прокси и наружу. Соот-но, запоминаем обратный путь пакета (stateful firewall?)
3. если пакет из ЛВС1 в ЛВС2 - то тут нужно иметь, во-первых, соот-ющее правило в firewall, и во-вторых, маршрутизировать, ретранслировать или nat-ить этот пакет ??? Вот тут не совсем ясно.
4. и если нужно завернуть снаружи траффик на внутренний web-сервер, то тут опять таки нужно соответствующее правило firewall и еще какой-то механизм nat? или просто forward?
исамое главное, что отрабатывает первым - файрволл с неизмененным еще ip-адресом или правило nat, изменяющее ip-адрес? И если nat поменял ip-адрес, то пакет этот отправляется на тот интерфейс, который соответствует адресу назначения, или проверяется firewall снова???
Буду благодарен за любый ответы, можно "на пальцах", или за ссылки... Хендбук, man и opennet читаю.