解决双网卡虚拟机linux无法上外网问题的经历

时间:2023-03-08 19:11:51

有一台虚拟服务器初始分配一个网卡eth0,后面增加一个网卡eth1,使它能在另一个网络环境中能够访问,后面因为一些原因废除初始的eth0。

最近因为迁移需要两个环境都需要能够访问,当我配置好ip等设置时发现原先网卡eth0只能内网通讯不能访问外网,在网络设备上端口映射外网机器也访问不了这台服务器。

检查网络设备一切配置都是正常,排查问题的原因还是出在虚拟机上。

经查询linux的本地网卡也含有路由优先级的设定,查看本地路由。

route -n

解决双网卡虚拟机linux无法上外网问题的经历

图中的参数Metric表示的就是路由优先级

查看网卡配置

解决双网卡虚拟机linux无法上外网问题的经历

两个网卡路由都是默认设置,都把默认路由设为yes,这导致后启用网卡的路由优先级更高,机器所有外网的流量都从后启用的网卡通过。

解决方式有两种:

方法一:

把不需要和外网交互的网卡DEFROUTE设为no。

方法二:

修改各个网卡的优先级,在网卡配置中增加一行(原先没有)。

IPV4_ROUTE_METRIC=0

数值越低,优先级越高,把不需要和外网交互的网卡志设置高即可。