在Rocky Linux 9中通过firewalld配置多网段路由需结合以下步骤:
-
启用IP转发
- 修改
/etc/sysctl.conf
设置net.ipv4.ip_forward=1
,执行sysctl -p
生效
- 修改
-
划分网络区域
- 为不同接口分配zone(如
internal
和external
) firewall-cmd --zone=internal --add-interface=eth0 --permanent
firewall-cmd --zone=external --add-interface=eth1 --permanent
- 为不同接口分配zone(如
-
配置源地址路由
- 使用富规则指定源网段转发策略:
firewall-cmd --zone=internal --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade' --permanent
- 使用富规则指定源网段转发策略:
-
设置目标NAT(可选)
- 使用端口转发实现跨网段服务访问:
firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.0.0.10 --permanent
- 使用端口转发实现跨网段服务访问:
-
负载均衡(高级)
- 通过direct规则调用iptables实现策略路由:
firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o eth1 -j MASQUERADE
- 通过direct规则调用iptables实现策略路由:
-
持久化配置
- 所有操作添加
--permanent
参数并执行firewall-cmd --reload
- 验证路由表
ip route show
和连接追踪conntrack -L
- 所有操作添加
注意:需配合网络接口配置文件确保各网卡处于up状态,建议使用nmcli管理多网卡静态路由配置实现更精细的控制。