Страница 1 из 1

вопросик по ipfw

Добавлено: 2007-10-31 9:39:42
Pauk
Почитал статью на данном сайте про ipfw.
Появился вопрос.
Правило
# разрешаем весь исходящий траффик (серверу-то в инет можно? :))
${FwCMD} add allow ip from ${LanIp} to any out xmit ${LanInt}
разрешает весь исходящий трафик, но при этом dns запросы не работают без правила
${FwCMD} add allow udp from any 53 to any via ${LanInt}
Вопрос такой: в первом правиле используется ip, а не tcp. Почему?

И еще. Не получается сделать автозагрузку правил при запуске системы. Занес правила в файл fw.rules. Сделал его исполняемым. Если запускать вручную ./fw.rules, то все работает. А вот строка
firewall_type="/root/fw.rules"
загрузку его не выполняет :(
Права на файл:
-rwxr----- 1 root wheel 1609 30 окт 12:00 fw.rules*

Re: вопросик по ipfw

Добавлено: 2007-10-31 10:09:05
kmb
Pauk
Лучше перекинь правила в папку либо /etc, либо /usr/local/etc

Re: вопросик по ipfw

Добавлено: 2007-10-31 10:10:08
Alex Keda
файрволл энабле = ес - стоит? если нет - не запустит

Re: вопросик по ipfw

Добавлено: 2007-10-31 11:37:28
dikens3
Не получается сделать автозагрузку правил при запуске системы.
rc.conf
firewall_enable="YES"
firewall_script="/root/fw.rules"
# разрешаем весь исходящий траффик (серверу-то в инет можно? :))
${FwCMD} add allow ip from ${LanIp} to any out xmit ${LanInt}
Где читал, ибо out и xmit себя дублируют.
Вопрос такой: в первом правиле используется ip, а не tcp. Почему?
Потому что интернет, это не только tcp, а ещё и UDP, ICMP и т.д. :-) (/etc/services и /etc/protocols посмотри)
И ещё, по твоей строке можно определить что и как только при выводе всего файрвола, а не одной строки.
разрешает весь исходящий трафик, но при этом dns запросы не работают без правила
${FwCMD} add allow udp from any 53 to any via ${LanInt}
Опять же, по одной строке ничего не скажешь.

Re: вопросик по ipfw

Добавлено: 2007-11-02 9:19:49
Pauk
изменил firewall_type="/root/fw.rules" на firewall_script="/root/fw.rules". Теперь при запуске системы правила грузятся. Благодарю :)
#ipfw list
00100 check-state
00200 allow ip from any to any via lo0
00300 deny ip from any to 127.0.0.0/8
00400 deny ip from 127.0.0.0/8 to any
00500 deny icmp from any to any frag
00600 allow tcp from any to any established
00700 allow ip from 172.16.0.2 to any out xmit fxp0
00800 allow udp from any 53 to any via fxp0
00900 allow tcp from any to 172.16.0.2 dst-port 21 via fxp0
01000 allow tcp from any to 172.16.0.2 dst-port 49152-65535 via fxp0
01100 allow icmp from any to any icmptypes 0,8,11
01200 allow tcp from any to 172.16.0.2 dst-port 22 via fxp0
01300 allow tcp from any to 172.16.0.2 dst-port 10000 via fxp0
01400 deny log logamount 5 ip from any to any
65535 allow ip from any to any
Читал здесь.
Кстати, xmit без out работать не может (согласно ману ipfw).
lissyara, если можно, объясните, плз, почему используется out xmit вместо via.

Вот в правиле 0700 разрешаются исходящие соединения по протоколу ip. Почему используется именно ip, а не tcp? Или он включает в себя и tcp, и udp? Если включает, то почему тогда без правила 00800 не работают dns запросы?

Re: вопросик по ipfw

Добавлено: 2007-11-02 9:21:05
Alex Keda
дык - направления пакетов разные..

Re: вопросик по ipfw

Добавлено: 2007-11-02 10:14:38
Pauk
насчет out xmit понял :) остался еще 1 вопрос ;) про ip

Re: вопросик по ipfw

Добавлено: 2007-11-02 10:55:30
schizoid
тебе сюды :)
http://ru.wikipedia.org/wiki/Сетевая_модель_OSI
не в обиду, а именно для самообразования.