ufw¶
UFW Essentials: Common Firewall Rules and Commands for Linux Security | DigitalOcean
UFW 是 Ubuntu/Debian 系 Linux 发行版默认的防火墙配置工具,它本质上是一个简化前端(front-end),底层依赖 Linux 内核的 netfilter/iptables(或现代的 nftables)机制来实现数据包过滤。
安装¶
sudo apt update
sudo apt install ufw
配置与使用¶
-
设置默认策略
sudo ufw default deny incoming # 默认拒绝所有入站连接(最安全) sudo ufw default allow outgoing # 默认允许所有出站连接(方便更新、下载等)
Warning
若是在ssh连接shell中配置,为避免连接中断,务必在规则中先允许ssh流量通过再启用防火墙
sudo ufw allow OpenSSH # 使用应用名称
sudo ufw allow ssh # 使用协议名称
sudo ufw allow 22/tcp # 使用端口和协议
sudo ufw allow from 192.168.1.0/24 to any port 80 proto tcp # 使用源地址和目标地址
-
启用防火墙
sudo ufw enable -
禁用防火墙
sudo ufw disable -
查看防火墙状态信息
sudo ufw status verbose
Tip
-
注意在只指定端口而不带协议时,UFW 默认会同时开放该端口的 TCP 和 UDP 两个传输层协议
-
大部分情况下不需要在修改规则后reload,UFW 会立即把规则应用到 iptables(防火墙实时生效)
-
移除一个规则
sudo ufw delete allow 22/tcp # 端口 sudo ufw delete allow OpenSSH # 应用名称 sudo ufw delete allow ssh # 协议/服务名称还可以通过规则编号来移除一个规则,首先按编号列出所有规则:
$ sudo ufw status numbered # 按编号列出所有规则 Status: active To Action From -- ------ ---- [1] OpenSSH ALLOW IN Anywhere [2] 80/tcp ALLOW IN Anywhere [3] 443/tcp ALLOW IN Anywhere [4] 22/tcp (v6) ALLOW IN Anywhere (v6)sudo ufw delete 1 # 移除编号为1的规则