温馨提示×

Ubuntu防火墙设置步骤是什么

小樊
43
2025-11-09 02:40:10
栏目: 智能运维

Ubuntu防火墙(UFW)设置步骤

1. 安装UFW防火墙

Ubuntu系统默认已预装UFW(Uncomplicated Firewall),若未安装,可通过以下命令安装:
sudo apt-get install ufw
安装完成后,UFW处于未启用状态。

2. 启用UFW防火墙

安装完成后,使用以下命令启用防火墙:
sudo ufw enable
启用后,系统会提示“Firewall is active and enabled on system startup”(防火墙已激活并在系统启动时自动启用)。
为增强安全性,建议同时设置默认拒绝策略(关闭所有外部对本机的未明确允许的访问):
sudo ufw default deny
此策略确保只有明确开放的端口/服务能被外部访问,本机访问外部不受影响。

3. 设置默认策略(可选但推荐)

默认策略决定了未明确规则时的流量处理方式,通常建议采用“默认拒绝”:
sudo ufw default deny
若需允许所有未明确拒绝的流量(不推荐,安全性较低),可使用:
sudo ufw default allow
但此设置会增加系统暴露风险,仅建议在测试环境中使用。

4. 开放/关闭端口或服务

开放端口/服务

  • 通过服务名称开放(需服务存在于/etc/services文件中,如SSH、HTTP):
    sudo ufw allow ssh(等价于开放22/tcp端口)
    sudo ufw allow http(等价于开放80/tcp端口)
  • 通过端口和协议开放(适用于自定义端口):
    sudo ufw allow 80/tcp(开放80端口,仅允许TCP协议)
    sudo ufw allow 53(开放53端口,允许TCP/UDP协议,默认不指定协议时同时允许两者)
  • 允许特定IP访问所有端口(如允许内网IP192.168.1.100完全访问本机):
    sudo ufw allow from 192.168.1.100
  • 允许特定IP访问指定端口(如允许192.168.1.100访问本机3306端口,用于MySQL数据库):
    sudo ufw allow from 192.168.1.100 to any port 3306

关闭端口/服务

  • 删除已开放的端口/服务规则(如关闭22/tcp端口):
    sudo ufw delete allow 22/tcp
  • 禁止特定IP访问(如禁止192.168.1.100访问所有端口):
    sudo ufw deny from 192.168.1.100
  • 禁止特定IP访问指定端口(如禁止192.168.1.100访问80端口):
    sudo ufw deny from 192.168.1.100 to any port 80

5. 查看防火墙状态

  • 查看简要状态(显示是否激活及开放的端口/服务):
    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 numbered
    输出示例:
    Status: active
     1. Allow 22/tcp
     2. Allow 80/tcp
    

6. 删除防火墙规则

若需删除已添加的规则,可通过规则编号具体规则语句删除:

  • 通过规则编号删除(如删除第1条规则):
    sudo ufw delete 1
  • 通过具体规则语句删除(如删除“Allow 80/tcp”规则):
    sudo ufw delete allow 80/tcp
    删除后,需重新加载防火墙使更改生效:
    sudo ufw reload
    系统会提示“Firewall reloaded”(防火墙已重新加载)。

7. 其他常用操作

  • 重启防火墙(应用最新配置):
    sudo ufw reload
  • 关闭防火墙(禁用):
    sudo ufw disable
    执行后,防火墙停止运行,系统恢复无防火墙保护状态。
  • 开启日志记录(记录防火墙活动,便于排查问题):
    sudo ufw logging on
  • 关闭日志记录
    sudo ufw logging off
  • 查看日志文件(默认路径为/var/log/ufw.log):
    sudo tail -f /var/log/ufw.log

0