菜单

Administrator
发布于 2026-10-10 / 1 阅读
0
0

Linux 进阶 L17:防火墙入门——ufw 保卫你的服务器

Linux 进阶 L17:防火墙入门——ufw 保卫你的服务器

服务器放公网上,等于把家门敞开。Fail2Ban 是看门狗,防火墙就是防盗门。

防火墙在干啥

Linux 内核有个叫 netfilter 的模块,所有进出网卡的数据包都要过它这一关。防火墙就是给它写规则:谁能进、谁不能进。

默认策略两种思路:白名单(默认全挡,只放行需要的,服务器都用这个)、黑名单(默认全放,只挡坏的)。

ufw:新手最好的门

sudo ufw status              # 看状态(默认 inactive)

开防火墙前,先放行 SSH!不然门一关,自己也被锁外面:

sudo ufw allow 22/tcp         # 先放行 SSH
sudo ufw enable               # 再开防火墙

常用规则

sudo ufw allow 80/tcp          # 放行网站 HTTP
sudo ufw allow 443/tcp         # 放行 HTTPS
sudo ufw allow 22/tcp          # 放行 SSH
sudo ufw deny 25/tcp           # 挡掉某端口
sudo ufw delete allow 80/tcp   # 删除一条规则

sudo ufw status numbered       # 带编号看规则
sudo ufw delete 2              # 按编号删

只让某个 IP 连 SSH:

sudo ufw allow from 1.2.3.4 to any port 22

实战:给博客 VPS 配防火墙

sudo ufw default deny incoming   # 进来的默认全挡
sudo ufw default allow outgoing  # 出去的默认全放
sudo ufw allow 22/tcp            # SSH
sudo ufw allow 80,443/tcp        # 网站
sudo ufw enable

就四行,博客 VPS 已经固若金汤。

背后原理:iptables

ufw 只是"遥控器",真正的门是 iptables:

sudo iptables -L -n --line-numbers

三条链:INPUT(进来的包)、OUTPUT(出去的包)、FORWARD(路过的包)。

和 Fail2Ban 的配合

Fail2Ban 发现爆破 IP 后,就是往 iptables 里加一条 DROP 规则:

sudo iptables -L -n | grep DROP

防火墙定规矩,Fail2Ban 动态加黑名单,它俩是搭档。

小结

命令

干啥

ufw allow 22/tcp

放行端口

ufw default deny incoming

默认挡 inbound

ufw status numbered

看规则

iptables -L -n

看底层规则

铁律:开防火墙前先放行 SSH。


评论