上一篇                     
               
			  linux如何设置两个网关
- Linux
- 2025-07-22
- 4067
 Linux中设置两个网关,可通过编辑网卡配置文件或使用route命令添加静态路由,需指定网关IP及优先级(metric值),确保网络配置正确且不冲突
 
Linux系统中设置两个网关,可以通过多种方法实现,以下是几种常见的配置方式及其详细步骤:
使用ip route命令临时添加两个网关
 
这种方法适用于需要临时配置双网关的场景,重启后配置会失效。
-  查看当前路由表: ip route show 
-  添加第一个网关: sudo ip route add default via <第一个网关IP> 
-  添加第二个网关: sudo ip route add default via <第二个网关IP> dev <网卡接口名称> 
-  验证配置: ip route show 
-  设置优先级(可选): 
 通过metric参数可以调整网关的优先级,数值越小优先级越高。 sudo ip route change default via <第一个网关IP> metric 100 sudo ip route change default via <第二个网关IP> metric 200 
使用route命令临时添加两个网关
 
-  查看当前网关信息: route -n 
-  添加第一个网关: sudo route add default gw <第一个网关IP> 
-  添加第二个网关: sudo route add default gw <第二个网关IP> 
永久配置双网关
编辑网络配置文件
-  编辑 /etc/network/interfaces文件:
 打开文件并找到对应的网卡配置部分(如eth0),添加以下内容:up ip route add default via <第一个网关IP> dev eth0 up ip route add default via <第二个网关IP> dev eth0 
-  重启网络服务:  sudo service networking restart 
使用systemd-networkd
 
-  创建网络配置文件: 
 在/etc/systemd/network/目录下创建一个以网卡命名的.network文件(如eth0.network如下:[Network] Gateway=<第一个网关IP> Gateway=<第二个网关IP> 
-  重启网络服务: sudo systemctl restart systemd-networkd 
编辑/etc/sysconfig/network-scripts/ifcfg-<网卡>文件
 
-  添加路由配置: 
 在文件中添加以下内容:GATEWAY0=<第一个网关IP> GATEWAY1=<第二个网关IP> 
-  重启网络服务: sudo systemctl restart network 
配置示例表
| 步骤 | 命令或操作 | 说明 | 
|---|---|---|
| 1 | ip route show | 查看当前路由表 | 
| 2 | sudo ip route add default via 192.168.1.1 | 添加第一个网关 | 
| 3 | sudo ip route add default via 192.168.2.1 dev eth1 | 添加第二个网关 | 
| 4 | ip route show | 验证配置 | 
| 5 | sudo ip route change default via 192.168.1.1 metric 100 | 设置优先级 | 
相关问答FAQs
Q1:配置双网关后,如何测试是否生效?
A1:可以使用ping命令测试与两个网关的连通性: 

ping <第一个网关IP> ping <第二个网关IP>
如果都能收到响应,说明配置成功,可以尝试访问不同网络的目标地址,观察流量是否按预期分配。
Q2:双网关配置后,如何实现故障自动切换?
A2:可以通过编写脚本监控主网关状态,并在故障时切换到备用网关。 
#!/bin/bash
MAIN_GW="192.168.1.1"
BACKUP_GW="192.168.2.1"
if ! ping -c 1 $MAIN_GW; then
    sudo route del default gw $MAIN_GW
    sudo route add default gw $BACKUP_GW
fi 
将脚本设置为定时任务(如每分钟执行一次),
 
  
			