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