[linux] netfilter

Oskar Stolc Oskar.Stolc na intrak.sk
Středa Červenec 30 11:51:09 CEST 2003


On Wed, Jul 30, 2003 at 08:56:53AM +0200, Mato wrote:
> Dobry den,
> 
> nie som si isty, ci som spravne pochopil funkciu 'netfilter' (ipv4),
> preto sa obraciam na Vas, akiste skusenejsich:
> Ak chcem umoznit stroju, ktory robi filtrovanie paketov aj NAT, aby on
> sam mohol komunikovat so zvyskom siete (DNS cache), tak podla X-krat
> mnou odskusaneho musia byt povolene pravidla pre prislusne spojenia a
> protokoly v tabulke filter na INPUT, OUTPUT (co sedi podla howt-to a
> ineho), ale cuduj sa svete, aj v tabulke nat a to dokonca aj v
> POSTROUTING a v OUTPUT.

Do POSTROUTINGu sa dostanu
  - aj pakety vzniknute lokalne na pocitaci
  - aj pakety, ktore boli prijate routerom ale neboli urcene pre router,
    ale do inej podsiete, ktore je router schopny presmerovat.

Ak som dobre pochopil, na tvojom smerovaci bezi kesovaci DNS server a
poskytujes vnutornej lokalnej sieti DNS sluzbu. Potom je to dobre, musis
mat aj pravidlo v INPUT a OUTPUT chaine, aby si vedel odpovedat klientom
z lokalnej siete.

Dalsie pravidlo do POSTROUTINGu je zbytocne, jedine ze by si zadal zle
pravidlo na maskaradu (myslel si pod NAT maskaradu, pravda?)

Skus sa pozriet na maskaradovacie pravidlo, na mojom routeri ho mam
takyto:

$IPTABLES -t nat -A POSTROUTING -s $LOC_IP_RANGE -o $INET_IFACE -j MASQUERADE

kde: IPTABLES=/sbin/iptables, LOC_IP_RANGE=192.168.1.0 (moja lokalna
siet) a INET_IFACE=eth0 (vonkajsie sietove zariadenie, ktore ma verejnu
IP adresu)

cize: maskaradujem LEN to, co pochadza z lokalky (ma IP adresu lokalnej
siete) a odchadza internetovym interfejsom...

> Podla schemy netfilter pre lokalnu komunikaciu servera nie su
> pouzivane pravidla pre tabulku filter FORWARD, pre tabulku nat
> PREROUTING, POSTROUTING. nat OUTPUT je 'vraj' spolocna s tabulkou
> filter OUTPUT.

ak som pre zmenu ja spravne pochopil netfilter, tak to funguje nejak
takto:

     +------------+     ----------    +---------+     +-------------+
 >---| PREROUTING |--->(smerovanie)-->| FORWARD |---->| POSTROUTING |--->
     +------------+     ----------    +---------+  ^  +-------------+
                            |                      |
			    v                      |
			+-------+              +--------+
			| INPUT |              | OUTPUT |
			+-------+              +--------+
			    |                      ^
			    v     --------         |
			    -----( proces )--------+
			          --------

> Otazka: skutocne je to tak, alebo je mozne pre povolenie in a out
> komunikacie pre server nastavit filtrovanie tak, aby sa nepouzivala
> tabulka nat?

zalezi od pravidla v PREROUTINGu a POSTROUTINGu. Posli svoj POSTROUTING,
zrejme tam bude pes zakopany...

> 
>                        Dakujem.

Oskar




Další informace o konferenci linux