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
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
Ma ktoś jakieś pomysły?