与 iptables 相比,nftables 的语法更加简单,不过对于 iptables 中的语法,在 nftables 中也能用。
大家可使用 iptables-translate 工具,该工具接受 iptables 命令并将其转为等效的 nftables 命令,这是了解两种语法差异的一种简单方法。
使用以下命令在 Ubuntu 和基于 Debian 的发行版上安装 iptables-translate:
安装后,你可以将 iptables 语法传递给 iptables-translate 命令,它将返回 nftables 等效命令。
下面我们看一些具体的语法示例。
阻止传入连接
下述命令将阻止来自IP地址192.168.2.1的传入连接:
允许传入SSH连接
放开 ssh 连接权限:
允许来自特定 IP 范围的传入SSH连接
如果只想允许来自192.168.1.0/24的传入SSH连接:
允许MySQL连接到eth0网络接口
允许传入HTTP和HTTPS流量
为了允许特定类型的流量,以下是这两个命令的语法:
从这些例子中可以看出,nftables 语法与 iptables 非常相似,但命令更直观一些。
nftables 日志
上述nft命令示例中的“counter”选项告诉nftables统计规则被触碰的次数,就像默认情况下使用的iptables一样。
在nftables中,需要指定:
nftables内置了用于导出配置的选项。它目前支持XML和JSON。