Linux系统防火墙高级配置学习,涵盖iptables、firewalld和nftables等主流工具,包含实战案例和深度技术解析:
Day 1:防火墙基础回顾
目标:掌握防火墙核心概念与基础操作
- 防火墙类型对比包过滤防火墙 vs 应用层防火墙状态检测防火墙原理
- iptables四表五链
# 查看规则
iptables -L -n -v --line-numbers
- firewalld基础
# 查看默认区域
firewall-cmd --get-default-zone
# 添加HTTP服务
firewall-cmd --permanent --add-service=http
- 数据包处理流程
PREROUTING -> INPUT/FORWARD -> POSTROUTING
Day 2:高级规则配置
目标:掌握复杂规则编写与优化
- 连接跟踪(conntrack)
# 允许已建立连接
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
- 限速规则
# 限制SSH连接频率
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP
- 日志记录
# 记录被拒绝的SSH尝试
iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH_DENIED: "
Day 3:nftables深度实践
目标:掌握新一代防火墙配置
- nftables优势统一语法更好的性能
- 规则集配置示例
# 创建过滤表
nft add table ip filter
# 创建输入链
nft add chain ip filter input { type filter hook input priority 0 \; }
# 允许SSH
nft add rule ip filter input tcp dport 22 ct state new,established accept
- 集合与字典应用
# 创建IP黑名单
nft add set ip filter blacklist { type ipv4_addr \; }
nft add rule ip filter input ip saddr @blacklist drop
Day 4:网络地址转换(NAT)
目标:掌握端口转发和地址转换
- SNAT配置
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 203.0.113.5
- DNAT实现
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080
- 端口映射(firewalld)
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.10
Day 5:安全加固与入侵防御
目标:构建主动防御体系
- fail2ban集成
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
bantime = 1h
- 防SYN Flood攻击
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
- 应用层防护
# 阻止HTTP敏感路径访问
iptables -A INPUT -p tcp --dport 80 -m string --string "/etc/passwd" --algo bm -j DROP
Day 6:高可用与负载均衡
目标:实现企业级防火墙架构
- 防火墙集群方案Keepalived + iptables
- 负载均衡配置
iptables -t nat -A PREROUTING -p tcp --dport 80 -m statistic --mode random --probability 0.5 -j DNAT --to-destination 10.0.1.2:80
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.0.1.3:80
Day 7:综合实战与排错
目标:真实场景问题解决
- 复杂网络环境配置多网卡策略路由VLAN间通信控制
- 防火墙性能优化
# 规则排序优化(高频规则前置)
iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
- 常见故障排查
# 连接跟踪查看
conntrack -L
# 规则匹配测试
iptables -t raw -A OUTPUT -p tcp --dport 80 -j TRACE
扩展学习资源
- 官方文档:nftables Wikifirewalld Documentation
- 网络分析工具:tcpdump高级用法Wireshark流量分析
- 安全标准:CIS Linux安全基准NIST网络安全框架
注意事项:
- 生产环境操作前务必在测试环境验证
- 使用iptables-save/firewall-cmd --runtime-to-permanent保存配置
- 定期审计防火墙规则(推荐使用fwcheck等工具)