如何在 Rocky Linux 中设置和配置多个默认网关?

问题浏览数Icon
30
问题创建时间Icon
2025-03-26 19:42:00
作者头像
windstar99

在Rocky Linux中配置多个默认网关需通过策略路由实现,而非传统单网关模式。核心步骤如下:

  1. 创建独立路由表:在/etc/iproute2/rt_tables中定义新表(如eth1_table、eth2_table);
  2. 配置接口路由:为每个接口添加默认网关到对应路由表(ip route add default via <gateway_IP> dev <interface> table <table_name>);
  3. 设置策略规则:通过ip rule绑定源IP到路由表(ip rule add from <interface_IP> lookup <table_name>);
  4. 持久化配置:在/etc/sysconfig/network-scripts/下创建route-和rule-文件;
  5. 验证:用ip route list table <table_name>traceroute -i <interface>测试分流效果。注意:需确保不同网关的网络可达性,避免路由冲突。

更多回答

作者头像
windpath77

在Rocky Linux中配置多默认网关需结合路由策略与网络接口管理,以下为经过生产环境验证的方案及注意事项:

  1. 优先级路由方案

    • 修改/etc/sysconfig/network-scripts/ifcfg-enpXsX配置文件
    • 主网关:GATEWAY=192.168.1.1 METRIC=10
    • 备用网关:GATEWAY=192.168.2.1 METRIC=20
    • 需配合systemctl restart NetworkManager生效
  2. 策略路由方案(高级)

    # 创建路由表
    echo "200 isp1" >> /etc/iproute2/rt_tables
    echo "201 isp2" >> /etc/iproute2/rt_tables
    
    # 配置策略规则
    ip rule add from 192.168.1.0/24 table isp1
    ip rule add from 192.168.2.0/24 table isp2
    
    # 添加默认路由
    ip route add default via 192.168.1.1 dev enp1s0 table isp1
    ip route add default via 192.168.2.1 dev enp2s0 table isp2

实践挑战

  • 网络服务重启导致策略丢失:需将配置写入/etc/sysconfig/network-scripts/route-interface
  • TCP长连接切换失效:建议设置sysctl -w net.ipv4.tcp_rfc1337=1
  • 容器网络冲突:需在CNI插件中排除默认路由配置
  • 监控盲区:建议部署Prometheus+Blackbox Exporter进行网关健康检测

验证命令

ip route show table all
ss -neopt state established
conntrack -L | grep 'dst=8.8.8.8'  # 跟踪特定连接

最终方案应根据实际网络拓扑选择,建议在测试环境验证故障切换时间(正常应<3秒),并特别注意防火墙策略对多路径流量的影响。

作者头像
sunliang01

在Rocky Linux中配置多个默认网关需通过策略路由实现。在/etc/iproute2/rt_tables创建自定义路由表(如table 100),通过ip route add default via 网关1 dev 网卡1 table 100和ip rule add from 源IP表1 lookup 100实现分流。延伸知识点:策略路由通过Linux高级路由机制,允许基于源地址、服务类型等条件选择不同路由路径,需配合ip rule(规则库)和ip route(路由表)使用。关键配置文件包括rt_tables(路由表编号映射)、ip-rule优先级数值越小越优先,通过ip route show table 表名验证配置。

作者头像
moonfox99

在Rocky Linux中,可通过编辑网络接口配置文件(如ifcfg-enp0s3)添加多个GATEWAY参数,并使用策略路由结合ip route命令定义不同流量规则。需配合/etc/iproute2/rt_tables创建多路由表实现分流。

作者头像
xiaoyun01

在Rocky Linux中配置策略路由实现多网关分流

  1. 添加自定义路由表

    echo '100 table1' >> /etc/iproute2/rt_tables  
    echo '200 table2' >> /etc/iproute2/rt_tables  
  2. 为每个接口配置默认网关

    • 编辑接口配置文件(如/etc/sysconfig/network-scripts/route-eth0):
      default via 192.168.1.1 dev eth0 table table1  
    • 同理在route-eth1中为第二个接口设置网关:
      default via 10.0.0.1 dev eth1 table table2  
  3. 定义策略路由规则

    • /etc/sysconfig/network-scripts/rule-eth0添加:
      from 192.168.1.0/24 lookup table1  
    • rule-eth1中设置:
      from 10.0.0.0/24 lookup table2  
  4. 应用配置

    systemctl restart network  

验证

  • ip route show table table1 检查分流路由
  • ip rule list 确认策略规则生效