อินเทอร์เน็ต -- พร็อกซี (tunnel0) -- อินเทอร์เน็ต -- (tunnel0) เซิร์ฟเวอร์ (eth0) -- อินเทอร์เน็ต
เส้นทางเริ่มต้นของเซิร์ฟเวอร์คือ eth0
พร็อกซีส่งต่อการรับส่งข้อมูล UDP (พอร์ต 6300) ไปยังเซิร์ฟเวอร์อย่างถูกต้อง แต่เซิร์ฟเวอร์ตอบกลับเป็น eth0 ฉันต้องการเซิร์ฟเวอร์เพื่อตอบกลับบนอินเทอร์เฟซดั้งเดิม
ตอนนี้เซิร์ฟเวอร์ไม่มี iptables ฉันต้องกำหนด iptables เพื่อให้เซิร์ฟเวอร์ตอบกลับการรับส่งข้อมูลแบบเดียวกับที่มาจาก การรับส่งข้อมูลที่ผ่านอุโมงค์ 0 ควรตอบกลับผ่านอุโมงค์ 0
เซิร์ฟเวอร์เป็น Ubuntu 18.04 พร็อกซีมีความโปร่งใส ดังนั้น IP ต้นทางจึงถูกรักษาไว้ (ไม่มี NAT)
iptables ของพร็อกซี
(อุโมงค์เซิร์ฟเวอร์0 IP: 10.0.0.1)
iptables -t nat -A PREROUTING -p udp -i eth0 --dport 6300 -j DNAT --to-destination 10.0.0.1:6300
tcpdump บนพร็อกซี tunnel0 แสดงทราฟฟิกอินเทอร์เน็ตไปยัง UDP/6300 ที่กำลังไปในทันเนล
tcpdump บนเซิร์ฟเวอร์ tunnel0 แสดงทราฟฟิกอินเทอร์เน็ตไปยัง UDP/6300 ที่เข้ามา
tcpdump บนเซิร์ฟเวอร์แสดงทราฟฟิกการตอบสนองจาก eth0/UDP/6300 ไปยังไคลเอนต์ดั้งเดิม
ตัวชี้ใด ๆ ที่ชื่นชมอย่างมาก
โปรดทราบว่าปัญหาไม่ได้อยู่ที่ทราฟฟิก TCP การรับส่งข้อมูล TCP กลับมาเหมือนเดิมโดยไม่มีปัญหาและไม่มีการกำหนดค่าเพิ่มเติม