สำหรับกรณีนี้ คอนแทรคNAT ของก็เพียงพอที่จะแก้ไข แท็ก และจัดการการรับส่งข้อมูลตอบกลับอย่างถูกต้องสำหรับการเชื่อมต่อ เราสามารถใช้ทั้ง DNAT และ SNAT และรวมการใช้งานเข้าด้วยกันหรือใช้ DNAT ผสมกันและเส้นทางที่เพียงพอ
ดีเอ็นเอท
เป้าหมายนี้ใช้ได้เฉพาะในตาราง nat ใน การเตรียมการ
และ
เอาต์พุต
เชนและเชนที่ผู้ใช้กำหนดซึ่งเรียกจากเท่านั้น
โซ่เหล่านั้น เป็นการระบุว่าที่อยู่ปลายทางของแพ็กเก็ต
ควรแก้ไข (และแพ็กเก็ตในอนาคตทั้งหมดในการเชื่อมต่อนี้จะ
เละเทะด้วย)และกฎควรยุติการตรวจสอบ [...]
สแนท
เป้าหมายนี้ใช้ได้เฉพาะในตาราง nat ใน โพสต์
และ
ป้อนข้อมูล
เชนและเชนที่ผู้ใช้กำหนดซึ่งเรียกจากสิ่งเหล่านั้นเท่านั้น
ห่วงโซ่. ก็ระบุไว้ว่า ที่อยู่ต้นทางของแพ็กเก็ตควรเป็น
แก้ไข (และแพ็กเก็ตในอนาคตทั้งหมดในการเชื่อมต่อนี้จะเป็น
แหลกเหลว)และกฎควรยุติการตรวจสอบ [...]
iptables -t nat -A OUTPUT -d 192.168.1.11 -j DNAT --to-ปลายทาง 192.168.1.10
iptables -t nat -A OUTPUT -d 192.168.1.12 -j DNAT --to-ปลายทาง 192.168.1.10
iptables -t nat -A OUTPUT -d 192.168.1.13 -j DNAT --to-ปลายทาง 192.168.1.10
iptables -t nat -A OUTPUT -d 192.168.1.14 -j DNAT --to-ปลายทาง 192.168.1.10
ตั้งค่าที่อยู่แหล่งที่มาเพิ่มเติมบนไคลเอนต์:
ที่อยู่ IP เพิ่ม 192.168.1.21/24 dev enp2s0
ที่อยู่ IP เพิ่ม 192.168.1.22/24 dev enp2s0
ที่อยู่ IP เพิ่ม 192.168.1.23/24 dev enp2s0
ที่อยู่ IP เพิ่ม 192.168.1.24/24 dev enp2s0
และผูกการดำเนินการ SNAT อย่างมีเงื่อนไขกับ อักษรย่อ ที่อยู่ปลายทาง (ก่อนทำ DNAT) โดยใช้ตัวกรองที่เพียงพอกับ iptables' คอนแทรค
จับคู่:
iptables -t nat -A POSTROUTING -m conntrack --ctorigdst 192.168.1.11 -j SNAT --to-source 192.168.1.21
iptables -t nat -A POSTROUTING -m conntrack --ctorigdst 192.168.1.12 -j SNAT --to-source 192.168.1.22
iptables -t nat -A POSTROUTING -m conntrack --ctorigdst 192.168.1.13 -j SNAT --to-source 192.168.1.23
iptables -t nat -A POSTROUTING -m conntrack --ctorigdst 192.168.1.14 -j SNAT --to-source 192.168.1.24
หรือแทนที่จะใช้ SNAT ซึ่งสะอาดกว่ามาก ให้ใช้เส้นทางที่บอกใบ้ที่อยู่ต้นทางโดยตรงสำหรับปลายทางแต่ละแห่ง (แม้ว่า nat/OUTPUT จะเปลี่ยนเส้นทาง ที่อยู่ต้นทางจะไม่เปลี่ยนแปลงอีกต่อไปเมื่อตั้งค่าแล้ว) ซึ่งจะทำให้ลูกค้าและ ss -tn พอร์ต == 48898
เพื่อทราบและแสดงที่อยู่ต้นทางที่ถูกต้องสิ่งนี้จะกลายเป็น:
เส้นทาง ip เพิ่ม 192.168.1.11/32 dev enp2s0 src 192.168.1.21
เส้นทาง ip เพิ่ม 192.168.1.12/32 dev enp2s0 src 192.168.1.22
เส้นทาง ip เพิ่ม 192.168.1.13/32 dev enp2s0 src 192.168.1.23
เส้นทาง ip เพิ่ม 192.168.1.14/32 dev enp2s0 src 192.168.1.24
จะต้องทำเช่นนี้: ทีละที่อยู่ (DNAT สามารถทำให้ง่ายขึ้น / แยกตัวประกอบ แต่ไม่ใช่ส่วนที่สองที่เกี่ยวข้องกับแหล่งที่มา)
การเชื่อมต่อกับของจริง 192.168.1.10
ที่อยู่ไม่เปลี่ยนแปลง