Iptables
允許網關路由器(iptables)上的區域網路介面上的所有 INPUT 和 OUTPUT 數據包安全
我的主網關路由器(也是我的 LAN 的 DHCP 和 DNS 伺服器)讓我可以通過 ssh 登錄並配置 iptables。幾乎每天我都在讓它提供更多服務,如 NTP、DNS、FTP 等,我想允許我的 LAN 介面/子網上的所有流量和埠進出我的路由器,以確保這些服務可以被任何設備訪問我的區域網路。
基本上禁用了我的 LAN 端防火牆。
但是,由於這也是我的網關路由器,我不想以允許網際網路流量利用我的 iptables 配置的方式配置這些 iptables。
我的私有 IP 範圍是 192.168.50.0/24,並自動分配了一個 br0 介面。
這是我用來允許所有 LAN 流量的 iptables 命令。
iptables --append INPUT --in-interface br0 --jump ACCEPT iptables --append INPUT --source 192.168.50.0/24 --jump ACCEPT iptables --append OUTPUT --out-interface br0 --jump ACCEPT iptables --append OUTPUT --source 192.168.50.0/24 --jump ACCEPT
我不是路由或 iptables 方面的專家,但是當我將其解釋為“接受 192.168.50.0/24 中的所有輸出”時,這讓我認為來自網際網路的流量通過我的網關路由後,所有這些都被接受到任何地方我的區域網路。
下面簡單介紹一下iptables防火牆:
INPUT will allow or deny traffic destined to the gateway/firewall host OUTPUT will allow or deny traffic leaving the gateway/firewall host FORWARD will allow or deny traffic going through the gateway/firewall host
在您的情況下,您需要
FORWARD 192.168.50.0/24
啟用偽裝,允許返回相關流量,最後丟棄所有內容。假設br0
介面直接連接到本地網路 (LAN) 而br1
面向網際網路 (WAN)在 Linux 網關/防火牆上啟用路由
$ sudo echo "1" > /proc/sys/net/ipv4/ip_forward
僅將 LAN 子網轉發
192.168.50.0/24
到 Internet$ sudo iptables -A FORWARD -i br0 -o br1 -s 192.168.50.0/24 -j ACCEPT
啟用偽裝 (NAT)
$ sudo iptables -t nat -A POSTROUTING -o br1 -j MASQUERADE
允許從 WAN 到 LAN 的返回流量
$ sudo iptables -A FORWARD -i br1 -o br0 -m state --state ESTABLISHED,RELATED -j ACCEPT