ไม่สามารถส่งต่ออินเทอร์เน็ตผ่านไปยัง wlan ผ่าน eth | คำสั่ง iptables restore ไม่ทำงาน


0

ฉันมีอุปกรณ์ NanoPi M1 Plus พร้อมกับ Ubuntu OS ซึ่งฉันใช้มันเป็นเราเตอร์ อุปกรณ์กำลังรับอินเทอร์เน็ตผ่านสายเคเบิลอีเธอร์เน็ต (อินเตอร์เฟส eth0) และ WiFi AP นั้นจัดหาให้ผ่านอินเทอร์เฟซ wlan0

ฉันได้เขียนกฎ iptables แล้ว แต่ดูเหมือนว่ามันจะไม่ทำงาน และเปิดใช้งาน IP_FORWARDING

นอกจากนี้ในการดำเนินการiptables-restore > /etc/iptables.ipv4.natคำสั่งมันก็แค่ค้างและไม่มีการพิมพ์ผลลัพธ์บน terminal

iptables.ipv4.nat

*filter
:INPUT ACCEPT [186:14306]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [131:13477]
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
COMMIT

*nat
:PREROUTING ACCEPT [142:11472]
:INPUT ACCEPT [27:2092]
:OUTPUT ACCEPT [28:2049]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

ปัญหาที่นี่คืออะไร


"ฉันได้เขียนกฎ iptables" - คุณหมายถึงคุณเพิ่งเพิ่มกฎเหล่านั้นไปยัง ruleset ใน / etc หรือคุณหมายถึงคุณโหลดมันผ่าน iptables ลงในเคอร์เนลหรือไม่ อดีตจะไม่มีผลใด ๆ จนกว่าจะโหลด
grawity

ฉันได้โหลดมันไว้ในเคอร์เนลแล้ว
ron123456

คำตอบ:


2

นอกจากนี้ในการดำเนินการiptables-restore > /etc/iptables.ipv4.natคำสั่งมันก็แค่ค้างและไม่มีการพิมพ์ผลลัพธ์บน terminal

มันคือการรอคอยสำหรับการป้อนข้อมูล วัตถุประสงค์ของ iptables-restore คือการอ่าน ruleset จากไฟล์ แต่คุณใช้โอเปอเรเตอร์การเปลี่ยนเส้นทางที่ไม่ถูกต้องและบอกให้ shell เขียนไฟล์นั้น <ผู้ประกอบการที่ถูกต้องกับคำสั่งนี้คือ

โปรดทราบว่าการใช้งาน>ได้ลบเนื้อหาก่อนหน้าของไฟล์ทันทีดังนั้นโปรดเติมด้วยกฎอีกครั้งก่อนที่จะลองอีกครั้ง

นอกเหนือจากนั้นชุดกฎไม่มีปัญหาใด ๆ ที่ชัดเจน คุณอาจประสบปัญหาในที่อื่นโดยเฉพาะอย่างยิ่งกับคุณสมบัติการกรอง uRPF ซึ่งจะปฏิเสธการรับแพ็คเก็ตจากอินเทอร์เฟซ "ผิด" ตรวจสอบให้แน่ใจว่าได้ปิดใช้งานผ่าน sysctl โดยตั้งค่าnet.ipv4.conf.all.rp_filterเป็น 0 สำหรับ 'ปิด' (หรือ 2 สำหรับ 'หลวม')


ใช่ฉันใช้ผู้ให้บริการผิด แม้ว่ามันจะไม่ได้ผลสำหรับ eth0 wlan0 net.ipv4.conf.all.rp_filterเพื่อส่งต่อแม้หลังจากที่ปิดการใช้งาน แต่ถ้าฉันใช้อินเทอร์เฟซ wifi ภายนอก wlan1 เป็นสถานีและทำการเปลี่ยนแปลงใน iptables เช่นwlan1ใช้แทนeth0.. การส่งต่อ iptables ทำงานได้อย่างสมบูรณ์แบบ
ron123456
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.