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

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

在Rocky Linux中配置多个默认网关需要结合路由策略实现,建议通过以下方案:

  1. 使用NetworkManager创建不同优先级的路由规则,通过metric值区分主备网关
  2. 针对特定目标网络配置静态路由,通过ip route命令创建持久化路由条目
  3. 采用策略路由(Policy-Based Routing)结合iptables标记,为不同流量分配对应网关
  4. 在/etc/sysconfig/network-scripts/route-interface文件中维护多路由表 关键注意事项:
    • 避免直接设置多个相同metric的默认网关导致路由冲突
    • 使用nmcli connection modify配置连接特定路由
    • 通过ip rule add创建多路由表实现分流
    • 建议配合NetworkManager-dispatcher进行故障切换检测 生产环境推荐使用keepalived或VRRP协议实现网关高可用,而非依赖操作系统层面的多网关配置。

更多回答

作者头像
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 表名验证配置。

作者头像
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>测试分流效果。注意:需确保不同网关的网络可达性,避免路由冲突。
作者头像
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 确认策略规则生效
作者头像
mistmoon77

在Rocky Linux中设置多个默认网关需谨慎,因为系统默认仅允许一个活跃的默认网关。若需实现多网关负载均衡或故障转移,建议采用以下方案:

  1. 策略路由:通过iproute2工具定义多路由表,结合源地址或标记分流流量。例如为不同网卡(eth0/eth1)创建独立路由表,并在/etc/iproute2/rt_tables中注册。
  2. 优先级控制:在接口配置中设置METRIC参数(如eth0 metric 100,eth1 metric 200),系统将优先使用低metric值的网关。
  3. 动态路由协议:对于复杂网络环境,建议部署BGP/OSPF等协议实现自动网关切换。

注意:直接配置多个默认网关会导致路由冲突,建议通过ip route replace default命令结合策略规则实现业务流量定向,并通过nmtui或编辑/etc/sysconfig/network-scripts/route-*持久化配置。实施前务必验证路由策略有效性(使用ip route get命令)。