Ubuntu防火墙(UFW)使用教程大全
一、UFW概述
UFW(Uncomplicated Firewall)是Ubuntu系统默认的防火墙管理工具,基于iptables开发,旨在简化防火墙规则的配置流程。它提供了简洁的命令行接口,适合新手快速上手,同时支持IPv4和IPv6协议。
二、安装UFW
多数Ubuntu系统(如Server、Desktop版本)默认预装UFW,可通过以下命令检查是否安装:
ufw --version
若未安装,执行以下命令安装:
sudo apt update && sudo apt install ufw
三、启用与禁用UFW
1. 启用UFW
启用防火墙并设置开机自动启动:
sudo ufw enable
系统会提示“Command may disrupt existing ssh connections”,输入y确认(需确保已开放SSH端口,避免被锁)。
2. 禁用UFW
临时关闭防火墙(不影响下次启动):
sudo ufw disable
四、设置默认策略
默认策略决定了未明确允许的流量的处理方式,建议采用“拒绝所有入站,允许所有出站”的安全策略:
sudo ufw default deny incoming # 拒绝所有外部入站连接
sudo ufw default allow outgoing # 允许所有本机出站连接
执行后,防火墙会默认阻止所有未明确开放的端口,仅放行用户主动发起的连接。
五、常见规则配置
1. 允许服务/端口
- 通过服务名称允许(需服务在
/etc/services中定义):sudo ufw allow ssh # 允许SSH服务(默认22/tcp) sudo ufw allow http # 允许HTTP服务(默认80/tcp) sudo ufw allow https # 允许HTTPS服务(默认443/tcp) - 通过端口/协议允许(精确控制端口和协议):
sudo ufw allow 80/tcp # 允许TCP协议的80端口 sudo ufw allow 443/tcp # 允许TCP协议的443端口 sudo ufw allow 53/udp # 允许UDP协议的53端口(DNS) - 允许特定IP访问(限制来源IP):
sudo ufw allow from 192.168.1.100 # 允许192.168.1.100访问所有本机端口 sudo ufw allow from 192.168.1.0/24 # 允许192.168.1.0/24网段访问所有本机端口
2. 拒绝服务/端口
- 拒绝特定服务/端口(语法与
allow类似):sudo ufw deny 22/tcp # 拒绝TCP协议的22端口(SSH) sudo ufw deny smtp # 拒绝SMTP服务(默认25/tcp)
3. 删除规则
- 通过规则内容删除(如
allow 22/tcp):sudo ufw delete allow 22/tcp - 通过规则编号删除(先查看规则编号):
sudo ufw status numbered # 显示带编号的规则列表 sudo ufw delete 1 # 删除编号为1的规则
六、查看防火墙状态
-
查看简要状态(是否启用、默认策略、开放端口):
sudo ufw status输出示例:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 80/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) -
查看详细状态(包含规则编号、协议、源/目标地址):
sudo ufw status verbose
七、高级配置
1. 日志记录
开启/关闭防火墙日志(日志默认存储在/var/log/ufw.log):
sudo ufw logging on # 开启日志
sudo ufw logging off # 关闭日志
日志级别可通过/etc/ufw/ufw.conf中的LOGLEVEL调整(如low、medium、high)。
2. 允许/拒绝特定IP范围
- 允许IP段访问(如192.168.1.0/24):
sudo ufw allow from 192.168.1.0/24 - 拒绝IP段访问(如10.0.0.0/8):
sudo ufw deny from 10.0.0.0/8
3. 开放端口范围
允许连续端口范围(如8000-8005/tcp):
sudo ufw allow 8000:8005/tcp
八、重置UFW
若配置错误或需要重新开始,可重置UFW(清除所有规则并禁用):
sudo ufw reset
执行后,需重新启用并配置默认策略。
九、注意事项
- SSH端口保护:启用UFW前,务必开放SSH端口(22/tcp),避免被锁在外面:
sudo ufw allow 22/tcp sudo ufw enable - 规则顺序:UFW规则按添加顺序匹配,建议先设置默认策略,再添加具体规则。
- IPv6支持:若需启用IPv6防火墙,编辑
/etc/default/ufw,将IPV6=yes(默认开启)。
通过以上步骤,可快速掌握Ubuntu防火墙(UFW)的基本配置与管理,保障系统网络安全。