ufw

ufw防火墙 #

ufw 是Ubuntu系统中默认的网络防火墙配置工具,是对 iptables/nftables 的高级封装。

需要注意,ufw 与 Docker 共同使用 iptables 工具管理防火墙规则,互不兼容。如果使用Docker发布容器端口,那么数据包在到达 INPUT 和 OUTPUT 链之前就会被重定向。详情查看: https://docs.docker.com/engine/network/packet-filtering-firewalls/#docker-and-ufw

安装 #

bash
# 安装
apt install ufw

基本用法 #

bash
# 启用/停用/重载配置
ufw enable|disable|reload

# 查看状态
ufw status

# 查看已定义的规则以及相应的编号
ufw status numbered

# 设置默认入站策略为拒绝
ufw default deny incoming
# 设置默认出站策略为允许
ufw default allow outgoing

# 重置所有规则
ufw reset

# 管理规则——基本格式:
ufw [--dry-run] [delete] allow|deny|reject|limit [in|out [on INTERFACE]] [proto PROTOCOL] [from ADDRESS [port PORT | app APPNAME]] [to ADDRESS [port PORT | app APPNAME]] [comment COMMENT]

# 管理规则——样例:
ufw allow 8888
ufw allow 80/tcp
ufw allow 503/udp
ufw allow 8000:9000  # 开放端口范围 8000-9000
ufw allow 8000:9000/tcp
ufw allow ssh
ufw allow http
ufw allow https/tcp  # 开放443端口tcp协议

ufw deny 8888  # 拒绝处理8888端口的数据包(表现为连接超时)
ufw deny from 192.168.1.100 to any port 22  # 拒绝处理来自192.168.1.100访问22端口的数据包
ufw deny from 192.168.1.100
ufw deny from 192.168.1.0/24

ufw reject 8888  # 拒绝访问8888端口(表现为连接立即断开)

ufw delete allow 80/tcp  # 删除规则
ufw delete NUMBER  # 删除带编号的规则
2025年5月14日