当前位置:首页 > Linux > 正文

Linux防火墙如何配置

Linux系统主要通过命令行工具管理防火墙: ,1. **iptables**:传统工具,使用 iptables -L查看规则 ,2. **firewalld**:主流工具(CentOS/RHEL等),通过 firewall-cmd --state检查状态 ,3. **UFW**:Ubuntu简易工具, ufw status查看状态 ,操作需root权限,不同发行版默认工具不同。

在Linux系统中,访问和管理防火墙是系统安全的核心操作,根据发行版和防火墙工具的不同,主要有三种主流方式:iptables(传统工具)、firewalld(Red Hat/CentOS/Fedora默认)和ufw(Ubuntu/Debian简化工具),以下是详细操作指南:


通过 iptables 访问防火墙

iptables 是 Linux 最基础的防火墙工具,直接操作内核级规则。

常用命令:

Linux防火墙如何配置 第1张

️ 注意:

  • 规则修改后需手动保存,否则重启失效。
  • 复杂规则需熟悉链(INPUT/OUTPUT/FORWARD)和表(filter/nat)结构。


通过 firewalld 访问防火墙

firewalld 是动态防火墙管理器,支持“区域”概念(如 public、home),适用于 CentOS/RHEL/Fedora。

关键操作:

Linux防火墙如何配置 第2张

# 启动服务 sudo systemctl start firewalld sudo systemctl enable firewalld # 查看活动区域 sudo firewall-cmd --get-active-zones # 开放端口(如永久开放443端口) sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload # 重载配置 # 允许服务(如放行SSH) sudo firewall-cmd --permanent --add-service=ssh # 拒绝IP段(如屏蔽10.0.0.0/24) sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" reject'

优势:

无需重启服务,--reload 可动态应用新规则,避免网络中断。

Linux防火墙如何配置 第3张


通过 ufw (Uncomplicated Firewall) 访问防火墙

ufw 是简化版工具,适合 Ubuntu/Debian 新手用户。

基础步骤:

# 启用ufw sudo ufw enable # 允许端口或服务(如开放22端口和Nginx) sudo ufw allow 22 sudo ufw allow 'Nginx Full' # 拒绝特定IP sudo ufw deny from 203.0.113.50 # 查看规则状态 sudo ufw status numbered # 带编号显示规则 # 删除规则(根据编号) sudo ufw delete 2 # 删除第2条规则

提示:

使用 ufw app list 查看预定义应用配置(如 Plex、Samba)。


通用检查与故障排除

  1. 验证防火墙状态 sudo systemctl status firewalld # firewalld sudo ufw status # ufw
  2. 查看端口监听 sudo ss -tulnp | grep :80 # 检查80端口是否被监听
  3. 诊断连接问题 traceroute example.com # 跟踪路由 telnet example.com 22 # 测试端口连通性


安全操作建议

  1. 备份规则 sudo iptables-save > ~/iptables-backup.txt # iptables备份
  2. 避免锁定自己
    • 修改规则前确保放行当前SSH连接。
    • 使用 cron 设置超时回滚:sudo ufw disable(5分钟后执行)。
  3. 最小权限原则
    • 仅开放必要端口(如SSH、HTTP/HTTPS)。
    • 使用 --permanent(firewalld)或持久化保存(iptables/ufw)。


引用说明

  • iptables 官方文档:https://netfilter.org/documentation/
  • firewalld 手册:https://firewalld.org/documentation/
  • ufw 社区指南:https://help.ubuntu.com/community/UFW
  • Linux 内核网络栈:https://www.kernel.org/doc/html/latest/networking/index.html

操作需 root 权限,生产环境建议先在测试机验证,不同发行版命令可能略有差异,请以官方文档为准。

0