linux路由器防火墙配置命令手册
linux路由器防火墙配置命令手册详细介绍
以下是 Linux 路由器防火墙配置的命令手册,涵盖主流工具(iptables、nftables、firewalld)的核心操作和实战案例,结合 2025 年最新技术趋势与安全实践:
一、iptables:经典防火墙工具
1. 基础规则配置
bash
iptables iptables
iptables INPUT DROP
iptables FORWARD DROP
iptables OUTPUT ACCEPT
iptables INPUT lo ACCEPT
iptables INPUT conntrack ESTABLISHED,RELATED ACCEPT
iptables INPUT tcp ACCEPT
iptables INPUT tcp ACCEPT
iptables save
iptables-save /etc/iptables/rules.v4
2. 高级功能
bash
iptables nat POSTROUTING eth0 MASQUERADE
iptables nat PREROUTING tcp DNAT --to-destination .1.100:80
iptables FORWARD tcp .1.100 ACCEPT
iptables INPUT tcp limit /min ACCEPT
二、nftables:下一代防火墙框架
1. 基础规则配置
bash
nft flush ruleset
nft table inet filter
nft chain inet filter input filter hook input priority policy drop
nft chain inet filter forward filter hook forward priority policy drop
nft chain inet filter output filter hook output priority policy accept
nft rule inet filter input ct state established,related accept
nft rule inet filter input tcp dport accept
nft list ruleset /etc/nftables.conf
systemctl nftables
2. 高级功能
bash
nft inet filter blacklist ipv4_addr
nft element inet filter blacklist .1.100, .0.0/24
nft rule inet filter input saddr @blacklist drop
nft rule inet filter input protocol tcp dport meter name http-meter bytes 100k burst 100k
nft rule inet filter input meter http-meter drop
nft rule ip6 filter input icmpv6 nd-neighbor-solicit, nd-router-advert accept
三、firewalld:动态防火墙管理
1. 基础规则配置
bash
systemctl firewalld
firewall-cmd --set-default-zonepublic
firewall-cmd --add-servicehttp
firewall-cmd --add-servicehttps
firewall-cmd --add-forward-portport:prototcp:toport:toaddr.1.100
2. 高级功能(富规则)
bash
firewall-cmd --add-rich-rule
firewall-cmd --add-rich-rule
firewall-cmd --add-masquerade
四、UFW:简化的防火墙工具(Ubuntu/Debian)
bash
ufw default deny incoming
ufw default allow outgoing
ufw allow /tcp
ufw allow /tcp
ufw allow /tcp
ufw limit /tcp
ufw disable
五、规则持久化与恢复
1. iptables
bash
iptables save
iptables-save /etc/iptables/rules.v4
iptables-restore /etc/iptables/rules.v4
2. nftables
bash
nft list ruleset /etc/nftables.conf
nft /etc/nftables.conf
3. firewalld
bash
firewall-cmd --runtime-to-permanent
/etc/firewalld/zones/public.xml
六、安全实践与优化
- 默认拒绝策略:始终设置 INPUT 和 FORWARD 链为 DROP,仅开放必要端口。
- 最小权限原则:避免开放不必要的服务,如 SNMP、Telnet。
- 日志记录:bash
iptables INPUT LOG --log-prefix --log-level
firewall-cmd --add-rich-rule
- 定期备份:bash
iptables-save firewall_backup.v4
nft list ruleset nft_backup.rules
七、常见问题排查
- 端口测试:bash
IP PORTtelnet IP PORT
- 实时监控:bash
iptables --line-numbers
nft monitor trace
firewall-cmd --list-all
八、工具对比与选型建议
| 工具 | 适用场景 | 优势 | 推荐版本 |
|---|---|---|---|
| nftables | 新系统(Linux 3.13+) | 性能优化、集合支持、IPv6 统一管理 | 2025 年主流选择 |
| iptables | 传统系统(如 CentOS 7) | 兼容性强、社区支持广 | 逐步被 nftables 取代 |
| firewalld | RHEL/CentOS 8+/Fedora | 动态管理、区域配置、服务抽象 | 2.1.0 及以上 |
| UFW | Ubuntu/Debian 桌面环境 | 命令简洁、适合新手 | 所有版本 |
九、参考资源
- nftables 官方文档:https://nftables.org
- firewalld 官方文档:https://firewalld.org
- iptables 维基百科:https://en.wikipedia.org/wiki/Iptables
- CSDN 防火墙专栏:https://blog.csdn.net/column/details/40333.html
通过以上配置,您可以构建一个安全、高效的 Linux 路由器防火墙。建议在生产环境中结合 fail2ban、OSSEC 等工具实现自动化防护,并定期进行安全审计。