Ubuntu 22.04使用UFW设置防火墙
1、设置默认策略
如果刚开始使用 UFW,那么第一步最好是检查您的默认防火墙策略。
默认情况下,UFW 设置为拒绝所有传入连接并允许所有传出连接。
允许特定服务和端口的附加规则作为此一般策略的例外。
$ sudo ufw default allow outgoing
$ sudo ufw default deny incoming
确保启用IPV6
$ sudo nano /etc/default/ufw
在 Ubuntu 的最新版本中,IPv6 是默认启用的
# grep IPV6 /etc/default/ufw
IPV6=yes
2、允许 SSH 连接
通过服务名称和端口号允许SSH
$ sudo ufw allow ssh
$ sudo ufw allow 4242/tcp
3、启用 UFW
$ sudo ufw enable
您将收到一条警告,提示该命令可能会中断现有的 SSH 连接。前面设置了允许 SSH 连接的防火墙规则,因此可以继续。
4、允许其他连接
4.1 端口
$ sudo ufw allow 80/tcp comment 'Allow Apache HTTP'
$ sudo ufw allow 443/tcp comment 'Allow Nginx HTTPS'
4.2 端口范围
$ sudo ufw allow 6000:6007/tcp
$ sudo ufw allow 6000:6007/udp
使用 UFW 指定端口范围时,必须指定规则应适用的协议(tcp或udp),不指定协议会自动允许两种协议。
4.3 IP地址
$ sudo ufw allow from 203.0.113.4
$ sudo ufw allow from 203.0.113.4 to any port 22
允许IP地址 203.0.113.4 连接到端口 25
4.4 子网
$ sudo ufw allow from 203.0.113.0/24
$ sudo ufw allow from 203.0.113.0/24 to any port 22
4.5 特定网络接口
$ sudo ufw allow in on eth0 to any port 80
$ sudo ufw allow in on eth1 to any port 3306
5、阻止连接
$ sudo ufw deny http
$ sudo ufw deny from 203.0.113.4
$ sudo ufw deny out 25
6、删除规则
按编号、名称和端口号删除规则。
$ sudo ufw status numbered
$ sudo ufw delete 2
$ sudo ufw delete allow http
$ sudo ufw delete allow 80
7、检查UFW状态和规则
$ sudo ufw status verbose
8、禁用和重置防火墙
$ sudo ufw disable
$ sudo ufw reset