是否允许网关路由器 (iptables) 上的 LAN 接口上的 INPUT 和 OUTPUT 上的所有数据包安全

是否允许网关路由器 (iptables) 上的 LAN 接口上的 INPUT 和 OUTPUT 上的所有数据包安全

我的主网关路由器(也是我的 LAN 的 DHCP 和 DNS 服务器)允许我通过 ssh 访问并配置 iptables。由于我几乎每天都会让它提供更多服务,如 NTP、DNS、FTP 等,因此我想允许我的 LAN 接口/子网上的所有流量和端口进出我的路由器,以确保我的 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 中的所有输出“这让我想到,当来自互联网的流量通过我的网关路由后,所有流量都会被我的 LAN 中的任何地方接受。

答案1

这里对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到互联网

$ 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

相关内容