Здравствуй, Tema.
Saturday, April 3, 2004, 3:35:22 AM, you wrote:
SR>> oif="ppp0"
SR>> ${fwcmd} add pass all from ${net}:${mask} to any xmit ${oif}
SR>> ${fwcmd} add pass all from any to ${net}:${mask} recv ${oif}
TZ> смысла не вижу. ppp0 - и так defaultroute, зачем еще и via ставить?
как я уже сказал имхо дело в том, что входящий на внутреннем интерфейсе
пакет, на внешнем уже есть исходящий.
Т.е. например правила
${fwcmd} add pass all from any to ${net}:${mask} in
${fwcmd} add pass all from ${net}:${mask} to any out
допустим из сети кто то устанавливает соединение вовне,
это пакет имеет адреса
from ${net}:${mask} to any
но на внутреннем интерфуйсе это _входящий_ пакет, а для
такого набора адресов есть только правло помеченное как _out_,
т.е. только для исходящих адресов. Т.е. (если я правильно представляю
себе логику работы ipfw) пакет фильтруется _дважды_ при входе
и при выходе. Поэтому и надо задать конкретный интерфейс.
С уважением, Сергей Репалов.
ЗЫ: В man ipfw есть такая диаграмка
^ to upper layers V
| |
+----------->-----------+
^ V
[ip_input] [ip_output] net.inet.ip.fw.enable=1
| |
^ V
[ether_demux] [ether_output_frame] net.link.ether.ipfw=1
| |
+-->--[bdg_forward]-->--+ net.link.ether.bridge_ipfw=1
^ V
| to devices |
судя по ней, я понимаю логику правильно, т.к. маррутизация
(стрелочка -------->) находится над ip_output и ip_input
фильтрами. Так что фильтрация действительно происходит дважды.
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.bsd.all-list@subscribe.ru
Отписаться: mailto:comp.soft.bsd.all--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru