เปลี่ยนเส้นทางร้องขอไปยัง IP / พอร์ตภายนอกของฉันไปยัง IP / พอร์ตภายนอกอื่นหรือไม่


14

เป็นไปได้หรือไม่ที่จะเปลี่ยนเส้นทางการเชื่อมต่อไปยัง IP / พอร์ตเฉพาะไปยัง IP / พอร์ตภายนอก

ตัวอย่าง:

  • เซิร์ฟเวอร์ A มี IP ภายนอก xxx.xxx.xxx.xxx
  • เซิร์ฟเวอร์ B มี IP ภายนอก yyy.yyy.yyy.yyy
  • ผู้ใช้ส่งคำขอไปยังเซิร์ฟเวอร์ A บนพอร์ต 2106 ฉันต้องการเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์ B ที่พอร์ต 2106

2
คุณสามารถทำอย่างละเอียด? เครื่อง "A" เป็นเกตเวย์ multihomed หรือไม่ ถ้าใช่สามารถใช้ iptables ได้ ตัวอย่าง: iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2106 -j DNAT - เพื่อ yyyy: 2106 iptables -A INPUT -p tcp -m รัฐ - รัฐใหม่ --dd 2106 -i eth1 - j ACCEPT
คนโง่เขลา

@ คนโง่เขลาขอบคุณฉันได้แก้ไขไปแล้วและโพสต์ด้านล่างสิ่งที่ฉันทำ
Prix

คำตอบ:


22

แก้ไขปัญหา:

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport port -j DNAT --to-destination ip:port
iptables -t nat -A POSTROUTING -j MASQUERADE

ที่ ip และพอร์ตเป็นเซิร์ฟเวอร์เป้าหมายฉันต้องการเปลี่ยนเส้นทางเซิร์ฟเวอร์ปัจจุบันไปที่


สิ่งนี้ไม่ได้ผลสำหรับฉัน โดยเฉพาะบรรทัดสุดท้ายที่ทำให้การรับส่งข้อมูลทั้งหมดจากเครื่องของฉันไปยังตัวเองดูเหมือนจะมาจากภายนอกและปัญหาที่คล้ายกัน
singpolyma

@Prix จะไม่เปลี่ยนเส้นทางการรับส่งข้อมูลทั้งหมดไปยังพอร์ตที่ระบุ (2106) ไปยัง yyy.yyy.yyy.yyy: พอร์ตหรือไม่ ถ้าฉันต้องการเปลี่ยนเส้นทางการเข้าชมที่ไปที่ xxx.xxx.xxx.xxx:port เท่านั้น
Jezor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.