--- layout: post title: 配置特定 IP 地址走指定网关 description: "公司有两个日常上网用的路由器,分别接不同的两条网线,虽然都是电信的,但是一条偶尔会抽风,我的 VPS 会连不上,也就是挂在上面的 SS 无法使用。恰好这根线是公司接台式机的,也就是说平时上班偶尔会无法科学上网。" date: 2016-08-13 13:30:00 +0800 category: tech tags: [路由, 网卡, 网关, 路由表] --- 公司有两个日常上网用的路由器,分别接不同的两条网线,虽然都是电信的,但是一条偶尔会抽风,我的 VPS 会连不上,也就是挂在上面的 SS 无法使用。恰好这根线是公司接台式机的,也就是说平时上班偶尔会无法科学上网。 这对我来说几乎是无法忍的,面对不能科学上网的网络环境不免痒痒,干脆搞个 USB 无线网卡,当抽风的时候,就使用无线网卡连接公司另一个路由器得了。刚好我有一个,每天都放包里,偶尔拿出来用用也挺方便的。 可是工作有时候需要访问内部网络,例如共享文件夹、VSS 等。总不能每一次都手动切换使用网卡吧。于是我就想,访问内部网络的时候通过有线网卡,平时上网使用无线网卡。这就需要修改路由表了。 亏我还是网络技术专业,学没好好上,连最基本的修改路由都不会,于是请教了一下 [Blackeeper](https://blackeeper.com/),经指点,这也是挺简单的操作。 查看路由表 > route print -4 IPv4 路由表 =========================================================================== 活动路由: 网络目标 网络掩码 网关 接口 跃点数 0.0.0.0 0.0.0.0 10.0.0.1 10.0.0.19 276 0.0.0.0 0.0.0.0 192.168.1.2 192.168.1.102 25 由上表,可以看到两根网线分别对应两个内网 IP、两个网关,有线网卡网关是 `10.0.0.1`,无线网卡网关是 `192.168.1.2`。目前是无线网卡优先级比较高,也就是说上网是通过无线网卡的。 首先,将默认网关改成无线网卡的,并设置 `metric` 值为 `15`,我也不大清楚这是什么意思,只知道值越小优先级越高。 > route change 0.0.0.0 mask 0.0.0.0 192.168.1.2 metric 15 操作完成! 然后,添加一条路由,访问 `10.0.0.20` 通过网关 `10.0.0.1`,`metric` 值设置比上面的低一点。 > route add 10.0.0.20 mask 255.255.255.255 10.0.0.1 metric 3 操作完成! 操作完成之后,再看路由表,就有变化了,跃点数并不是 `metric`,按实际是越小优先级越高。 > route print -4 IPv4 路由表 =========================================================================== 活动路由: 网络目标 网络掩码 网关 接口 跃点数 0.0.0.0 0.0.0.0 192.168.1.2 192.168.1.102 40 10.0.0.20 255.255.255.255 10.0.0.1 10.0.0.19 23 写到这里,好像第一步是没有必要的,只要设置指定 IP 通过 `10.0.0.1` 访问即可,优先级高点。如果访问另一个 IP,也需要走那个网关,添加上去就是。 **本文历史** * 2016 年 08 月 14 日 完成初稿