Так и не могу понять в чем же дело. Перечитал всю тему. У людей были проблемы с входящими соединениями, но как описано в доп. материалах к статье terminus'a решались они путем выключения rxcsum и tso. У меня были глюки с веб сервером - картинки на сайте прогружались не до конца. Выключил tso сервер отпустило 

  Но на входящие соединения это ни как не повлияло. Пока не включу машину за сервером - сервер не принимает ничего! Причем машину потом можно выключить  и все будет работать. До определенного момента.
Вот параметры адаптеров:
внутренний:
Код: Выделить всё
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
внешний:
Код: Выделить всё
alc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c3098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
lo0: 
Код: Выделить всё
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
Ядро пересобрано с такими опциями:
Код: Выделить всё
options		IPFIREWALL
options		IPFIREWALL_VERBOSE
options		IPFIREWALL_VERBOSE_LIMIT=1000
options		IPFIREWALL_NAT
options		LIBALIAS
options		ROUTETABLES=2
options		DUMMYNET
options		HZ="1000"	
 
Правила ipfw:
Код: Выделить всё
#!/bin/sh
# Вводим переменные:
FwCMD="/sbin/ipfw"               # Расположение бинарника IPFW
LanOUT="alc0"                  # Внешний интерфейс
LanIN="re0"                  # Внутренний интерфейс
IpOUT="80.80.80.80"               # Внешний IP адрес
IpIN="192.168.1.1"               # Внутренний IP адрес
NetIN="192.168.1.0"               # Внетренняя сеть
FullUSER="192.168.1.2/32,192.168.1.3/32,192.168.1.4/32,192.168.1.5/32,192.168.1.6/32"      # IP адреса с доступом в интернет
# Сбрасываем все правила
${FwCMD} -f flush
# Очищаем таблицы с блокируемыми адресами
${FwCMD} -f "table 1" flush
${FwCMD} -f "table 2" flush
# Разрешаем весь трафик по внутреннему интерфейсу (петле)
${FwCMD} add allow ip from any to any via lo0
# Запрещаем lo0 куда то лезть и откуда то лезть
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
# Запрещаем таблицу с ip адресами с которых неправильно ввели логин или пароль по SSH. BruteBlock для SSH
${FwCMD} add deny ip from "table(1)" to any in recv ${LanOUT}
# Запрещаем таблицу с ip адресами с которых неправильно ввели логин или пароль к vsftpd
${FwCMD} add deny ip from "table(2)" to any in recv ${LanOUT}
# Разрешаем некоторые типы ICMP запросов (эхо-запрос, эхо-ответ, время жизни пакета истекло)
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
# Разрешаем все исходящие/входящие соединения FullUser'ам через внутренний интерфейс
# zapreshaem vsem ostalnim vozmozhnost' ispolzovat etot router
${FwCMD} add allow all from ${FullUSER} to any in recv ${LanIN}
${FwCMD} add allow all from any to ${FullUSER} out xmit ${LanIN}
${FwCMD} add deny all from ${NetIN} to any via ${LanIN}
# Запрещаем частные сети на внешнем интерфейсе
${FwCMD} add deny ip from any to 10.0.0.0 in recv ${LanOUT}
${FwCMD} add deny ip from 10.0.0.0/8 to any in recv ${LanOUT}
${FwCMD} add deny ip from any to 172.16.0.0/12 in recv ${LanOUT}
${FwCMD} add deny ip from 172.16.0.0/12 to any in recv ${LanOUT}
${FwCMD} add deny ip from any to 192.168.0.0/16 in recv ${LanOUT}
${FwCMD} add deny ip from 192.168.0.0/16 to any in recv ${LanOUT}
${FwCMD} add deny ip from any to 169.254.0.0/16 in recv ${LanOUT}
${FwCMD} add deny ip from 169.254.0.0/16 to any in recv ${LanOUT}
# Запрещаем широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny log icmp from any to 255.255.255.255 in recv ${LanOUT}
${FwCMD} add deny log icmp from any to 255.255.255.255 out xmit ${LanOUT}
# NAT встроенный в ядро системы
${FwCMD} nat 1 config log if ${LanOUT} reset same_ports deny_in redirect_port tcp ${IpOUT}:22 22 redirect_port tcp ${IpOUT}:21 21 redirect_port tcp ${IpOUT}:50000-50500 50000-50500 redirect_port tcp ${IpOUT}:80 80
${FwCMD} add nat 1 ip from any to any via ${LanOUT}
ipfw show (правила составлены по наводке 

  автора статьи):
Код: Выделить всё
00100   1784    184134 allow ip from any to any via lo0
00200      0         0 deny ip from any to 127.0.0.0/8
00300      0         0 deny ip from 127.0.0.0/8 to any
00400      0         0 deny ip from table(1) to any in recv alc0
00500      0         0 deny ip from table(2) to any in recv alc0
00600      0         0 deny ip from table(3) to any dst-port 80 in recv alc0
00700    294     18092 allow icmp from any to any icmptypes 0,8,11
00800 225402  13071496 allow ip from 192.168.1.2,192.168.1.3,192.168.1.4,192.168.1.5,192.168.1.6 to any in recv re0
00900 482227 706049343 allow ip from any to 192.168.1.2,192.168.1.3,192.168.1.4,192.168.1.5,192.168.1.6 out xmit re0
01000      0         0 deny ip from 192.168.1.0 to any via re0
01100     31      1712 deny ip from any to any dst-port 139,445 in recv alc0
01200      0         0 deny ip from any to 10.0.0.0 in recv alc0
01300 198278  19158881 deny ip from 10.0.0.0/8 to any in recv alc0
01400      0         0 deny ip from any to 172.16.0.0/12 in recv alc0
01500      0         0 deny ip from 172.16.0.0/12 to any in recv alc0
01600    199     32138 deny ip from any to 192.168.0.0/16 in recv alc0
01700    345    198472 deny ip from 192.168.0.0/16 to any in recv alc0
01800    810     69875 deny ip from any to 169.254.0.0/16 in recv alc0
01900      0         0 deny ip from 169.254.0.0/16 to any in recv alc0
02000      0         0 deny log logamount 1000 icmp from any to 255.255.255.255 in recv alc0
02100      0         0 deny log logamount 1000 icmp from any to 255.255.255.255 out xmit alc0
02200 892966 842252492 nat 1 ip from any to any via alc0
65535    392     49192 deny ip from any to any
Не работает как с параметром deny_in так и без него. Все вроде делаю по статье, и глюки тоже учтены.
У кого нибудь есть идеи? Прошу помочь по возможности...