温馨提示×

Ubuntu虚拟机防火墙配置教程

小樊
47
2025-09-23 03:15:26
栏目: 云计算

Ubuntu虚拟机防火墙(UFW)配置教程

UFW(Uncomplicated Firewall)是Ubuntu系统默认的防火墙管理工具,基于iptables/nftables实现,提供了简单易用的命令行接口,适合新手快速配置防火墙规则。以下是详细配置步骤:

1. 安装UFW

多数Ubuntu系统(如22.04及以上版本)已预装UFW,若未安装,可通过以下命令安装:

sudo apt update # 更新软件包索引 sudo apt install ufw # 安装UFW 

2. 启用UFW

安装完成后,使用以下命令启用UFW:

sudo ufw enable 

系统会提示“Command may disrupt existing ssh connections. Proceed with operation? (y/n)”,输入y并回车确认。启用后,UFW会随系统启动自动加载。

3. 配置默认策略

默认策略决定了未明确允许的流量如何处理,建议设置为拒绝所有入站、允许所有出站(平衡安全性与便利性):

sudo ufw default deny incoming # 拒绝所有传入连接 sudo ufw default allow outgoing # 允许所有传出连接 

4. 添加防火墙规则

允许特定端口

  • 允许TCP协议的80端口(HTTP):
    sudo ufw allow 80/tcp 
  • 允许UDP协议的53端口(DNS):
    sudo ufw allow 53/udp 

允许特定服务

UFW内置了常见服务的规则(如SSH、HTTP、HTTPS),可直接通过服务名添加:

sudo ufw allow ssh # 允许SSH服务(默认端口22) sudo ufw allow http # 允许HTTP服务(端口80) sudo ufw allow https # 允许HTTPS服务(端口443) 

允许特定IP地址

  • 允许单个IP(如192.168.1.100)访问所有端口:
    sudo ufw allow from 192.168.1.100 
  • 允许单个IP访问特定端口(如22端口):
    sudo ufw allow from 192.168.1.100 to any port 22 

允许特定子网

  • 允许192.168.0.0/24子网访问所有端口:
    sudo ufw allow from 192.168.0.0/24 

5. 删除防火墙规则

根据规则内容删除

  • 删除允许80/tcp端口的规则:
    sudo ufw delete allow 80/tcp 

根据规则编号删除

  • 先查看规则编号:
    sudo ufw status numbered 
  • 删除编号为3的规则(假设编号3是允许SSH的规则):
    sudo ufw delete 3 

6. 查看防火墙状态

  • 查看简要状态(仅显示规则概要):
    sudo ufw status 
  • 查看详细状态(包含规则编号、端口/服务等详细信息):
    sudo ufw status verbose 
  • 查看带编号的详细规则(便于删除操作):
    sudo ufw status numbered 

7. 禁用UFW

若需临时关闭防火墙(如排查网络问题),可使用以下命令:

sudo ufw disable 

8. 重置UFW配置

若配置错误或需要重新开始,可重置UFW(清除所有规则并恢复默认状态):

sudo ufw reset 

9. 可选:启用日志记录

启用日志记录可跟踪防火墙拦截的流量(日志文件路径:/var/log/ufw.log):

sudo ufw logging on # 开启日志 sudo ufw logging off # 关闭日志 

注意事项

  • 配置规则前,确保已允许SSH连接(sudo ufw allow ssh),否则可能导致无法远程登录。
  • 修改规则后,无需重启UFW,规则会立即生效。
  • 生产环境中,建议根据实际需求细化规则(如仅允许必要端口、限制IP范围),避免过度开放权限。

0