ฉันมักจะมีคำสั่งนี้เพื่อทำการแมปพอร์ตในเครื่อง
socat TCP4-LISTEN:80,fork,reuseaddr TCP4:127.0.0.1:8080
ดังนั้นเมื่อใดก็ตามที่ไคลเอนต์คุยกับพอร์ต 80 ของเครื่องของฉัน มันก็คุยกับพอร์ต 8080 จริง ๆ
มันเป็นพร็อกซี่จริงๆ
ฉันสงสัยว่าฉันสามารถใช้ iptables แทนการใช้พร็อกซีเพื่อบรรลุเป้าหมายเดียวกันได้หรือไม่ เช่น ฉันลองคำสั่งต่อไปนี้ซึ่งใช้ไม่ได้
iptables -t nat -A PREROUTING -d <my-ip> -p tcp --dport 80 -j DNAT --to-destination :8080
อัปเดต
คำสั่งด้านบนควรใช้งานได้ แต่ก็ไม่ได้ผลเพราะมีคำสั่งอื่น iptables
กฎที่มีผลกับมัน
ดังนั้นหากไม่มีกฎอื่น ๆ คำสั่ง 3 คำสั่งต่อไปนี้จะทำงานทั้งหมด
iptables -t nat -A PREROUTING -d <my-ip> -p tcp --dport 80 -j DNAT --to-destination <my-ip>:8080
iptables -t nat -A PREROUTING -d <my-ip> -p tcp --dport 80 -j DNAT --to-ปลายทาง <my-ip>:8080
iptables -t nat -A PREROUTING -d <my-ip> -p tcp --dport 80 -j DNAT --to-ปลายทาง <my-ip>:8080
ขอบคุณ @AlexD หลังจากอ่านคำตอบของคุณแล้ว ฉันเริ่มทำแบบทดสอบอย่างระมัดระวังมากขึ้น และพบสิ่งนี้ ขอบคุณ @Ginnungagap, the เปลี่ยนเส้นทาง
เป้าหมายที่คุณแสดงให้ฉันเห็นนั้นง่ายและตรงไปตรงมามากขึ้น
คำถามใหม่
ตอนนี้ฉันมีคำถามใหม่ตามผลการทดสอบ ซึ่งมีลักษณะดังนี้ สแนท
หรือ สวมหน้ากาก
เป้าหมายไม่จำเป็นในกรณีของฉัน ทำไม? ฉันคิดว่า สแนท
เป็นสิ่งจำเป็นสำหรับ ดีเอ็นเอท
กฎ.