Ubuntu防火墙(UFW)新手指南
UFW(Uncomplicated Firewall)是Ubuntu系统默认的防火墙管理工具,基于iptables开发,通过简化的命令行接口降低配置门槛,适合新手快速上手。以下是新手必学的核心操作与注意事项:
Ubuntu系统通常预装UFW,若未安装,可通过以下命令快速安装:
sudo apt update && sudo apt install ufw -y
安装完成后,通过sudo ufw --version确认安装成功(显示版本号即为正常)。
配置前需确认UFW当前状态,使用以下命令:
sudo ufw status
Status: inactive,表示防火墙未启用;Status: active,则表示防火墙已激活,下方会列出当前生效的规则。verbose参数:sudo ufw status verbose
默认策略是防火墙的“底线”,建议新手遵循“拒绝所有入站、允许所有出站”的原则(确保服务器自身能访问外部网络,同时阻止外部非法访问):
sudo ufw default deny incoming # 拒绝所有外部入站连接
sudo ufw default allow outgoing # 允许所有本地出站连接
此设置会自动屏蔽所有未明确允许的入站流量,提升系统安全性。
根据服务器用途,需开放对应服务的端口。以下是常见服务的配置示例:
sudo ufw allow ssh # 通过服务名允许(推荐,避免记错端口)
# 或指定端口+协议
sudo ufw allow 22/tcp
sudo ufw allow http
# 或
sudo ufw allow 80/tcp
sudo ufw allow https
# 或
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp # 允许MySQL数据库端口
若需限制仅特定IP可访问服务器(如公司IP、个人电脑IP),可使用from参数:
sudo ufw allow from 192.168.1.100 to any port 22 # 仅允许192.168.1.100访问SSH端口
from 192.168.1.100:指定允许的源IP;to any port 22:允许访问本机的22端口(任意网络接口)。sudo ufw allow from 192.168.1.0/24 to any port 80 # 允许子网内所有IP访问HTTP端口
配置完规则后,需启用防火墙以激活规则:
sudo ufw enable
系统会提示“Command may disrupt existing ssh connections. Proceed with operation? (y/n)”,输入y并回车确认。启用后,UFW会自动保存规则并随系统启动。
sudo ufw status numbered # 显示带编号的规则
sudo ufw delete 2 # 删除第2条规则(根据编号调整)
delete+规则内容删除:sudo ufw delete allow 22/tcp # 删除允许22/tcp的规则
若配置混乱或需重新开始,可使用reset命令清空所有规则并禁用防火墙:
sudo ufw reset
注意:此操作会删除所有自定义规则,需谨慎使用!
sudo ufw allow ssh # 确保SSH端口开放
sudo ufw status # 确认规则已生效
sudo ufw status显示inactive,需重新启用:sudo ufw enable
sudo ufw status查看规则,及时删除无用规则;sudo tail -f /var/log/ufw.log实时查看防火墙日志,及时发现异常访问(如大量来自陌生IP的连接请求)。通过以上步骤,新手可快速掌握Ubuntu防火墙的基本配置,为服务器或本地系统建立第一道安全防线。