先说一下为什么会有这个问题。
我用的是MBP2016新款(4个Type C口),之前上网的时候都是借的同事的USB网口转换线,再接上我的Typc C转USB转换头这样麻烦的方法来上网的。为了方便昨天某东上买了个Type C转网口的线,兴致冲冲插上之后明明显示已连接但就是不能上网,气得我当场就想退货。但是稍微冷静的考虑了一下实在是想不通为什么明明已经获取了ip但就是上不了网,如果交换机绑定了Mac地址的话那为什么之前那根转换线是没问题的呢???
OK,如果看到这里你也抱有相同疑问那就继续看下去吧。但是如果你已经看穿了我的无知并且早已知道问题答案的话,快快按下CMD
+W
吧。
过程就不细说了,但是在对比插上不同转接线时不同的网络配置,以及其他一番摸索之后,发现原来MAC地址这个东西是每个网卡都有的,我们用wifi上网时用的是wifi网卡的MAC地址,而插上不同的转接线时用的其实是这些转接线的MAC地址。大家可以通过设置->网络->高级->硬件
来查看物理MAC地址。基本上不存在两个物理设备的MAC地址相同,而显然之前我误以为绑定的MAC地址是电脑的MAC地址,其实那个是WIFI网卡的MAC地址,而在局域网里绑定的是之前那根转换器的MAC地址,所以我买了新线之后当然不能上网啊啊啊。
既然问题已经搞清楚了,那难道只能退货了?显然不能,在经过一番google之后,发现其实是可以更改MAC地址的,注意这里并非更改设备的物理MAC地址,而是网络通信时使用的虚拟MAC地址,一般网络通信时的虚拟MAC地址都是和物理MAC相同的。如果成功将新转换线的虚拟MAC设置成旧转换线的物理MAC,那岂不是可以瞒天过海继续上网啦啦啦。
那么接下来是高潮~~
首先去Terminal通过ipconfig
命令查看一下新网卡的代码。这里我的代码是en9
修改MAC地址的命令行只需一行sudo ifconfig en9 ether MAC地址
,注意把en9改成你自己的网卡代码,后面的MAC地址改成你需要的MAC地址。
然而事情却没有那么顺利。我发现原来的那张网卡是可以修改MAC地址的,而且修改完之后意料之中的不能上网了。但是新买的转接线用同样的方式却失败了,虽然没有报错,不过没有任何变化。是时候喊一句OK,Google了(Google Home的唤醒语)。
Google一番,发现这位小哥跟我一样的问题,而有人回答自己通过安装适配器的网卡芯片驱动成功解决了这个问题。那么快来找找自己的芯片是什么型号的吧。
通过系统信息->USB
找到自己对应的设备,我的是这样的:
根据产品ID和制造商可以看到型号是RealTek 8153,然后跑到RealTek官网搜索这个产品的驱动,找到MacOS版本下载安装重启电脑,一帆风顺之后重新用命令行改变MAC地址,叮叮叮,百度打开啦哈哈哈
好了,本次博客就到这里了,或许文中会有一些错误之处,如有发现请留言修改,免得我贻笑大方了嘿嘿。