อาจเป็นเพราะฉันหนาแน่นหรืออาจจะไม่ได้ค้นหาแหล่งที่ถูกต้อง แต่ฉันไม่เข้าใจว่าทำไมการตั้งค่า IPTABLES อย่างใดอย่างหนึ่งเหล่านี้ถึงดีกว่าอีกชุด
นี่คือการตั้งค่าของฉัน:
ฉันมีกล่องที่ทำหน้าที่เป็นพร็อกซีโปร่งใสและเราเตอร์หรือแปลก ๆ มันมีสองอินเตอร์เฟสในนั้น ETH0 และ ETH1 และรูปแบบที่อยู่ดังต่อไปนี้:
ETH0 = DHCP ETH1 = 192.168.5.1/24 ให้บริการ DHCP สำหรับเครือข่าย 192.168.5.0/24 ให้กับลูกค้าที่อยู่ด้านหลังใน LAN
ฉันติดตั้ง Privoxy และฟังพอร์ต 8080 เป็นพร็อกซีแบบโปร่งใส สิ่งที่ฉันประสบความสำเร็จกับการตั้งค่านี้คือการสามารถวางกล่องนี้ในเครือข่ายที่มีอยู่ด้วยการกำหนดค่าน้อยที่สุดและไคลเอนต์ที่แนบมากับพร็อกซี
นี่คือไฟล์ IPTABLES ดั้งเดิมของฉัน
*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
COMMIT
การกำหนดค่านี้ทำงานได้ดีและการรับส่งข้อมูลไหลไปมาโดยไม่มีปัญหา ฉันได้รับที่อยู่ IP ไคลเอนต์ที่มีต้นกำเนิดใน Privoxy logfiles และชีวิตก็ดี
ความสับสนของฉันเกิดขึ้นเมื่อฉันเริ่มมองไปที่การกำหนดค่าของคนอื่นและเห็นว่าพวกเขากำลังใช้ DNAT แทน REDIRECT และฉันพยายามทำความเข้าใจกับการได้รับประโยชน์ที่แท้จริงของอีกคนหนึ่ง นี่คือตัวอย่างการกำหนดค่า:
*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to 192.168.5.1:8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
COMMIT
อีกครั้งการกำหนดค่านี้ทำงานเช่นกันและให้ทุกอย่างที่ฉันต้องการจากมุมมองการบันทึก ...
อันไหนที่ถูกหรือน่าจะเหมาะสมกว่าอีกอัน?
ขอบคุณที่สละเวลาอ่านหนังสือเล่มนี้ ...