โฮสต์ระบบปฏิบัติการ: Ubuntu 16.06 LTS
ฉันมีเซิร์ฟเวอร์ของฉันฟังพอร์ต 1233 ฉันต้องเปลี่ยนเส้นทางการรับส่งข้อมูล TCP และ UDP ทั้งหมดไปยังพอร์ต 1233 ยกเว้นพอร์ต SSH ฉันเปลี่ยนเส้นทางพอร์ตทั้งหมดของฉันเป็น 1233 สำเร็จด้วยกฎ IPTable ต่อไปนี้
*filter
:INPUT ACCEPT [89:12442]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [114:10536]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [2:64]
:INPUT ACCEPT [2:261]
:OUTPUT ACCEPT [8:524]
:POSTROUTING ACCEPT [8:524]
-A PREROUTING -p tcp -m tcp -j REDIRECT --to-ports 1233
-A PREROUTING -p udp -j REDIRECT --to-ports 1233
COMMIT
ฉันได้เพิ่มกฎสำหรับพอร์ต SSH แล้ว แต่ฉันไม่สามารถสร้างการเชื่อมต่อ SSH กับเซิร์ฟเวอร์ของฉันได้สำเร็จเนื่องจาก PREROUTING
โซ่จะดำเนินการก่อน หลังจากค้นหาฉันพบคำถามมากมายที่มีลักษณะเกี่ยวข้องกับเรื่องนี้ แต่ไม่ใช่คำถามเดียวที่ครอบคลุมสถานการณ์นี้
คุณอาจสงสัยเกี่ยวกับกรณีการใช้งานของการใช้งานประเภทนี้ มันเป็นเซิร์ฟเวอร์ honeypot และความคิดของเราคือการตั้งค่า honeypot เพื่อรับฟังการรับส่งข้อมูลทั้งหมดยกเว้น SSH ฉันรู้ว่าฉันสามารถกำหนดช่วงของพอร์ตหรือใช้สิ่งอำนวยความสะดวกหลายพอร์ตของ iptables แต่ฉันต้องเปลี่ยนเส้นทางพอร์ตทั้งหมดของฉันยกเว้น 22