ฉันกำลังมองหาวิธีส่งต่อทราฟฟิกขาออกบนที่อยู่ IPv4 แยกต่างหากสำหรับไคลเอนต์ต่างๆ ที่เชื่อมต่อผ่านอุโมงค์ VPN เดียวกัน เบื้องหลัง NAT
ตอนนี้ฉันกำลังส่งต่อพอร์ต 44158 จากที่อยู่ IPv4 สาธารณะหลายแห่งบนเซิร์ฟเวอร์ VPS X ไปยังไคลเอนต์หลายเครื่องที่เชื่อมต่อผ่านการเชื่อมต่อ VPN เดียว - จากเราเตอร์ที่อยู่เบื้องหลัง NAT พอร์ตอินพุต 44158 บนที่อยู่ IPv4 สาธารณะที่ได้รับไม่สามารถเปลี่ยนแปลงได้ และไคลเอ็นต์ที่อยู่หลังเราเตอร์จะได้รับข้อมูลบนพอร์ตที่ถูกต้อง 44158 เนื่องจากเราเตอร์ได้รับการตั้งค่าให้ส่งต่อไปยังพอร์ตที่ถูกต้องสำหรับไคลเอ็นต์แต่ละรายที่ปลายทาง
สิ่งนี้ทำได้ดังนี้:
iptables -t nat -A PREROUTING -d 103.143.72.84 -p tcp --dport 44158 -j DNAT --to-destination 192.168.52.2:44158
iptables -t nat -A PREROUTING -d 103.143.72.25 -p tcp --dport 44158 -j DNAT --to-destination 192.168.52.2:44159
iptables -t nat -A โพสต์ -s 192.168.52.0/24 -j MASQUERADE
ที่ไหน 192.168.0.2
คือเราเตอร์ที่ปลายทางซึ่งส่งต่อแพ็กเก็ตไปยัง NAT ภายในไปยังไคลเอนต์จาก 44158
ถึง 192.168.0.12:44158
และจาก 44159
ถึง 192.168.0.13:44158
.
สิ่งที่ฉันพยายามทำให้สำเร็จคือการทำให้ทราฟฟิกขาออกทั้งหมดจาก 192.168.0.12 ออกไปจนถึง 103.143.72.84 และทราฟฟิกขาออกทั้งหมดจาก 192.168.0.13 ออกไปจนถึง 103.143.72.25
มีวิธีการทำเช่นนี้กับ iptables
บนเซิร์ฟเวอร์ VPS X ?
ฉันมีการตั้งค่าฮาร์ดแวร์นี้ซึ่งไม่สามารถเปลี่ยนแปลงได้ ไคลเอ็นต์ A (192.168.0.12) & B (192.168.0.13) เชื่อมต่อกับเราเตอร์ N บน LAN และอยู่บนเครือข่าย NAT 192.168.0.0/24 เราเตอร์ N เชื่อมต่อผ่าน VPN ไปยังเซิร์ฟเวอร์ VPS X และได้รับ IP 192.168.52.2 Server X มีที่อยู่สาธารณะ IPv4 หลายที่อยู่ (103.143.72.84 และ 103.143.72.25)
และฉันต้องการกำหนด IP ไคลเอ็นต์แต่ละรายการเป็น IP สาธารณะขาออกแยกต่างหากบนเซิร์ฟเวอร์ X
- IP ที่ใช้มีวัตถุประสงค์เพื่อเป็นตัวอย่าง;
- เพื่อความเรียบง่ายฉันเก็บตัวอย่างกับลูกค้าสองราย แต่มีวิธีที่เกี่ยวข้องมากกว่านี้