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 # 删除带编号的规则