ฉันต้องการเปลี่ยนเส้นทางการรับส่งข้อมูลขาเข้าทั้งหมดบนอินเทอร์เฟซใหม่ ens4f0
เป็นที่อยู่ IP 192.168.50.10 แต่ Wireshark แสดงว่าที่อยู่ IP ปลายทางบนแพ็กเก็ตขาเข้าไม่เปลี่ยนแปลง นี่เป็นพฤติกรรมที่คาดหวังหรือไม่ ฉันคิดว่า PREROUTING เข้ามาก่อนสิ่งอื่นใด?
ของฉัน iptables
คำสั่งคือ:
# iptables -t nat -A PREROUTING -i ens4f0 -j DNAT --to 192.168.50.10
# iptables -t แนท -vL
เชน PREROUTING (นโยบายยอมรับแพ็กเก็ต 24618, 1923K ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
0 0 DNAT ทั้งหมด -- ens4f0 ที่ใดก็ได้ ที่ใดก็ได้ ถึง:192.168.50.8
0 0 DNAT ทั้งหมด -- ens4f0 ที่ใดก็ได้ ที่ใดก็ได้ ถึง:192.168.50.10
0 0 DNAT ทั้งหมด -- ens4f0 ที่ใดก็ได้ ที่ใดก็ได้ ถึง:192.168.50.10
ฉันรู้ว่าแพ็กเก็ตขาเข้ามาจาก 192.168.50.8 ดังนั้นฉันจึงลอง:
# iptables -t nat -A PREROUTING -i ens4f0 -j DNAT -s 192.168.50.8/32 --to 192.168.50.10
# iptables -t แนท -L
ห่วงโซ่ PREROUTING (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
DNAT ทั้งหมด -- ทุกที่ ไปที่: 192.168.50.8
DNAT ทั้งหมด -- ทุกที่ ไปที่: 192.168.50.10
DNAT ทั้งหมด -- ทุกที่ ไปที่: 192.168.50.10
DNAT ทั้งหมด -- 192.168.50.8 ที่ใดก็ได้ถึง:192.168.50.10