UFW(Uncomplicated Firewall)是 Ubuntu 系统自带的一款简化的防火墙工具,旨在提供一个用户友好的界面来管理网络流量。它基于 iptables,但通过简化的命令行界面,使得用户更容易配置和使用。默认情况下,ufw 是禁用的,需要手动启用并配置。1 UFW 的安装
在大多数 Ubuntu 版本中,UFW 默认已安装。如果未安装,可以通过以下命令进行安装:【注意】所有操作如果不是管理员用户的话,前面需要添加sudosudo apt update
sudo apt install ufw
2 UFW 的常用操作
2.1 启用和禁用ufw
# 启用ufw
root@lige:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
# 禁用ufw
root@lige:~# ufw disable
Firewall stopped and disabled on system startup
2.2 检查 UFW 状态
# 查看 UFW 的当前状态及规则:
root@lige:~# ufw status
Status: inactive
# 使用 verbose 参数可以获得更详细的信息:
# 如果是关闭的,只输出inactive
root@lige:~# ufw status verbose
Status: inactive
# 如果是启用的,会输出详细规则
root@lige:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN Anywhere
22 (v6) ALLOW IN Anywhere (v6)
2.3 设置默认策略
在添加具体规则之前,建议先设置默认策略。默认情况下,UFW 的默认策略是允许所有传入流量和拒绝所有传出流量。可以根据需要更改这些设置:# 拒绝所有传入流量,允许所有传出流量
root@lige:~# ufw default deny incoming
root@lige:~# ufw default allow outgoing
2.4 配置规则
root@lige:~# ufw allow 80
Rule added
Rule added (v6)
root@lige:~# ufw allow ssh
Rule added
Rule added (v6)
root@lige:~# ufw allow from 10.10.10.200
Rule added
# 允许10.10.10.200访问服务器的22端口
root@lige:~# ufw allow from 10.10.10.200 to any port 22
# 允许 eth0 接口的 HTTP 流量:
root@lige:~# sudo ufw allow in on eth0 to any port 80
Rule added
Rule added (v6)
# 允许某个网段访问对应协议的某个端口
root@lige:~# ufw allow from 192.168.1.0/24 to any port 80 proto tcp
Rule added
拒绝和允许规则是相反的,很多是将allow改为deny即可
# 拒绝 FTP端口
root@lige:~# ufw deny 21
Rule added
Rule added (v6)
查看规则状态:
root@lige:~# ufw status verbose
2.5 删除规则
要删除先前添加的规则,可以在allow前面添加 delete 命令。例如:删除允许 SSH 的规则和允许80端口的规则:root@lige:~# ufw delete allow ssh
Rule deleted
Rule deleted (v6)
root@lige:~# ufw delete allow 80
2.6 限制连接
为了防止暴力攻击,可以对某些服务设置限制。以 SSH 为例:root@lige:~# ufw limit ssh
这样一来,系统会限制来自同一IP 的连接尝试次数。UFW 是一个强大且易于使用的防火墙工具,非常适合 Ubuntu 用户。通过合理配置 UFW,用户可以有效地保护系统安全,抵御未授权的网络访问。