[BSD] FreeBSD vs PF

Gergely Göndör bigblock78 at gmail.com
2008. Ápr. 21., H, 15:24:28 CEST


Sziasztok!

Valszeg nagyon láma kérdés, de elakadtam. FreeBSD 7.0 alatt szeretnék
áttérni ipf-ről az OpenBSD féle pfctl használatára, de nem igazán
sikerül. Az RTFM-en már túl vagyok, de nem jutottam előrébb...

Azt szeretném elérni, hogy a nat-olt kapcsolaton kifele menő forgalmat
szűrni tudjam mint korábban is. Mivel minden gépnek saját egyedi
szabályai vannak.

A gondom viszont az, hogy egyszerűen nem sikerül ezeket alkalmazni.

Itt egy rövid példa:

ext_if="ng0"
int_if="fxp0"
int_net="192.168.1.0/24"

scrub in all fragment reassemble
nat on $ext_if from $int_net to any -> ($ext_if)

block on $ext_if all
pass out on $ext_if from !192.168.1.0/24 to any

A gond az, hogy a block  rule megfog mindent, és nem megy tovább. Pedig
azt olvastam a manualban, ha nincs quick beállítva, akkor tovább lép a
következő szabályra mivel az utolsó nyer. Nos, ezt nem teszi.

Ha így alakítom:

pass out quick on $ext_if from !192.168.1.0/24 to any
block on $ext_if all

Akkor meg az a gond, hogy az összes gép el tud érni rajta keresztül
bármit, pedig elméletileg itt csak a routernek (BSD) lenne szabad.

Ami még gondom, hogy hiába készítek ruleokat egyenként a gépeknek,
azokon is átlép.

pass out quick on $ext_if from 192.168.1.1 to any

Ezt hiába adom meg, nem foglalkozik vele. Olyan, mintha az ext_if-en már
a natolás után vizsgálná a csomagokat, tehát igazán nem tud vele mit
kezdeni.

Azért nem értem ezt, mert ezek a szabályok teljesen jól működtek és
működnek is az ipf-ben (is). A NET-en amiket találtam beállításokat ott
is mindenhol így állították be nagyjából, de nekem így vagy mindent
enged, vagy semmit (beleértve magát a szervert is).

A kérdésem az lenne, hogy mit csinálok rosszul ?

Előre is köszi!

Üdv,

Gergő




További információk a(z) BSD levelezőlistáról