ubuntu16.04 设置切换wifi后依旧存在的静态路由

状况介绍

先解释一下情况,目前多个相同类型配置的内网通过其路由器访问,每个独立的内网里面有一个相同且不可改变IP的内网地址,其中的网络架构已经设置好了指向其IP的静态路由。但是终端连接wifi后可能因为双网卡的默认网关metric跃点优先级的问题无法访问那个IP,而且因为我会频繁改变wifi,导致设置一条临时静态路由或者在rc.local里设置静态路由都不好使。于是了解了下ubuntu切换wifi读取的文件方式,做了一个配置。

解决

ifconfig查看双网卡,假设外网为eno1,内网为wlp2s0,需要访问的IP为192.168.10.1
如果要访问非网段内的内网ip,此时:

(base) adocir@adocir:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.16.0.1      0.0.0.0         UG    100    0        0 eno1
default         192.168.4.1     0.0.0.0         UG    600    0        0 wlp2s0
link-local      *               255.255.0.0     U     1000   0        0 wlp2s0
172.16.0.0      *               255.255.252.0   U     100    0        0 eno1
192.168.4.0     *               255.255.255.0   U     600    0        0 wlp2s0

可以看到eno1的默认网关的metric跃点较小,所以最终默认网关会选择172.16.0.1这条,192.168.4.1相当于不存在。也就无法直接访问192.168.10.1这个IP。

解决方法:
/etc/network/if-up.d/目录下,编写文件

#!/bin/sh -e

route add -net 192.168.10.1 netmask 255.255.255.255 gw 192.168.4.1 wlp2s0

然后给文件赋予777权限

(base) adocir@adocir:~$ sudo chmod 777 你的文件

最后

sudo ifconfig wlp2s0 up

完事,切换wifi后这条静态路由就还在了。

Question

小问题:跃点数的默认设定到底是在哪里规定的,各个终端都不太相同?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值