IPFW2 ve -stable a aktualizace source upgrade

Martin Horcicka horcicka at freebsd.cz
Mon Aug 5 17:00:47 CEST 2002


Roman Neuhauser (2002-08-05 13:10 +0200):

> > > > Juknete pro inspiraci sem
> > > >
> > > > http://www.freebsd-howto.com/HOWTO/Ipfw-Advanced-Supplement-HOWTO
> >
> > zacinam se v obecnosti teto diskuze trochu ztracet - nemohli bychom se
> > dostat do konkretnejsi roviny? Treba, ze by nektery odpurce IPFW
> > napsal nejaky kousek firewallu, ktery podle nej nejde udelat s IPFW
> > efektivne? Ten vynatek nahore zrejme uplne nechapu.
>
>     jde o to, ze ipfw, advanced stateful rules (keep-state/check-state)
>     a natd jdou dohromady jenom tak, ze prohodite poradi divertu a
>     ostatnich pravidel, takze kazdy paket projde dynamickymi (dynamicky
>     tvorenymi) pravidly dvakrat. ale to jen prekladam co je napsano v te
>     citaci nahore, a cele je to popsano na te url, ktera je taky v
>     tomhle mailu.
>
>     se setup / established tenhle problem neexistuje.
>
>     "The simplest and best solution to the advanced stateful rules
>     problem is to use 'user ppp -nat' for all dialup ISP environments
>     and have no divert natd rule in the ipfw rules file."

Dobra, prinutili jste me to precist. :-) Autor, mi pripada ponekud paranoidni
na nepravem miste a trochu zmateny, ale dejme tomu. Nejsem si stale jeste
uplne jisty v cem je hlavni problem, ale mam urcite tuseni - srovnejme dve
varianty:

A.

...
divert natd all from any to any via $oif
...
check-state
...
add allow ... out via $oif ... keep-state
...

Tuhle variantu pouzil autor clanku. Uvazujme ted jen prochazeni na vnejsim
rozhrani $oif - pri zpracovani paketu jdouciho smerem ven se v paketech z
vnitrni site nejdrive prelozi zdrojova adresa (divert natd) a pak se teprve
kontroluje tabulka dynamickych pravidel (check-state) a pridavaji se nova
dynamicka pravidla (add ... keep-state). Dynamicka pravidla tedy obsahuji uz
prelozenou (vnejsi) adresu. Pri zpracovani paketu jdouciho smerem dovnitr se
nejdrive prelozi cilova adresa (divert natd) a pak se prochazi tabulka
dynamickych pravidel (check-state), ovsem ten paket ma v tu chvili uz privatni
cilovou adresu, takze v te tabulce pro nej pravidlo rozhodne nebude! Autor
clanku to obchazi vytvorenim dvou dynamickych pravidel misto jednoho - tedy
jednoho s privatni adresou a druheho s verejnou adresou, coz mi pripada
prinejmensim uchylne. ;-)

B.

...
divert natd all from any to any out via $oif
...
check-state
...
add allow ... out via $oif ... keep-state
...
divert natd all from any to any in via $oif
...

Takhle nejak bych to asi delal ja - u odchozich paketu nejdriv prelozim adresu
a pak vytvarim/kontroluji dynamicka pravidla, u prichozich paketu presne
naopak. U dynamickych pravidel tedy pracuji pouze s verejnou adresou. (Slo by
to samozrejme i naopak.)

Doufam, ze jsem problem pochopil spravne a ze moc nemystifikuji, protoze JSEM
TO NEZKOUSEL, ale zda se mi to jasne.

Jak jsem uz psal, neznam moc IPF, ale myslim, ze problem "co je lepsi" je i v
pripade IPF a IPFW dost spatne rozhodnutelny. Nejcasteji to bude jen o zvyku a
osobnich sympatiich.

Martin




More information about the Users-l mailing list