网易首页 > 网易号 > 正文 申请入驻

使用nftables 防火墙部署本地 IPS

0
分享至

随着各 GNU/Linux 系统厂商以及社区逐步开始采用新的内核作为其发行版本的默认内核,防火墙机制采用了更新的 nftables 防火墙机制。

尽管红帽公司提供了 firewalld.service 防火墙服务组件以及相关的配置管理命令 firewall-config、firewall-cmd 来对防火墙进行管理,但该服务组件目前还没有在其他发行版或者社区版本内得到统一使用。

为了更好的帮助读者朋友们理解该防火墙机制,笔者将自己在工作中直接使用 nftables 进行手工创建配置,从而使系统具有本地 IPS 能力的过程进行总结。

目前多数主流的新发行版 GNU/Linux 系统,默认安装完成后 systemd 系统和服务管理器中已经添加了新的 nftables.serivce 子服务配置文件。同时依然支持 iptables 规则和 iptables 命令,不过为了彻底将防火墙升级到 nftables 机制,我们可以在没有 firewalld.service 的发行版系统中直接启用 nftables.service 服务来使用新的防火墙。

通过执行命令 vi /lib/systemd/system/nftables.service,从该文件中的语句 ExecStart=/usr/sbin/nft -f /etc/nftables.conf 我们可以清楚的看到,nftables 防火墙的默认配置和规则文件一般都放置在系统的 /etc/nftables.conf 目录中,不过该默认配置文件中只包含一个名为 inet filter 的简单 IPv4/IPv6 防火墙列表。

inet 过滤器可以同时适用于 IPv4 和 IPv6 的规则,但不能用于 NAT 类型的链,只能用于过滤器类型的链。

为了保持和 iptables 防火墙的规则类比,便于用户熟悉,我们可以使用如下 nftables 命令创建相应的表和链来建立一个类似于传统 iptables 防火墙框架,创建过程如下:

创建 nft 表

与 iptables 中的表不同,nftables 中没有内置表,表的数量和名称由用户决定。但是,每个表只有一个地址簇,并且只适用于该簇的数据包。

表可以指定五个(ip、ip6、inet、arp、bridge)簇中的一个,用户可以依次执行如下命令:

nft add table ip filter
nft add table ip6 filter
nft add table bridge filter

nftables 将为我们分别建立三个 ip、ipv6、bridge 簇并且表名均为 filter 的防火墙框架。

创建链

表包含链,链的目的是保存规则。

与 iptables 中的链不同,nftables 也没有内置链。这意味着与 iptables 不同,如果链不匹配 nftables 框架中的簇或钩子,则流经这些链的数据包不会被 nftables 触及。

链有两种类型。基础链是来自网络栈的数据包的入口点,其中指定了钩子,其实可以理解为 iptables 防火墙的默认规则。常规链可以理解为其它用户自定义的规则链。

使用如下命令为每一个表建立 INPUT、FORWARD、OUTPUT 链,并且设置基础链,其中 ip 簇 filter 表 INPUT 链默认为丢弃所有数据包的相应的命令格式如下。

添加 ip 簇 filter 表相应链命令集:

nft add chain ip filter INPUT { type filter hook input priority 0\; policy drop\; }
nft add chain ip filter FORWARD { type filter hook forward priority 0\; policy accept\; }
nft add chain ip filter OUTPUT { type filter hook output priority 0\; policy accept\; }

添加 ipv6 簇 filter 表相应链命令集:

nft add chain ip6 filter INPUT { type filter hook input priority 0\; policy accept\; }
nft add chain ip6 filter FORWARD { type filter hook forward priority 0\; policy accept\; }
nft add chain ip6 filter OUTPUT { type filter hook output priority 0\; policy accept\; }

添加 bridge 簇 filter 表相应链命令集:

nft add chain bridge filter INPUT { type filter hook input priority 0\; policy accept\; }
nft add chain bridge filter FORWARD { type filter hook forward priority 0\; policy accept\; }
nft add chain bridge filter OUTPUT { type filter hook forward priority 0\; policy accept\; }

添加规则

规则由语句或表达式构成,包含在链中。

将一条规则添加到链中使用如下语法

nft add rule family table chain handle statement

规则添加到 handle 处,这是可选的。如果不指定,则规则添加到链的末尾,类似于 iptables -A 方法。

将规则插入到指定位置使用如下语法:

nft insert rule family table chain handle statement

如果未指定handle,则规则插入到链的开头,类似于 iptables -I 方法。

以下是用户根据自己的实际情况添加的具体规则:

放行本地回环接口 lo 的所有流量:

nft add rule ip filter INPUT iif lo accept

放行 established、related 状态的数据包,这一点很重要,因为多数对外访问的数据包在收到对端主机回包时多为这两种状态,如果在 INPUT 链中不放行该类型数据包,即使本机的 OUTPUT 链默认为 ACCEPT,让所有数据包出站,系统也会主动在 INPUT 链中丢弃掉相应的回包而导致数据无法交互。具体命令如下:

nft add rule ip filter INPUT ct state established,related accept

阻断存在重大安全隐患的系统端口,包括已经公布的比如勒索病毒等端口。nftables 在配置过程中,当用户使用端口进行添加后,nftables 会自动将端口转换为 service 模式,用户可以通过使用命令 nft describe tcp dport 对照查看。阻断安全隐患的系统端口具体命令如下:

nft add rule ip filter INPUT meta l4proto tcp tcp dport { loc-srv, 136, netbios-ns, netbios-dgm, netbios-ssn, microsoft-ds, 3389, radmin-port } counter drop
nft add rule ip filter INPUT meta l4proto udp udp dport { loc-srv, 136, netbios-ns, netbios-dgm, netbios-ssn, microsoft-ds, 3389, radmin-port } counter drop

对服务进行限流控制,防止 DDoS 攻击或者 CC 攻击造成系统服务中断,可以通过 limit 限制通信速率,以下是接受一个每秒最多 10 个 web 或者 https 或者 dns 查询请求的数据包,同时可以有 2 个包超出限制的规则具体命令:

nft add rule ip filter INPUT meta l4proto tcp tcp dport { 80,443,53 } ct state new limit rate 10/second burst 4 packets accept
nft add rule ip filter INPUT meta l4proto udp udp dport { 80,443,53 } ct state new limit rate 10/second burst 4 packets accept

总结

经过以上配置后,我们的主机就具有了很好的本机 IPS 能力。应对不论是面向南北跨路由器的访问流量,还是本地网络内的东西访问流量,常规的恶意扫描或者恶意攻击基本是够用了。

之后用户可以使用命令 nft list ruleset > /etc/nftables.conf 将这些规则保存在 nftables 的默认配置文件中,并使用 systemctl enable nftables.service 打开该服务的默认启动模式,之后系统将在开机时自动启动 nftables 防火墙并应用相应规则。

用户也可以通过命令 vi /etc/nftables.conf 来直接按照相应规则编辑该文件来修改防火墙配置,以确保自己的系统处于本机防火墙 IPS 能力的保护之下。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
情况越来越不妙,赖清德决定签字,两岸对话被毁,民进党闯下大祸

情况越来越不妙,赖清德决定签字,两岸对话被毁,民进党闯下大祸

观史搜寻着
2026-05-29 06:54:01
正式官宣!国务院放大招:城里有房家庭都乐开花,不仅宜居还增值

正式官宣!国务院放大招:城里有房家庭都乐开花,不仅宜居还增值

科学发掘
2026-05-29 11:22:32
世预赛男篮必出线?混血两兄弟拒省队征召 之前三年打琼斯杯挣钱

世预赛男篮必出线?混血两兄弟拒省队征召 之前三年打琼斯杯挣钱

大嘴爵爷侃球
2026-05-29 16:10:06
我主刀16年被降职,上头指名要我手术,我:已辞职,院长懵了

我主刀16年被降职,上头指名要我手术,我:已辞职,院长懵了

青青会讲故事
2025-06-30 16:11:45
江苏通报“幼儿园教师用热熔胶烫伤小女孩”:涉事教师已被停职

江苏通报“幼儿园教师用热熔胶烫伤小女孩”:涉事教师已被停职

闪电新闻
2026-05-29 19:33:40
上市限时价16.99万元起,领克10和10+正式上市

上市限时价16.99万元起,领克10和10+正式上市

科技美学
2026-05-29 22:14:54
你有什么莫名其妙的生理反应?网友:我老公说我上辈子肯定是战士

你有什么莫名其妙的生理反应?网友:我老公说我上辈子肯定是战士

另子维爱读史
2026-05-22 20:27:39
61岁尼古拉斯·凯奇重返漫威即封神,新剧《暗影蜘蛛侠》登顶4国榜首,席卷全球20余国榜单

61岁尼古拉斯·凯奇重返漫威即封神,新剧《暗影蜘蛛侠》登顶4国榜首,席卷全球20余国榜单

追星雷达站
2026-05-29 00:44:53
孙正义找到下一个「阿里」

孙正义找到下一个「阿里」

36氪财经
2026-05-29 19:05:49
马竞整活回应巴萨求购小蜘蛛:官宣签下拉明·亚马尔

马竞整活回应巴萨求购小蜘蛛:官宣签下拉明·亚马尔

赛场名场面
2026-05-30 00:24:59
原址重建不用搬!成都首个危旧房成套化自主改造项目在金牛启动

原址重建不用搬!成都首个危旧房成套化自主改造项目在金牛启动

掌上金牛
2026-05-29 20:54:13
整容失败?46岁张柏芝脸肿满面油光像猪刚鬣,这些年她到底经历了啥

整容失败?46岁张柏芝脸肿满面油光像猪刚鬣,这些年她到底经历了啥

八卦王者
2026-05-29 11:24:08
屋漏偏逢连夜雨!60岁郭富城再迎噩耗,方媛疑产后抑郁是冰山一角

屋漏偏逢连夜雨!60岁郭富城再迎噩耗,方媛疑产后抑郁是冰山一角

悄悄史话
2026-05-28 11:44:23
王曦雨对手出炉!科斯蒂亚两盘6-0送双蛋横扫 时隔5年进法网16强

王曦雨对手出炉!科斯蒂亚两盘6-0送双蛋横扫 时隔5年进法网16强

醉卧浮生
2026-05-29 22:25:07
广州一商场空调不制冷似“蒸笼”,商户叫苦连天,客人:来了就想走

广州一商场空调不制冷似“蒸笼”,商户叫苦连天,客人:来了就想走

新浪财经
2026-05-29 19:06:05
生育大局已定:不出意外的话,2026年起中国人口将迎来3大变化

生育大局已定:不出意外的话,2026年起中国人口将迎来3大变化

杰丝聊古今
2026-05-30 03:07:31
笑死了!孙杨送张豆豆的三句话上热搜,没想到评论区句句都是梗

笑死了!孙杨送张豆豆的三句话上热搜,没想到评论区句句都是梗

娱乐圈笔娱君
2026-05-29 14:16:50
48集《主角》结局:易青娥大婚,嫁给刘红兵,封潇潇成明星,米兰锒铛入狱真相扎心

48集《主角》结局:易青娥大婚,嫁给刘红兵,封潇潇成明星,米兰锒铛入狱真相扎心

科学发掘
2026-05-30 05:20:58
“网坛贾秀全”诞生?这是王曦雨打进法网女单十六强的秘诀吗?

“网坛贾秀全”诞生?这是王曦雨打进法网女单十六强的秘诀吗?

上观新闻
2026-05-29 23:14:29
这些珍贵历史合影几乎都是永不再来,一张比一张震惊!

这些珍贵历史合影几乎都是永不再来,一张比一张震惊!

年代回忆
2026-03-31 20:34:04
2026-05-30 07:51:00
linux_wy
linux_wy
专注linux技术20年~
1347文章数 4879关注度
往期回顾 全部

科技要闻

Claude Opus 4.8凌晨突发上线

头条要闻

普京:有理由认为俄乌冲突临近收尾

头条要闻

普京:有理由认为俄乌冲突临近收尾

体育要闻

即使是文班亚马,也做不到这件事

娱乐要闻

奚梦瑶何猷君将于6月在法国举行婚礼

财经要闻

近3个月跌超20% 黄金"猴市"下的众生相

汽车要闻

900V+3.2秒破百 领克10+&领克10上市16.99万元起

态度原创

本地
亲子
艺术
旅游
公开课

本地新闻

用剪纸的方式,打开江苏扬州

亲子要闻

唐嫣参加女儿幼儿园活动,一身黑裙优雅漂亮,6岁小小糖快毕业了

艺术要闻

粉墙黛瓦别样美

旅游要闻

六问稻城亚丁景区封堵省道收费

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版