3 дня читал доки и копался в форуме... Что-то сотворил, но кажется, что все-таки в чем-то сглюканул. Подскажите что не так:
Имеем внешнюю сетку (от провайдера)111.111.111.112/29
Внешний интерфейс fxp0, ip 111.111.111.114
Внутренняя сеть 192.168.1.0/24
Внутренний интерфейс rl0, ip 192.168.1.1
Задача - пустить машины из локалки в Инет (только ftp, http, mail, ping). Защитить сеть с помощью ipfw.
Решение: поднял nat, router, gateway. Настроил правила (на примере одной внутренней машины 192.168.1.10):
00050 divert 8668 ip from any to any via fxp0
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00210 deny ip from 127.0.0.0/8 to any
00400 allow udp from any to any 33434-33523
00800 deny icmp from any to any frag
00810 allow icmp from any to any
01010 allow ip from any to any via fxp0
01020 allow tcp from 192.168.1.10 to any
01030 allow tcp from any to 192.168.1.10 established
01040 allow tcp from any to 192.168.1.1 20,21,25,80,110
65535 deny ip from any to any
Работает раз через раз и как-то криво. Научите неразумного. Вызывают сомнения - правила 50 (может его в середину сунуть надо?), 1010, 1020...