从 ubuntu 12.04 迁移到 18.04 iptables 导出错误

从 ubuntu 12.04 迁移到 18.04 iptables 导出错误

我有一台旧的 12.04 服务器,具有以下 iptables 规则:

Chain NAME (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:discard /* someservice */
ACCEPT     udp  --  anywhere             anywhere             udp dpt:port /* someservices */
ACCEPT     tcp  --  private-ip           anywhere             tcp dpt:domain
ACCEPT     tcp  --  private-ip           anywhere             tcp dpt:service /* service server */

Chain NAME2 (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:port
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:tftp
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

Chain OTHERNAME (1 references)
target     prot opt source               destination         
DROP       all  --  public-ip            anywhere            
DROP       all  --  public-ip            anywhere            
DROP       all  --  public-ip            anywhere            
RETURN     all  --  anywhere             anywhere

这只是一个例子,还有更多的规则。我尝试通过启动新的 18.04 VM 来迁移服务器。除了 iptables 之外,我能够正确传输所有内容。当我执行 ''' iptables-restore < iptables-export ''' 时,我收到“第 46 行失败”它只是一个带有规则的随机行,我将其删除,然后它会在下一行失败,什么都不起作用。

我尝试从导出文件手动输入命令,但得到:

iptables: No chain/target/match by that name.
or
iptables v1.6.1: Couldn't load target `OTHERNAME':No such file or directory

我确实在新服务器上添加了这些链名称。旧 iptables 版本是 1.4.12。我还尝试了 iptables-converter,但没有任何效果。

如果最终我无法添加这些 iptables 规则,那么使用 ufw 命令的规则会是什么样子?

答案1

解决了。​​我刚刚重启了虚拟机,所以它升级了内核,现在 iptable-restore 可以正常工作了。谢谢大家。

相关内容