我目前正在使用 dnsmasq 创建一个小型 Debian 盒子作为 DHCP 和 DNS 缓存服务器。直到今天,我只有 2 个接口(eth0、eth1)。一台连接到我的 WAN (eth0),一台连接到我的 LAN (eth1) 以分配 IP。
为了在 NIC 之间转发流量,我如下设置 iptables:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
然后我使用 iptables-persistent 来修复规则。
我安装了一个新的 NIC (eth2),配置了 dnsmasq,所以我现在有 2 个子网。我补充道:
iptables --append FORWARD --in-interface eth2 -j ACCEPT
有用。
我清理/etc/iptables/rules.v4
并重新安装了 iptables-persistent,但是当我编辑 /etc/iptables/rules.v4 时,配置文件中没有 eth2 的痕迹。
问题是它有效,但我做错了什么?
答案1
/etc/iptables/rules.v4
当您发出命令时不会更新iptables
,您必须自己更新它,例如:
iptables-save > /etc/iptables/rules.v4