是的,它适用于通过 PPP 或 DHCP 服务器(有线调制解调器和 DSL 用户常见)由您的 ISP 分配的动态 IP 地址。只要您拥有有效的 Internet IP 地址,它就应该可以工作。当然,静态 IP 也可以工作。如果您计划实施强大的 IPTABLES、IPCHAINS 或 IPFWADM 规则集和/或计划使用端口转发器,则每次您的 IP 地址更改时,您的规则集都必须重新执行。
因此,重新运行 rc-firewall-* 规则集实际上取决于您获取 IP 地址的方法
PPP:当 PPP 连接建立时,/etc/ppp/ip-up 脚本始终运行。因此,我们可以使 rc.firewall-* 获取新的 PPP IP 地址并更新防火墙规则集。如果 /etc/ppp/ip-up 文件不存在或存在,只需编辑该文件并附加一行包含您选择的防火墙规则集名称的行。例如,要运行 SIMPLE IPTABLES 规则集
/etc/rc.d/rc.firewall-iptables |
DHCP:如果您通过 DHCP 获取 IP 地址(有线调制解调器和 DSL 用户常见),则很容易在您获得新的 IP 租约时运行 rc-firewall-* 规则集。这如何发生取决于您的发行版使用的 DHCP 客户端
dhclient:大多数现代 Linux 发行版都使用来自 ISC 的 dhclient。要在您的系统获得新的 IP 地址时重新运行您特定的 rc-firewall-* 脚本,请将以下行添加到 /etc/dhclient-exit-hooks 文件中。请注意,此示例正在使用 SIMPLE IPTABLES 规则集。请为您的特定设置使用正确的 rc.firewall-* 名称
/etc/rc.d/rc.firewall-iptables |
pump:许多较旧的 Redhat 发行版使用此 DHCP 客户端。要在您的系统获得新的 IP 地址时重新运行 rc-firewall-* 脚本,请将以下行添加到 /etc/pump.conf 文件中。请注意,此示例正在加载 SIMPLE IPTABLES 规则集。请为您的特定设置使用正确的 rc.firewall-* 名称
script /etc/rc.d/rc.firewall-iptables |
dhcpcd:许多较旧的发行版使用此 DHCP 客户端。要在您的系统获得新的 IP 地址时重新运行 rc-firewall-* 脚本,取决于您使用的 dhcpcd 版本。
对于较新版本的 dhcpcd 客户端,请将以下行附加到 /etc/dhcpcd-[interface].exe 文件中。请注意,您必须将 [interface] 文本替换为连接到 Internet 的接口名称。对于此示例,我们将通过编辑 /etc/dhcpc/dhcpcd-eth0.exe 文件来针对 eth0 接口运行 SIMPLE IPTABLES 规则集
/etc/rc.d/rc.firewall-iptables |
对于旧版本的 dhcpcd 客户端,您需要弄清楚哪个脚本启动了 dhcpcd(取决于 Linux 发行版及其版本)。从那里,您需要将特定的 dhcpcd 行替换为以下行,并使用正确的面向 Internet 的接口名称。对于此示例,dhcpcd 将针对 eth0 接口运行 SIMPLE IPTABLES 规则集
dhcpcd -c /etc/rc.d/rc.firewall eth0 |
另请参阅 TrinityOS - 第 10 节 的顶部,以获取有关强大防火墙规则集和动态 IP 地址的更多帮助。