กฎ Iptables สำหรับอินเทอร์เฟซภายนอก (ens33 มี IP สาธารณะ):
iptables -A FORWARD -i ens33 -m state --state ESTABLISHED,RELATED -j ยอมรับ
อนุญาตให้เข้าถึงอินเทอร์เน็ตสำหรับคอมพิวเตอร์ทุกเครื่องที่เชื่อมต่อกับ LAN แบบมีสายและแล็ปท็อป Windows ที่เชื่อมต่อด้วยจุดเข้าใช้งานแบบไร้สาย แต่สมาร์ทโฟน Android และแล็ปท็อป Linux ที่เชื่อมต่อด้วย WiFi AP เดียวกันมีปัญหา "เชื่อมต่อได้ แต่ไม่มีอินเทอร์เน็ต" - พวกเขาสามารถเข้าถึงคอมพิวเตอร์ในพื้นที่ทั้งหมดได้ แต่ไม่สามารถเชื่อมต่อกับอินเทอร์เน็ตได้ ถ้าฉันเปลี่ยนกฎด้านบนเป็น:
iptables -A FORWARD -i ens33 -m state --state ESTABLISHED,RELATED,NEW -j ยอมรับ
จากนั้นอุปกรณ์ทั้งหมดจะสามารถเข้าถึงอินเทอร์เน็ตได้
เหตุใดอุปกรณ์ไร้สาย Linux/Android จึงจำเป็นต้องเพิ่มสถานะ "ใหม่" เพื่อเชื่อมต่ออินเทอร์เน็ต
นี่คือสคริปต์ iptables ที่สมบูรณ์: iptables_tests.sh
เครือข่ายในสคริปต์:
10.215.121.0 - เครือข่ายภายในสำหรับอุปกรณ์ทั้งหมด ทั้งแบบมีสายและไร้สาย
10.121.216.0 - เครือข่าย VPN ของเราสำหรับพนักงานระยะไกล
10.171.172.0 - เครือข่ายบริษัทที่สอง อุโมงค์ VPN 1
10.10.3.19 - เซิร์ฟเวอร์ของบริษัทที่สาม อุโมงค์ VPN 2