新闻中心

Linux防火墙配置方法(2026最新版|iptables、firewalld、ufw完整配置教程)

栏目:软件教程 日期: 作者:admin 阅读:7

Linux防火墙是服务器安全体系中的核心组件,用于控制网络访问、过滤恶意连接以及保护系统服务不被非法访问。在实际运维中,合理配置Linux防火墙可以有效降低被攻击风险,并保障Web服务、数据库服务的稳定运行。

目前主流Linux发行版常用的防火墙方案包括:iptables、firewalld(CentOS/RHEL系)、ufw(Ubuntu系)。本文将系统讲解三种防火墙配置方法。


Linux防火墙的作用

Linux防火墙主要用于:

  1. 控制入站与出站网络流量

  2. 限制指定端口访问

  3. 防止DDoS与恶意扫描

  4. 保护SSH、HTTP、数据库等服务

  5. 提升服务器整体安全性

在生产环境中,防火墙几乎是必备安全配置。


常见Linux防火墙类型

iptables(传统防火墙工具)

iptables是Linux最经典的防火墙工具,基于内核netfilter框架。

特点:

  • 功能强大

  • 灵活度高

  • 配置复杂

适用于高级运维和定制化安全策略。


firewalld(CentOS / RHEL 7+ 默认)

firewalld是新一代动态防火墙管理工具。

特点:

  • 支持动态规则更新

  • 使用“区域(zone)”管理

  • 操作更简单

适用于服务器环境。


ufw(Ubuntu默认简化防火墙)

ufw是iptables的封装工具。

特点:

  • 操作简单

  • 适合新手

  • 配置快速


firewalld防火墙配置方法(推荐服务器使用)

查看防火墙状态

systemctl status firewalld


启动与关闭防火墙

启动:

systemctl start firewalld

开机自启:

systemctl enable firewalld

关闭:

systemctl stop firewalld


开放端口(如80、443)

开放HTTP端口:

firewall-cmd --permanent --add-port=80/tcp

开放HTTPS端口:

firewall-cmd --permanent --add-port=443/tcp

重新加载配置:

firewall-cmd --reload


查看已开放端口

firewall-cmd --list-ports


允许指定服务

例如允许SSH:

firewall-cmd --permanent --add-service=ssh

firewall-cmd --reload


iptables防火墙配置方法(经典方式)

查看规则

iptables -L -n -v


允许SSH端口(22)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT


允许HTTP/HTTPS

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT


禁止所有入站流量(慎用)

iptables -P INPUT DROP


保存规则

CentOS系统:

service iptables save

或:

iptables-save > /etc/sysconfig/iptables


ufw防火墙配置方法(Ubuntu推荐)

启用防火墙

ufw enable


查看状态

ufw status


允许端口访问

允许SSH:

ufw allow 22

允许HTTP:

ufw allow 80

允许HTTPS:

ufw allow 443


拒绝端口

ufw deny 21


删除规则

ufw delete allow 80


Linux防火墙高级配置技巧

1. 限制SSH暴力破解

firewalld中可结合fail2ban使用:

  • 自动封禁异常IP

  • 防止密码爆破攻击


2. 限制IP访问

iptables示例:

iptables -A INPUT -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -j DROP


3. 仅允许指定网段访问

适用于内网服务器:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'


4. 查看实时连接

netstat -tulnp
ss -tulnp


Linux防火墙常见问题

1. 开启防火墙后网站无法访问

可能原因:

  • 未开放80/443端口

  • 服务未绑定正确端口

  • 规则未重新加载

解决方法:

检查端口开放情况并执行 reload。


2. SSH无法连接服务器

常见原因:

  • 22端口被关闭

  • IP被限制

  • 防火墙策略错误

解决方法:

临时关闭防火墙或放行22端口。


3. 规则修改后不生效

原因:

  • 未使用 --permanent

  • 未reload防火墙

解决:

firewall-cmd --reload


Linux防火墙配置优化建议

为了保证安全与稳定性,建议:

  • 生产环境优先使用firewalld

  • 仅开放必要端口

  • 禁止默认全部开放策略

  • 配合fail2ban增强防护

  • 定期检查规则列表


总结

Linux防火墙配置是服务器安全管理的基础能力。不同系统可选择不同工具:

  • CentOS / RHEL:firewalld

  • Ubuntu:ufw

  • 高级定制:iptables

核心原则是:最小开放原则,只允许必要流量通过。合理配置防火墙可以显著提升服务器安全性与稳定性。


相关资讯