iptables a modul string

l.vlcek na noel-plus.cz l.vlcek na noel-plus.cz
Pátek Červen 13 13:08:47 CEST 2008


zdravim,

nejak uz na mne pada trudnomyslnost. Nemuzu se dobrat reseni 
nasledujiciho problemu.

Pomoci iptables chci (=musim) presmerovat nektere webove pozadavky, 
ktere by radi uzivatele na jine stranky, ktere chce zase veleni.
Takze jsem si sestudoval, ze pro tyto ucely sepouziva cil DNAT. Tento 
lze umistit pouze v tabulce NAT a retezcich OUTPUT a PREROUTING.
OK, zatim dobry.
Kdyz jsem ale chtel pouzit i modul string pro filtrovani pozadovanych 
textu (stringu), tak mi to proste nechce fungovat.

Zadam-li pravidla:

    $ipt -t nat -A OUTPUT -p tcp -m string --algo bm --string 
abclinuxu.cz -j DNAT --to-destination "$LocRedir"
    $ipt -t nat -A OUTPUT -j ACCEPT

normalne se mi vlozi do tablulky nat a retezce OUTPUT (pro lokalni 
uzivatele toho stroje...)

kdyz si tyto vypisu:

Chain PREROUTING (policy ACCEPT 3 packets, 392 bytes)
num      pkts      bytes target     prot opt in     out     
source               destination        

Chain POSTROUTING (policy ACCEPT 15 packets, 917 bytes)
num      pkts      bytes target     prot opt in     out     
source               destination        

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num      pkts      bytes target     prot opt in     out     
source               destination        
1           0        0 DNAT       tcp  --  *      *       
0.0.0.0/0            0.0.0.0/0           STRING match "abclinuxu.cz" 
ALGO name bm TO 65535 to:172.16.254.241:81
2          15      917 ACCEPT     all  --  *      *       
0.0.0.0/0            0.0.0.0/0          

je videt, ze v tabulce a retezci je. Retezec je zpracovavan, soudim tak 
dle nenulovych stavu pocitadel  nasledujiciho pravidla. To je tam jen 
pro tuto kontrolu, v realu pak nebude...

Pro uplnost,
modul "string" jsem zkousel zkompilovat jak primo do jadra tak i jako 
modul. Byl-li jako modul, byl i korektne natazen, ve vypisu via lsmod 
jsem ho nasel (xt_string)...
Alespon doufam, ze je to on.

Jenze,
by melo "zabrat" i pravidlo c.1.  Do web browseru jsem totiz zadal : 
www.abclinuxu.cz ....

Asi se mi stalo, ze neco systematicky prehlizim.
Prosim, pekne, nevidi nekdo nekde chybku ??

V tabulce filter tento modul normalne funguje. Neni mi proto jasne, proc 
nechce v tabulce nat, kdyz se to teto bez problemu vlozi pravidlo, ktere 
ho obsahuje.



dekuji za nasmerovani
a
preji pekny den


L.V.
jezevec




Další informace o konferenci Linux