Всем привет, создаю отдельную тему по мотивам моей предыдущей темы. Вот с чего начинается мой stateful IPFW скрипт закрытого типа:
#!/bin/sh
fwcmd="/sbin/ipfw -q"
oif="re0"
iif="re1"
lan="192.168.10.0/24"
# Localhost
${fwcmd} add allow all from any to any via lo0
# Check for dynamic rules
${fwcmd} add check-state
# Drop established tcp sessions
${fwcmd} add deny tcp from any to any established
И вот некоторые правила:
${fwcmd} add allow tcp from ${lan} to me 587,993 in via ${iif} setup keep-state
${fwcmd} add allow tcp from ${lan} to me 3128 in via ${iif} setup keep-state
Непонятки заключаются в том что если посмотреть на кол-во срабатываний конкретных правил по ipfw show, то с огромным отрывом преобладает правило 00300 и дропается весьма приличное кол-во нужных пакетов, если включить логгирование.
00100 112949 259970808 allow ip from any to any via lo0
00200 0 0 check-state
00300 4461606 1649862458 deny tcp from any to any established
02200 58889 54243602 allow tcp from 192.168.10.0/24 to me dst-port 587,993 in via re1 setup keep-state
03600 15410 757296 allow tcp from 192.168.10.0/24 to me dst-port 3128 in via re1 setup keep-state
Подскажите пожалуйста, а то у меня уже соображалки не хватает совсем.
Со squid(правило 03600) вообще какая то странная жопа. Даже если разрешать established пакеты(то бишь пакеты перестают дропаться в обе стороны), то все равно продолжается та хрень из моей предыдущей темы пока не убрать к чертям keep-state и setup и явно не прописать трафик в обе стороны. Либо оставить setup, но разрешить established.