clean up docker networks/interfaces
docker network ls
then
docker network rm networkname
docker network ls
then
docker network rm networkname
Recently, I found it became very slow when I am logging onto my development VM, a windows server 2012R2 instance through Remote Desktop. There are many kinds of solutions in Google's search results. I tried many of them and found only this one suits me.
On the Windows Server 2012 machine, disable the Large Send Offload via the following steps:
Open Network Connections.
Click Change adapter settings
Right-click the icon of the Network card and select Properties.
In Networking tab, click Configure… button.
In the next window, switch to Advanced tab.
Click the Large Send Offload Version 2 (IPv4) and change the value to Disabled.
Click the Large Send Offload Version 2 (IPv6) and change the value to Disabled.
Your RDP connection will disconnect right away after you apply the change. Don't worry, connect it back and you will find the annoying delay disappears!
今天天气不错,和太太儿子去 Bowenvale Walking Tracks 走了一个短途的hiking。回家路上前端同学报告说测试机出问题了,所有接口都不通了。于是到家赶紧排查问题。
网络环境
Host:Windows 10,Vmware Station Guest: CentOS 7.7 Bridge network
一开始以为是服务进程崩了。连上vpn发现机器都ping不通。哦看来虚拟机是被谁关掉了。远程桌面到Host机器一看....虚拟机活得好好的,并没有被关掉。用控制台登录进去一看,发现IP不是我们以前设定的IP,而是变成 172.18.开头的一个地址,这是我们误以为网络不通了的原因。
经过一番排查,发现故事应该是这样的:
CentOS机器的网络配置是 DHCP,因为网络是桥接的,因此只需要路由器上做点设置,根据CentOS机器网卡的Mac地址总是分配 192.168.178.52 这个IP给虚拟机就行了。我查看了路由器的设置,发现确实是这么设置的,虚拟机网卡的mac地址也没有变,看上去一切都很正常。不过这里有一个小小的细节,一开始我没有在意,但它可能是问题发生的始作俑者。
在登录公司路由器的时候,我没有直接进入设置界面,而是系统弹出一个提示框,说系统刚刚升级到某某版本,有一个引导界面走了好几步才进入路由器设置界面。
我先是修改CentOS的网络设置,把网络参数由 dhcp 改成 static,确保他总是使用 192.168.178.52 这个IP,也设置了默认路由,重启网络,发现修改生效了,IP地址现在是正确的了,但是却不能上网,内外不通。
那问题出在哪里呢?之前拿到的IP是172.18.x.x,这不是 Docker 喜欢用的IP段么?莫非和Docker 有关?我先是把 CentOS 虚拟机里的Docker 停掉....重启网络,依然固我。网还是不通。
我只好把关注点移到 Host 机器,硬件网卡,VMnet1, VMnet8, vEthernet (Default Switch)..... 慢,这个vEthernet 是什么鬼? 它的IP也是172.18.x.x的!网上搜索了一下,说这个东东应该是Docker添加的。对呀,我前几天刚好干过这个事情,在Windows 10 上安装了Docker,那时我是试图解决 Jenkins 不听话的问题。但因为这台Windows 10 主要是兄弟部门在用,怕Docker影响他们的业务,我的经理就赶紧把Docker卸掉了。
Docker都卸掉了,卸掉这个虚拟网络示配器料无大碍,于是我就尝试 uninstall it。系统提示发生了什么未知的错误,不让卸载。那就禁用它吧。禁用成功。再ping那个IP,网通了!
回头想想,CentOS机器的IP并非无缘无故就变了,我猜测应该是路由器自动升级,在那个短暂离线期间,CentOS的网络被我刚刚禁用的那个虚拟switch抢先接管了。本来应该由路由器固定分配 192.168.178.52 给那台机器,但路由器短暂弃权期间,这个过程被那个虚拟的switch示配器干扰,于是CentOS得到一个 172.18 开头的IP。
哎!Docker也真是的,你都已经被卸掉了,也不把自己带的东西清理干净。
很有意思的排错过程,记录下。