用一根 RJ45 网线与笔记本电脑有线网卡连接,并同时开启无线网络,那么默认情况下,谁的优先级最高呢?其实这个问题很多朋友都会想到,只是不愿意细想。
答案是:windows 下,默认情况下是无线网络优先于有线网络。
那我们如何修改两者的优先级呢?是否需要对路由器设置呢?答案是不需要,其实我们只需要修改 TCP/IP 跃点数即可完成优先级问题。跃点数越小,则优先级越高。这个跃点数,即包括网关的,也包括接口的。
C:\>route print
或者打开「更改适配器设置」选项。 点击「高级」选项,并选择「高级设置」。 在「适配器和绑定」菜单下,选择网络并点击右边的绿色箭头设置优先级,再点击「确定」保存设置。
那什么是不默认情况呢,就是手动添加了明确路由的情况。
如果是 Linux 呢?可以用如下命令
ip route show
default 开头的就是默认网关,如果既有有线,也有无线,就会有两个 default 路由。下图因为只有无线,所以只有一条路由。
上图中的 metric 就是跃点,修改此值即可,但是 metric 值不能简单地直接修改,于是就有了下面这种操作,就是先删除 gateway,然后重新添加的时候设置 metric,需要优先使用哪个,就把它的值设为最小。
sudo route del default gw 192.168.0.1 sudo route add default gw 192.168.0.1 dev wlp5s0 metric 99 sudo route del default gw 172.18.0.1 sudo route add default gw 172.18.0.1 dev enp0 metric 100
当然,也可以通过修改 ifcfg-ethX 配置文件的方式来修改 metric 值。