Port przekazywania IPTables do innego portu IP: ale zachowuje oryginalne źródło IP

0

Mam następujące reguły iptables na maszynie bramy (192.168.0.1). Chcę przekazać port 192.168.0.1:80 do 192.168.0.2:8080. Ale muszę zachować oryginalny źródłowy adres IP, aby oryginalny serwer mógł uzyskać klienta IP. Mam następujące zasady, ale to zmienia źródło IP klienta.

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:8080
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.2 --dport 8080 -j SNAT --to-source 192.168.0.1

Czy w tym scenariuszu są jakieś inne zasady?

Rajdip Patel
źródło

Odpowiedzi:

0

Spróbuj usunąć drugą linię, która zawiera regułę SNAT. Ta zasada nie jest potrzebna.

Ile masz kart sieciowych? Czy dwie maszyny 192.168.0.2 i 192.168.0.1 znajdują się w tej samej sieci? Jeśli tak jest, jaka trasa byłaby używana przez maszynę 192.168.0.2 do przekazywania pakietów, które otrzymuje na swoim porcie tcp 8080? Jak rozplanowałby ten pakiet?

Peter Stpme
źródło
Usunięcie drugiej reguły będzie działać tylko dla żądań pochodzących z sieci zewnętrznej. Ale żądania z tej samej sieci nie działają, dopóki nie dodam drugiej reguły.
Rajdip Patel
Tylko maszyna bramowa ma dwie karty sieciowe. Serwer internetowy jest bezpośrednio połączony z bramą.
Rajdip Patel