据我了解,内核设施nftables
存在于 Ubuntu 14.04 附带的内核中。正如以下两个命令所证明的那样:
# grep -E '(NF_TABLES|NFT_)' /boot/config-$(uname -r)
CONFIG_NF_TABLES=m
CONFIG_NFT_EXTHDR=m
CONFIG_NFT_META=m
CONFIG_NFT_CT=m
CONFIG_NFT_RBTREE=m
CONFIG_NFT_HASH=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_NAT=m
CONFIG_NFT_COMPAT=m
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_TABLES_ARP=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_TABLES_BRIDGE=m
# lsmod |grep nf
nf_conntrack_ipv4 15012 1
nf_defrag_ipv4 12758 1 nf_conntrack_ipv4
nf_nat_ipv4 13263 1 iptable_nat
nf_nat 21798 3 ipt_MASQUERADE,nf_nat_ipv4,iptable_nat
nf_conntrack 96976 5 ipt_MASQUERADE,nf_nat,nf_nat_ipv4,iptable_nat,nf_conntrack_ipv4
但是,apt-file search nftables
不会产生任何结果,也不会apt-cache search nftables
。
那么我在哪里可以获得新的前端nftables
,即nftables
匹配内核模块的程序?
我也在寻找
nftables
,但据我了解,在 14.04 中我们有 3.13 内核,而 3.13 内核是第一个将 Nftables 合并到其中的版本。合并并不意味着工作,它只是意味着代码在一定程度上是好的并且可以合并而不会产生其他问题。iptables
仍然在 14.04 和任何其他发行版中,直到nftables
获得稳定版本(比再次与内核合并的 0.3 更重要)。这一点,事实上 nft 用户空间实用程序还不存在将使 nftables 的等待时间更长一些。考虑到这一点,如果您不想等待,可以使用
Nftables
分步安装,其中包括 git 克隆 Linux 内核和设置其他变量,这样您就可以开始Nftables
工作了。此信息可在regit.org中找到除此之外,这是一个功能请求
apt-get install nftables
从 2018 年初开始,nftable 框架就可以在生产环境中使用了。它支持 3/4 的现有 iptables 功能,尽管它提供了您在 iptables 中找不到的新功能。
框架要求内核 >= 3.13,但建议运行更新的内核 >= 4.10。后
注意:确保你没有同时运行
iptables
两者nftables
。有一个从
iptables
配置转换成nftables
配置的工具: https ://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables首先发出命令
nft -a list ruleset
并从那里开始构建。默认情况下,规则集列表不会为空。