据我所知,内核功能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
与内核模块匹配的程序?
答案1
我也在寻找nftables
,但据我所知,14.04 有 3.13 内核,而 3.13 内核是第一个将 Nftables 合并到其中的版本。合并并不意味着可以工作,它只是意味着代码在一定程度上是好的,可以合并而不会产生其他问题。
iptables
仍然在 14.04 和任何其他发行版中,直到nftables
获得稳定版本(比再次与内核合并的 0.3 更甚)。由于 nft 用户空间实用程序尚未存在,因此等待 nftables 的时间会更长一些。
考虑到这一点,如果您不想等待,您可以使用Nftables
分步安装,其中包括 git 克隆 Linux 内核和设置其他变量,以便您可以Nftables
在您的终端上工作。此信息可以在雷吉特网站
除此之外,这里还有功能要求
答案2
从 2018 年初开始,nftable 框架就可以在生产环境中使用了。它支持现有 iptables 功能的 3/4,尽管它提供了 iptables 中找不到的新功能。
框架要求内核 >= 3.13,但建议运行较新的内核 >= 4.10。之后
apt install nftables
注意:确保不要iptables
同时运行两者nftables
。
有一个从iptables
配置转换成nftables
配置的工具:
https://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables
首先发出命令nft -a list ruleset
并从那里开始构建。默认情况下,规则集列表不会为空。
答案3
apt-get install nftables
root@forevernow ~ # cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"