IMQ+NAT
Jarek Poplawski
domat w klub.chip.pl
Wto, 20 Wrz 2005, 10:16:58 CEST
Miroslaw Dyduch wrote:
> Dnia poniedziałek, 19 września 2005 13:24, Jarek Poplawski napisał:
>
> > Miroslaw Dyduch wrote:
>
> > ..
>
> >
>
> > > Co zrobić by PREROUTING -i eth0 rozrożniał ip (serwer, lan) lub by z
>
> > > INPUT dało się przekierować do imq1. Używam kernela 2.6.12.5-0.5(cvs z
>
> > > PLD), może to wina patcha 2.6.10-imq.patch (może na 2.6.13-imq.patch to
>
> > > bedzie działać), albo braku jakieś łatki na iptables (raczej jej braku)
>
> >
>
> > Jeśli -i eth0 wychodzi do internetu, to przy domyślnym w PLD
>
> > ustawieniu CONFIG_IMQ_BEHAVIOR_AB pakiety przychodzące (iptables
>
> > -t mangle -A PREROUTING -i eth0 -j IMQ --todev 1) będą widziane w
>
> > tc filter z adresami lokalnymi (serwera, lanu), czyli po
>
> > "zdenatowaniu".
Tu małe sprostowanie: pakiety należące do serwera będą zwykle
widziane w tc filter z adresem interfejsu eth0, więc
niekoniecznie lokalnym.
>
> -i eth0 mam od strony internetu (Hooking IMQ after NAT on PREROUTING,
> Hooking IMQ before NAT on POSTROUTING) mam zgodnie z PLD czyli
> CONFIG_IMQ_BEHAVIOR_AB. Czyli powinno być widzane ip LAN i serwera na
> PREROUTING -i eth0 . Wydaje mi sie ze w imq jest ciagle domyslne
> ustwienie CONFIG_IMQ_BEHAVIOR_BA http://www.docum.org/docum.org/kptd/ a
> tylko sie zmienia wpis w logach. To co mi przychodzi jest widziane z ip
> serwera nie z ip lanu czyli wyglada to na CONFIG_IMQ_BEHAVIOR_BA.
>
> Natomiast na POSTROUTNG -o eth0 CONFIG_IMQ_BEHAVIOR_xA lub
> CONFIG_IMQ_BEHAVIOR_xB (x=a|b) bez wzgledu na ustawinia jest rozrozniane
> ip lan i serwera.
IMQ jest dość intensywnie używane przez użytkowników PLD, więc
proponuję wychodzić z założenia, że działa zgodnie z założeniami
i w pierwszej kolejności szukać błędów w swojej konfiguracji lub
podejściu do tematu.
Oczywiście lepiej jest to sprawdzać na "oficjalnych" wersjach jądra.
>
> dla przykładu
>
> Jesli zrobie routing statyczny do brata (moj_komp jest "serwerem")
>
> serwer (eth0-dsl, eth1-192.168.0.1)->moj_komp(eth0-192.168.0.3,
> eth1-192.168.1.1)->komp_brata(192.168.1.2).
Tu pewna niejasność: jeśli moj_komp jest "serwerem", to czym jest
serwer?
>
> ip r add dev eth1 192.168.1.0/24 via 192.168.0.3 (na 192.168.0.1 to wpisuje)
>
> Teraz kolejkuje na moj_komp-192.168.0.3- to wtedy jest rozrozniane ip
> moje 192.168.0.3 i lanu 192.168.1.2 na PREROUTIOING -d - wszytko wpada
> tak jak ma.
>
> Teraz dodaje iptables -t nat -A POSTROUTING -s 192.168.1.2 -j SNAT --to
> 192.168.0.3 czyli natuje i wtedy jest wszystko widzane jako 192.168.0.3
> czyli jest CONFIG_IMQ_BEHAVIOR_BA czyli jakby domyslne
>
> wydaje mi się ze problem nie tkwi w PLD tylko w imq moze trzeba usunąć
> jakis "#" z patcha do imq?? na u32 wyglda ze to działa- sprawdzałem
> (zgonie za schematem jest za natem ip/tc). Ale u32 nie ma tylu mozliwosc
> co iptables i jest malo elastyczny do moich zastosowań.
W tym sęk, że IMQ ma sens tylko w tc, a CONFIG_IMQ_BEHAVIOR w
u32 i nie ma to wpływu na widzenie adresów pakietów przez iptables.
Jarek P.
Więcej informacji o liście dyskusyjnej pld-users-pl