我对iptables
有这样的规则
iptables -I INPUT 1 -i eth0 -p tcp -s 192.168.178.20 --dport 8201 -j REJECT
我在寻找如何翻译规则教程,但找不到它们。如何使用nftables
创建该规则?还是语法相同?
发布于 2022-10-22 08:24:40
来自nftable 维基:
自2018年6月以来,旧的xtable/setsockopt工具被认为是遗留的。但是,支持在nf_tables内核后端使用iptables/ip6table/arptable/ebtables旧语法。这在Legacy xtable工具wiki页面中有更详细的描述。
您可以使用iptables-nft
实现如下目标:
iptables-nft -I INPUT 1 -i eth0 -p tcp -s 192.168.178.20 --dport 8201 -j REJECT
在输入之后,iptabels-nft-save
将应用您的规则。您可以通过以下方法确认nftable中存在此规则:
nft list ruleset
你必须看到这样的东西:
nft list ruleset
table ip filter {
chain INPUT {
type filter hook input priority filter; policy accept;
iifname "eth0" ip saddr 192.168.178.20 tcp dport 8201 counter packets 0 bytes 0 reject
}
}
此外,还可以使用以下语法直接翻译规则:
iptables-translate -I INPUT 1 -i eth0 -p tcp -s 192.168.178.20 --dport 8201 -j REJECT
这将为您提供以下输出:
nft insert rule ip filter INPUT iifname "eth0" ip saddr 192.168.178.20 tcp dport 8201 counter reject
另外,您可以保存所有iptables规则,比如iptables-save > save.txt
,然后使用iptables-restore-translate -f save.txt
来获取转换的规则。
看看几个月前我自己的问题,得到进一步的解释。
https://unix.stackexchange.com/questions/722007
复制相似问题