最近几个月的新闻很多, 大事咱就不敢讨论了. 有一件不大不小的事与打工人相关, 那就是深信服员工监控系统.

说到深信服, 我就想到了网络安全, 说到网络完全, 我就想到了网速, 最近公司网络属实有些拉垮, 一测才发现 10Mbps… 啊这… 打开客户的问题单很慢, 科学上网也慢, 很影响工作效率啊, 不如改造下吧.

正好我多一块网卡, 插到工作机的 USB 口上, 再搭配自己手机热点, 可以提高网速嘛. 当然也可以买个物联网卡加移动路由(带USB口的随身Wifi也行,就不用单独买网卡了)。 不过一个新的问题是公司还有内网服务, 如何通过 使用 A 网卡(低网速) 连接内网, B 网卡(高网速) 连接外网, 呢? 简单看了下网上教程以及补习了路由知识后, 大概整理如下(以WIN10为例, 其他系统类似):

  1. 准备好所有硬件
  2. 查看所有网卡
  3. 指定不同IP走不同网卡
  4. 双网卡的DNS解析优先级

硬件都准备好之后, 打开终端, 用 ipconfig -allroute print 查看本机网卡, 找到已连到 Internet 的两张网卡, 其中

ipconfig -all 部分结果:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Ethernet adapter 以太网:

   Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
   IPv4 Address. . . . . . . . . . . : 10.86.7.222
   Subnet Mask . . . . . . . . . . . : 255.255.254.0
   Default Gateway . . . . . . . . . : 10.86.6.1

Ethernet adapter 以太网 2:

   Description . . . . . . . . . . . : ASIX AX88179 USB 3.0 to Gigabit Ethernet Adapter
   IPv4 Address. . . . . . . . . . . : 192.168.8.101
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.8.1

route print 部分结果:

1
2
3
Interface List
  4...xx xx xx xx xx xx ......Realtek PCIe GBE Family Controller
 22...xx xx xx xx xx xx ......ASIX AX88179 USB 3.0 to Gigabit Ethernet Adapter

Interface List 三项分别是接口号, 网卡mac地址, 网卡描述, 我这里mac地址隐去了, 不用关心.Interface 为4的是原始网卡, 下面以网卡A代称, Interface 为22是我新加的网卡, 下面以网卡B代称.

一般内网的IP都是固定的且很有限, 这样我们可以指定内网的 IP 走网卡A, 其他部分走网卡B. 使用的是 route add 命令. route add 语法如下:

1
2
    > route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF         2
             destination^      ^mask      ^gateway     metric^    Interface^

比如现在有部分内网的 IP 地址为 192.168.86.5, 192.168.86.22 等等, 那就输入 route add 192.168.86.0 mask 255.255.254.0 10.86.6.1 metric 30 if 4 -p
destination 是网段地址, 根据实际内网网段来.
mask 就是子网掩码, 跟网段网络位一致即可.
gateaway 来自上面输入 ipconfig -all 命令时网卡A对应的 Default Gateway
metric 可以跟 上面 route print 命令时 Active Routes 项下一样
Interface 就是网卡A对应的号码
最后多一个 -p 表示永久的, 关机后也保存.
如果有多个内网网段, 按照同样方式添加即可.

最后再加上这两条

route add 0.0.0.0 mask 0.0.0.0 10.86.6.1 metric 30 if 4 -p

route add 0.0.0.0 mask 0.0.0.0 192.168.8.1 metric 25 if 22 -p

0.0.0.0 表示任意IP地址, 网卡B的 metric 比网卡A高, 这样就指定了其他任意IP地址走网卡B.

PS: 可能提示权限不够, 以管理员权限打开终端即可

这样内外网访问都正常了, 但是 DNS 的解析还是用的网卡A, 如果你很在意这个的话, 网卡A不动, 网卡B修改自动跃迁点, 具体操作来自微软社区:

右键点击任务栏的网络图标,选择打开“网络和Internet”设置,点击:网络共享中心-更改适配器设置,选择虚拟网卡链接,右键点击打开属性,双击“Internet 协议版本4(TCP/IPv4)”,在打开的窗口中选择点击“高级”按钮,在打开的窗口中取消“自动跃点”的勾选,将接口跃点设置为“10”,重启电脑查看一下。

PS: 在win10下, 之前网上提到的修改注册表顺序没有用, 「网络连接/高级/高级设置」中也没有调整顺序的项了(「适配器和绑定」), 所以修改自动跃迁点即可

改完后可以用 nslookup 命令查看默认的DNS服务器. 理论上来说这样所有域名由网卡B对应的DNS服务器解析, 那么如果有内网域名的话应该无法解析, 但是改完DNS似乎内网的域名还是可以解析,应该是用了之前DNS缓存,但是清除缓存重新开机内网的域名在缓存中又有了, 也许是开机初始化时从每个DNS服务器中获取了缓存. 这个暂时没有再深究, 有知道的大佬望赐教~

也许更完善的做法是用 DNSmasq 或者 SmartDNS 之类的自建 本地 DNS 服务. 待完成吧…

所以, 双网卡到底可以做啥… 看看上面的新闻? 不多说了吧. 请大家遵纪守法, 爱岗敬业, 科学上网.

最后, 我们不如看看 Netflix 怎么做的,以下摘自「不拘一格:网飞的自由与责任工作法」

每位员工都有一定的才干。在我们最初的120名员工之中,一些员工表现非常突出,另一些员工也相当不错。总体而言,我们的员工队伍中人才济济。裁员后,我们只剩下80名最能干的员工。员工总数少了,但人才的比例更高了。这就是我们“人才密度”提高的原因。我们得知,在一个真正人才济济的公司,每个人都会努力工作。工作效率高的人,在整体人才密度高的环境中,也能得到更好的发展.


……


对于优秀员工而言,好的工作环境并不意味着一间豪华的办公室,一个好的健身房,或者一顿免费的寿司午餐,而在于周围全是才华横溢的人,具有合作精神的人,让你不断进步的人。如果每一名员工都很优秀,他们就会相互学习、相互激励,工作表现也会迅速得到提升。