遇到的问题如下:
$ iptables -A INPUT -p tcp -i eth0 --dport 5201 -j ACCEPT
iptables v1.8.7 (nf_tables): unknown option "--dport"
Try `iptables -h' or 'iptables --help' for more information.
查阅资料后发现只要切换一下 iptables 的版本即可,这里必须要加 sudo,否则没有权限:
$ sudo update-alternatives --config iptables
有 2 个候选项可用于替换 iptables (提供 /usr/sbin/iptables)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/sbin/iptables-nft 20 自动模式
1 /usr/sbin/iptables-legacy 10 手动模式
2 /usr/sbin/iptables-nft 20 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:1
切换为 legacy 版本之后,再次输入命令,出现新的报错:
$ iptables -A INPUT -p tcp -i eth0 --dport 5201 -j ACCEPT
Fatal: can't open lock file /run/xtables.lock: Permission denied
尝试加入 sudo,报错解决:
$ sudo iptables -A INPUT -p tcp -i eth0 --dport 5201 -j ACCEPT
但是我不切换版本加 sudo 也能成功啊!=_=
参考博客中还提供了一种 “添加环境变量” 的解决方法。
参考博客