>Если нетрудно, напишите чайнику, в каком порядке должны идти правила?
>
>У меня скорее всего критинизм:) Не думаю, что до этого дошло. :-)
Просто надо внимательно читать man'ы и форумы.
Что касается правил в ipfw, то это Вы должны определить сами, в зависимости от
поставленных задач. Нет заранее определенного порядка правил.
Другое дело, Вы должны понимать идеологию работы ipfw.
Если кратко про идеологию:
1. IP пакет приходящий на любой интерфейс , в том числе и lo0 , тестируется
последовательно всеми правилами ipfw , пока не получится совпадение.
2. При совпадении с IP пакетом делается то, что написано в правиле совпадения
(pass, deny, divert и т.д.)
3. Если пакет транзитом следует на другой интерфейс (по таблице роутинга),
чтобы покинуть роутер, то такой IP пакет должен пройти еще раз сначала все правила ipfw,
как исходящий пакет. Соответственно, повторяется п.2.
4. Если пакет не транзитный для роутера, то с учетом п.2 идет его обработка стеком
TCP/IP роутера.
5. Если пакет "рождается" в роутере и следует на исходящий интерфейс, в соответствии с
таблицей роутинга, то такой IP пакет должен пройти сначала все правила ipfw,
как исходящий пакет. Соответственно, повторяется п.2.
Более подробно, только в man .
Рисуйте "черный ящик" - роутер с интерфейсами для наглядности представления.
Вот например, с тремя интерфейсами ed0,ed1,lo0 .
И смотрите, какие и как IP пакеты Вам необходимо транслировать.
I---------I
ed0 I I ed1
<->I I<->
I I
I I->-I
I I I lo0
I I-<-I
I---------I
Пишите правила ipfw, если надо включаете log на отдельные правила.
Смотрите ipfw show
ipfw -d show
Включаете tcpdump -n -i интерфейс и смотрите все ли
правильно бегает. netstat -rn
ifconfig -au
Удачи.
Если совсем не вмоготу , ipfw -d sh в студию.
Тестировать не буду, но подскажу, где возможно ошибка.