温馨提示×

Ubuntu防火墙使用教程大全

小樊
38
2025-11-11 03:09:12
栏目: 智能运维

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调整(如lowmediumhigh)。

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

执行后,需重新启用并配置默认策略。

九、注意事项

  1. SSH端口保护:启用UFW前,务必开放SSH端口(22/tcp),避免被锁在外面:
    sudo ufw allow 22/tcp
    sudo ufw enable
    
  2. 规则顺序:UFW规则按添加顺序匹配,建议先设置默认策略,再添加具体规则。
  3. IPv6支持:若需启用IPv6防火墙,编辑/etc/default/ufw,将IPV6=yes(默认开启)。

通过以上步骤,可快速掌握Ubuntu防火墙(UFW)的基本配置与管理,保障系统网络安全。

0