ufw 设置防火墙规则
安装以及初始化
# 安装命令
sudo apt install ufw
# 检查UFW状态命令,默认未激活的状态
sudo ufw status verbose
在配置之前
# 重置所有规则 (先前有配置则不能进行改操作)
sudo ufw reset
# 在系统启动时启用和激活防火墙
sudo ufw enable
# 再次查看UFW状态,会发现已激活
sudo ufw status verbose
开启设置的默认策略
# 在配置之前,先启用默认设置,默认策略将拒绝所有传入连接,允许所有传出链接,这样可按需打开指定的端口或允许指定的ip来连接服务器。
sudo ufw default allow
配置规则
# 打开端口(端口/协议)没有指定协议则默认全部
sudo ufw allow 22/tcp
# 端口范围
sudo ufw allow 7100:7200/tcp
# 允许指定 IP 地址访问
sudo ufw allow from 64.63.62.61
# 允许指定 IP 地址访问指定端口
sudo ufw allow from 64.63.62.61 to any port 22
# 允许子网
sudo ufw allow from 192.168.1.0/24 to any port 3306
# 允许网卡
sudo ufw allow in on eth2 to any port 3306
# 禁止IP连接
sudo ufw deny from 23.24.25.0/24
# 禁止IP连接端口
sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443
添加规则,阻止其他传入连接
需要注意,规则按照添加的顺序进行优先级排序,若执行ufw deny from any
后,后续新增的规则就不能生效!!!
# 添加规则,阻止其他传入连接
sudo ufw deny from any
# 检查UFW状态
sudo ufw status
删除 UFW 规则
有两种不同的方式可以删除 UFW 规则。通过规则序号和通过指定的规则。
- 通过规则序号来删除
sudo ufw status numbered
# 输出
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 8080/tcp ALLOW IN Anywhere
# 删除规则,序号为3,这个规则允许对端口8080的连接
sudo ufw delete 3
- 指定实际的规则来删除
sudo ufw delete allow 8069
禁用\启用\重置UFW
# 禁用
sudo ufw disable
# 启用
sudo ufw enable
# 重置
sudo ufw reset