iptables

Grzegorz Sójka pld w sojka.co
Wto, 28 Paź 2014, 10:53:12 CET


On 10/27/14 23:51, Adam Osuchowski wrote:
> Chyba nie bardzo rozumiem jak to masz zrobione. Wszystko przychodzące na
> dport 997 markujesz, a potem routujesz na podstawie tabeli tunel, tak?
> No to jeżeli w niej masz default na host A to co się dziwisz, że tamtędy
> to idzie?
Opis może rzeczywiście nie najlepszy więc może od początku. Tym razem 
żeby się nie mieszało zacznę od rozwiązania które _nie_ działam (i 
chciał bym je poprawić).
Przypominam 2 host (A i B) adresy zewnętrzne ExtA, ExtB oraz tunel 
szyfrowany pomiędzy nimi o adresach IntA, IntB. Celem jest 
przekierowanie ruchu wchodzącego na host A, ExtA:997 na host B, IntB:997 
tudzież tego co wychodzi z IntB:997 tak, żeby przeszło przez host A i 
zostało "zamaskowane" jako ExtA:997. Na hoście A skonfigurowany NAT 
(poprawnie czego dowodzi działający przykład). Na hoście B zrobiłem tak:
iptables -A PREROUTING -t mangle -p tcp --dport 997 -j MARK --set-mark 1
i analogicznie dla OUTPUT, POSTROUTING, INPUT
ip route add default via $IntA table tunel
ip rule add fwmark 1 table tunel
To _nie_ działa (bladego pojęcia nie mam dla czego). Tzn pakiety 
wchodzące z zewnątrz na ExtA:997 zostają przekierowane na IntB ("widać" 
je na drugim końcu tunelu) ale powrotne już nie. Wygląda to tak jak by 
na hoście B i tak wszystko było routowane zgodnie z tabelą main. W 
związku z tym w akcie desperacji na hoście B _zamiast_ tego co wyżej 
zrobiłem tak:
ip route add default via $IntA table tunel
ip rule add from $IntB table tunel
i teraz działa - aż za dobrze. To co wchodzi z zewnątrz na ExtA:997 
rzeczywiście przekierowane jest na IntB:997 (włącznie z pakietami 
powrotnymi). Tyle, że ruch generowany przez IntB z portów różnych od 997 
też idzie najpierw przez tunel a potem jest maskowany przez ExtA i 
wychodzi na zewnątrz (co jest oczywiście bez sensu).
Generalnie "działające" rozwiązanie to jedynie jedynie obejście problemu 
a nie prawdziwe rozwiązanie i przytoczyłem je żeby było wiadomo, że na 
hoście A jest ok. Moim celem jest poprawienie niedziałającego rozwiązania.

-- 
Pozdrawiam
Grzesiek

Wysłane z kompa wolnego od wirusów Billa Gatesa.


Więcej informacji o liście pld-users-pl