FreeBSD 5.1
написал список правил для ipfw используя динамические, в результате не проходят ping и поптки подключения к pop3, smtp
подскажите где копать/что изменитьправила:
#!/bin/bash
fw="ipfw -q"
sysctl net.inet.ip.fw.autoinc_step=10 >/dev/null
sysctl net.inet.ip.fw.one_pass=0 >/dev/nulliif=tun0
lif=xl0
loif=lo0iip=80.80.xx.xx
lip=192.168.0.100
loip=127.0.0.1
unsafe_ports=1024-65535
ati=192.168.0.100/30inet=80.80.xx.xx/32
lnet=192.168.0.0/16
lonet=127.0.0.0/8# clearing
$fw flush#set counters
$fw add 10 count all from any to any in via $iif
$fw add 20 count all from any to any out via $iif
$fw add 30 count all from any to any via $loif
$fw add 40 count all from any to any via $lif
$fw add 50 count all from any to any via rl0
#end counters$fw add 100 deny all from any to any via rl0
$fw add check-state
$fw add deny icmp from any to any in icmptype 5,9,13,14,15,16,17
$fw add pass icmp from any to any keep-state
$fw add reject ip from $lnet to any in via $iif$fw add allow ip from any to any via lo0
$fw add allow icmp from any to any
$fw add allow udp from me to any domain keep-state
$fw add allow udp from any to me domain
$fw add allow ip from $lnet to me keep-state
$fw add allow ip from me to $lnet keep-state
$fw add allow tcp from me to any http,https,pop3,$unsafe_ports keep-state
$fw add allow tcp from any to me http,https,pop3,ssh,smtp keep-state$fw add divert natd all from any to any via $iif
$fw add divert natd tcp from any to $iip via $iif
$fw add divert natd icmp from any to any via $iif
А попробуй статические айпи.
Вот так у меня настроено.
Использован rc.fire.#!/bin/sh
/sbin/ipwf -f flush
/sbin/ipwf add deny log tcp from бла.бла.бла.бла to me это закрытие от определенного айпи-адреса из вне. (вместо бла.бла.бла.бла поставить айпи )
то же самое с udp пакетом.
/sbin/ipwf add deny log udp from бла.бла.бла.бла to me
/sbin/ipwf add deny log tcp from any 445 to me это закрытие от портов (445 это порт).Думаю этот способ легче, чем записывать динамику. Точно так же можно закрыть или открыть любые айпи, и порты как в локальной так и в глобальной сети.
Если разрешать выход наружу локальному айпи то нужно прописать следующие строчки.
/sbin/ipwf add allow log tcp from бла.бла.бла.бла to any 80 via rl0 (via rl0 - это наименование сетевой карты. Абстрактное, то есть интерфейс через который разрешено ходить айпиадресу (xl0. и т.д.) )
/sbin/ipwf add allow log tcp from any 80 to бла.бла.бла.бла via rl0
у меня есть наборы правил без динамики но мне не удалось найти закономерности: в наборе с статикой пописаны разрешения на коннект из вне(ssh), но из вне никак. если с динамико то ok.
Проблема вот в чем, при статике из локальной сети пускает на внешние машины. а с динамикой нет. хотя наборы отличаются присутствием динамики ии ее отсутствием...
извиняюсь за сумбурность в ответе...
>у меня есть наборы правил без динамики но мне не удалось найти
>закономерности: в наборе с статикой пописаны разрешения на коннект из вне(ssh),
> но из вне никак. если с динамико то ok.
>Проблема вот в чем, при статике из локальной сети пускает на внешние
>машины. а с динамикой нет. хотя наборы отличаются присутствием динамики ии
>ее отсутствием...
>извиняюсь за сумбурность в ответе...
hi
ты пропустил одну штуку: checkstate и keepstate работают только с сокетами (т.е. там где есть соединение), так что правило
$fw add pass icmp from any to any keep-state лишено смысла, т.к. icmp посылает просто пакеты$fw add divert natd tcp from any to $iip via $iif
$fw add divert natd icmp from any to any via $iif
тоже нужно убрать, хватает allи с локалки у тебя во внешний мир все закрыто, только к твоей фряхе доступ есть
как я понимаю, по дефолту у тебя deny стоит?
$fw add divert natd icmp from any to any via $iif
без нее icmp не ходит через шлюз.
> $fw add 100 deny all from any to any via rl0
вот эта строчка гасит пакеты, заккоментируй ее и попробуй, должно заработать. кстати, перед flush флаг -f поставь, ipfw вопросов задавать не будет
>> $fw add 100 deny all from any to any via rl0
>вот эта строчка гасит пакеты, заккоментируй ее и попробуй, должно заработать. кстати,
>перед flush флаг -f поставь, ipfw вопросов задавать не будет
через этот интерфейс pppoe на ISP так-что тут все нормально.
и еще, нат нада раньше разрешающих правил указывать
>и еще, нат нада раньше разрешающих правил указыватьсейчас и займусь этим. проверим.
>и еще, нат нада раньше разрешающих правил указывать
check-state тоже?