День добрый, уважаемый muff ! И всем кто сюда заглянет!
Возник следующий вопрос - фаерволл и ядерный нат настроен, всё работает. Конфиг вышел следующий:
#!/bin/sh
ipfw -f flush
cmd="/sbin/ipfw add"
host="82.207.116.2"
pif="ng0"
#Allow localnet
$cmd allow all from any to any via nfe0
$cmd check-state
$cmd allow ip from any to any via lo0
$cmd deny ip from any to 127.0.0.0/8
$cmd deny ip from 127.0.0.0/8 to any
#Bruteblock
$cmd deny ip from me to table\(50\)
$cmd deny ip from table\(50\) to me
###Стучимся напрямую к серверу
#mail
$cmd allow all from any to $host 25
#RDP(проброс redir), ssh
$cmd allow all from any to $host 45000,22
#ICMP
ipfw add allow icmp from any to me icmptypes 3,8,12 in recv $pif
#Прозрачный прокси
$cmd fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80 via ng0
#Конфиг ната
ipfw nat 1 config log ip $host same_ports deny_in redirect_port tcp 192.168.0.153:40001 40001
$cmd nat 1 ip from any to any via ng0
$cmd deny ip from any to any
При таком раскладе всё работает, со входящими соединениями на шлюз тоже всё ок, т.к. стоит параметр deny_in в конфиге ната, который рубит неинициированные изнутри соединения. НО получается из локали всем доступны все сервисы инета, включая те же торренты(пусть только на закачку), что есть не очень гут... Во всех мануалах, что есть в инете, представлен именно такой случай.
Подскажите, как правильно допилить конфиг до состояния "Запрещено всё, что не разрешено"? Т.е. разрешить всем к примеру icmp,dns - запросы; ICQ, Skype, ftp, google play и естественно http и https через прозрачный прокси. Остальное прикрыть.