我已经注册了dyndns域,以便将动态更改的公共ip地址与iptable规则一起使用。在服务器上,我在iptables配置中允许此域的一些端口,如下所示:
-A INPUT -s mycompany.dyndns.com -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s mycompany.dyndns.com -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s mycompany.dyndns.com -p tcp -m tcp --dport 21 -j ACCEPT但是,当我的调制解调器重新启动时,我无法连接到这些允许的端口,因为公共ip会随着调制解调器的重新启动而发生变化,并且不会在服务器上的iptables中更新。是否有任何选项可自动更新服务器上的iptable规则。
发布于 2010-10-13 09:16:40
简而言之:不,更新iptables规则的唯一方法是替换它(iptales -R ...)或删除它,并添加一个新的IP地址(iptables -D ...后面跟着iptables -A ...)。
这篇博客文章讨论了这个问题,并给出了解决方案。
发布于 2019-12-19 10:08:38
但是,当我的调制解调器重新启动时,我无法连接到这些允许的端口,因为使用modem重新启动时,这些端口会发生公共ip >更改,并且不会在服务器上的iptables中更新。
即使您正在应用带有域名的规则,iptables将在此时对给定域的公共IP进行解析,并使用该公共IP应用规则。因此,随着每次调制解调器重新启动或ISP IP租约到期,您必须用新分配的公共IP更新iptables。
如果您列出iptables规则,那么它将是混乱的,因为您可以看到您应用的规则与确切的域名。
iptables -L为了清晰起见,请将iptable规则保存到一个文件中并进行验证。您可以找到您的域的解析IP而不是域名。
iptables-save > /tmp/iptables.ruleshttps://askubuntu.com/questions/6714
复制相似问题