售前咨询400-838-0503

如何配置防火墙(iptables/firewalld)?

发布:2025-04-12 08:55

Linux防火墙完全配置指南:iptables与firewalld深度解析

在当今网络安全威胁日益严峻的环境下,正确配置防火墙成为每个系统管理员必备的核心技能。本文将深入探讨Linux系统中两大主流防火墙解决方案——iptables和firewalld的配置方法与最佳实践。

一、防火墙基础概念

防火墙是网络安全的"守门人",通过预定义规则控制网络流量进出。Linux系统提供多种防火墙解决方案:

  • iptables:传统网络包过滤系统,直接与内核netfilter交互
  • firewalld:基于iptables的现代化动态防火墙管理工具
  • nftables:iptables的替代方案(本文暂不讨论)

二、iptables实战配置

2.1 基本命令结构

sudo iptables -[A/I/D] 链名 -p 协议 --dport 端口 -j 动作

2.2 常用配置示例

允许SSH访问(22端口)

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

允许HTTP/HTTPS流量

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

2.3 规则持久化

iptables规则默认重启后丢失,需要保存:

sudo iptables-save > /etc/iptables.rules
sudo echo "pre-up iptables-restore < /etc/iptables.rules" >> /etc/network/interfaces

三、firewalld现代防火墙管理

3.1 核心概念

  • zone:预定义的信任级别(如public、home、internal)
  • service:预定义的服务规则集合
  • runtime/permanent:运行时配置与永久配置的区别

3.2 常用操作

查看活动zone

sudo firewall-cmd --get-active-zones

允许HTTP服务

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
    

四、高级配置技巧

4.1 端口转发

sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80

4.2 防御DDoS攻击

sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j DROP

4.3 日志记录

sudo iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: " --log-level 4

五、最佳安全实践

  1. 遵循最小权限原则,只开放必要端口
  2. 定期审计防火墙规则(iptables -L -n -v
  3. 结合fail2ban等工具增强防护
  4. 测试规则前确保留有管理端口访问权限
  5. 重要变更前备份现有规则

无论是选择传统的iptables还是现代的firewalld,理解其工作原理和掌握核心配置技巧都至关重要。建议初学者从firewalld入手,逐步深入理解底层的iptables规则。记住,良好的防火墙配置应该像洋葱一样层层防护,而不是依赖单一安全措施。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单