ฉันเชื่อว่ามันจะเป็นตัวเลือกสำหรับชื่อของตาราง *ถูกนำมาใช้ในสถานที่ของ-tทางเลือกสำหรับตัวแปรบรรทัดคำสั่งของคำสั่งด้วยการเลือกตาราง ตัวอย่างเช่นโดยปกติตารางจะถูกเลือกโดยการระบุ-t <tablename>ดังนั้นในกรณีนี้-t natเพื่อเลือกตารางnat :
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
ตัวอย่างที่คุณให้ไว้คือการใช้การเปลี่ยนเส้นทางอินพุตจากเอกสารที่นี่เพื่อiptables-restore- จดบันทึก<<EOF ... EOFและอื่น ๆ แทนตัวเลือกบรรทัดคำสั่ง ( -t) แต่ละบรรทัดจะถูกใช้แทนเช่น:
iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
EOF
ใคร ๆ ก็เถียงว่า-Aยังอยู่ในเอกสารที่นี่ทำไม-tไม่? ฉันไม่รู้คำตอบสำหรับสิ่งนั้นหวังว่าจะมีคนอื่นทำ
ในทำนองเดียวกันหลังจากที่*natตารางได้รับการCOMMITed แล้ว*filterตารางจะถูกเลือกทำงานตามแล้วCOMMITเอ็ด
iptables-restore <<-EOF
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
EOF
หากคุณกำลังมองหาการสอนคุณอาจพบว่าการสอนNAT - Network Address Translationมีประโยชน์
*filterเดียวกันจะไปสำหรับ หน้าคนทำให้การพูดถึงไม่มี*