Routing iptables

Masz problemy z siecią bądź internetem? Zapytaj tu
stko
Posty: 1
Rejestracja: 11 grudnia 2013, 23:09

Routing iptables

Post autor: stko »

Witam, mam taki oto problem:

Na linuxie mam 2 interfejsy sieciowe:
  • usb1 - 198.48.34.11, maska 255.255.0.0
  • eth0 - 10.0.0.2, maska 255.255.255.0
Na interfejs usb przychodzą mi pakiety UDP z hosta: 198.48.18.17, maska 255.255.0.0 i muszę je przekierować do hosta o adresie IP: 10.0.0.1 - dostępny przez interfejs eth0.

Muszę dodatkowo na Linuksie podmienić adres źródłowy pakietu ze 198.48.18.17 na 10.0.0.20.

Co tu wymaga podkreślenia to to, że pakiety z hosta 198.48.18.17 są adresowane na interfejs usb1 a nie na 10.0.0.1 i teraz mam taki problem, że w ogóle mi interfejs usb1 nie wykonuje reguł dla PREROUTING I POSTROUTING - nie mam zielonego pojęcia dlaczego.
Używa takich samych reguł, dla eth0 i to mi działa.

Czy może trzeba coś najpierw ustawić/włączyć, żeby reguły odnośnie łańcuchów PREROUTING I POSTROUTING były wykonywane?
Teraz pakiety po prostu dochodzą na INPUT usb1 i na tym się ich droga kończy, czyli widać, że nie podmienia się adres docelowy w PREROUTING'u.

ofc jedynymi regułami w iptables są:

Kod: Zaznacz cały

iptables -t nat PREROUTING -i usb1 -p udp -s 198.48.18.17 -d 198.48.34.11 -j DNAT 10.0.0.1
iptables -t nat POSTROUTING -o eth0 -p udp -s 198.48.18.17 -d 10.0.0.1 -j SNAT 10.0.0.20
I teraz robiąc coś odwrotnego - pinguje z 10.0.0.2 eth0 i na nim przekierowuje pakiet na 198.48.18.17 i to mi działa, bo w tcpdump-ie widzę pakiety ICMP na usb1 odbierane i handlowane dalej do 198.48.18.17.

Ma ktoś jakieś pomysły?
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

A włączyłeś przekazywanie pakietów ip_forward ?
ODPOWIEDZ