温馨提示×

Ubuntu环境怎样设置防火墙

小樊
38
2025-12-04 11:18:31
栏目: 智能运维

Ubuntu 防火墙设置指南

一 选择工具与准备

  • Ubuntu 桌面与服务器常用 UFW(Uncomplicated Firewall) 来简化防火墙管理;需要更细粒度控制时可用 iptables
  • 多数发行版默认已安装 UFW;如未安装,可执行:sudo apt update && sudo apt install ufw
  • 操作前建议先查看状态:sudo ufw status;UFW 未启用时状态为 inactive

二 使用 UFW 快速配置

  • 启用与默认策略
    • 启用:sudo ufw enable(开机自启)
    • 默认拒绝入站:sudo ufw default deny
    • 允许出站(通常默认允许):sudo ufw default allow outgoing
  • 常用规则
    • 放行端口/协议:sudo ufw allow 22/tcpsudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw allow 53(53 为 TCP/UDP
    • 放行服务名:sudo ufw allow sshsudo ufw allow smtp
    • 按来源 IP 放行:sudo ufw allow from 192.168.1.100
    • 按来源网段放行:sudo ufw allow from 10.0.0.0/8sudo ufw allow from 172.16.0.0/12sudo ufw allow from 192.168.0.0/16
    • 按协议/端口范围:sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
  • 查看与删除
    • 查看状态与规则:sudo ufw statussudo ufw status numbered
    • 删除规则:sudo ufw delete allow 80/tcp,或按编号删除:sudo ufw delete 10
  • 日志与启停
    • 日志:sudo ufw logging on|off
    • 停止/禁用:sudo ufw disable

三 使用 iptables 进行高级配置

  • 基本用法
    • 查看规则:sudo iptables -L -n
    • 放行端口:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    • 放行来源 IP 的端口:sudo iptables -A INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT
    • 拒绝端口:sudo iptables -A INPUT -p tcp --dport 1234 -j DROP
  • 持久化
    • 保存规则:sudo netfilter-persistent save
    • 加载模块:sudo modprobe ip_tables
  • 提示:UFW 本质是对 iptables 的封装,适合大多数场景;需要复杂策略再直接使用 iptables。

四 常用场景示例

  • 仅开放 SSH、HTTP、HTTPS
    • sudo ufw allow 22/tcp
    • sudo ufw allow 80/tcp
    • sudo ufw allow 443/tcp
    • sudo ufw enable
  • 放行本机 DNS 访问(UDP/TCP 53)
    • sudo ufw allow 53
  • 仅允许内网网段访问 SSH
    • sudo ufw allow from 10.0.0.0/8 to any port 22
    • sudo ufw allow from 172.16.0.0/12 to any port 22
    • sudo ufw allow from 192.168.0.0/16 to any port 22
  • 删除某条规则
    • sudo ufw delete allow 22/tcp,或 sudo ufw status numbered 后按编号删除

五 安全与排错建议

  • 修改规则前先确保已放行 SSH(22/TCP),避免远程断开;必要时在控制台操作。
  • 规则顺序会影响匹配结果;不确定时先 status numbered 查看,再按编号删除或插入。
  • 对公网服务仅开放必要端口,尽量限制来源 IP 或网段。
  • 定期查看状态与日志:sudo ufw statussudo ufw logging on;异常时检查云厂商安全组/本机其他过滤规则是否冲突。

0