Skip to main content

关于VMware虚拟网卡网络问题的处理

本篇适用情形:

  1. VMware虚机拷贝或移动后网络问题
  2. 其它虚机格式转换VMware虚机后网络问题
  3. VMware虚机虚拟网卡设置问题
  4. 修改VMware虚机虚拟网卡类型
  5. Ubuntu 16.04虚拟机网卡设置问题
Highlight:
  • /etc/network/interface       //网卡配置文件(ubuntu)
  • lspci -vk
  • lsmod
  • ifconfig –a
  • ethtool
  • resolvconf -u

正文:

Step1】

在着手解决问题之前,先查看一下VMware虚机的网卡配置是否正常。打开虚机目录下的 xxx.vmx   文件,找到虚拟网卡的配置信息(第1块网卡通常为ethernet0),例如:




VMware虚拟网卡有以下几种设备类型:

  • ethernet0.virtualDev = "vlance"          //AMD PCNet AM79C970A 10/100Mbps
  • ethernet0.virtualDev = "e1000"          //Intel(R) 82545EM PRO/1000 PCI
  • ethernet0.virtualDev = "e1000e"        //Intel(R) 82545L PRO/1000 PCIe
  • ethernet0.virtualDev = "vmxnet"        //VMware PCI Ethernet Adapter
VMware Workstation / Player 建的虚机默认“vlance” 是一块比较老的百兆网卡,可以修改为e1000或e1000e(这两者的区别可以看做一块是pci网卡一块是pcie接口网卡);没有正常安装vmware tools的情况下,不建议改为“vmxnet”。

以下内容在Ubuntu 16.04 LTS虚机下进行。

Step2】

执行ifconfig查看网口配置信息,可能只有环回口的信息:

执行ifconfig –a 查看系统识别到的所有网口,如果能查看到其它网口信息,例如:

说明虚拟网卡的驱动是ok的,继续Step3
这是一块e1000e的虚拟网卡,根据Step1里的pci插槽配置信息 ethernet0.pciSlotNumber = "160" ,所以网口名称为 ens160。

ubuntu 16.04 网口命名会以网口的设备信息命名,如果希望恢复eth0、eth1的传统命名方式,可修改系统启动参数:
# vi /etc/default/grub
RUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
# update-grub
重启后即会回到eth0、eth1的网口名称。

如果ifconfig –a 依然只有lo环回口信息,确保Step1里的虚拟网卡配置正确,跳到Step4

Step3】

检查网口的网络连接状态:
$ sudo ethtool ens160

最后一行如果是 Link detected: yes ,跳到Step5
如果是 Link detected: no,请检查虚机配置网卡设备状态是否为连接状态,如果勾选后检测不到连接再重启一下虚机。

Step4】


查看虚拟网卡的硬件识别情况:
$ sudo lspci –vk



上图是网卡驱动加载正常的情况,如果没有driver in use的信息,查看系统是否有驱动模块:
$ sudo lsmod |grep e1000e

如果没有虚拟网卡的驱动模块,需要手动安装驱动(关于linux驱动安装步骤Google一下);或按Step1将虚拟网卡类型修改为其它类型进行尝试。
解决网卡驱动问题后,通过dmesg可查看系统启动过程虚拟网卡的加载过程都是ok的:
$ sudo dmesg |grep e1000e

Step5】

检查网口配置文件,为系统识别的网口ens160配置ip地址(以配置静态IP为例):
$ sudo vi /network/interface

保存后,重启网络服务:
$ sudo service networking restart
$ ifconfig

如上图所示,网口已工作正常。

Step6】

如果访问外网或域名地址不通,检查一下DNS的配置,对于ubuntu 14.x之后的版本,手动编辑/etc/resolv.conf 配置文件重启后会失效,改为修改配置文件:
/etc/resolvconf/resolv.conf.d/base
添加dns server地址,类似:
nameserver 8.8.8.8
nameserver xx.xx.xx.xx
修改后命令更新一下即可:
$ sudo resolvconf -u

Comments

Popular posts from this blog

Tor洋葱路由的设置与使用

先说明一下,这里只是利用Tor来访问被GWF屏蔽的优秀服务(如Wikipedia、Blogger、GG App等),并不侧重于如何匿名访问网络。以下Tor设置方法适用于: MS Windows(2000/XP/Vista/Server)系统 第一步:下载并安装Tor 关于Tor(The Onion Router,洋葱路由)的工作原理,可以参考枪旗工作室的说明 ( http://tcno.net/doc/tor/#para1 )。在Windows下安装配置Tor已经非常容易了,直接下载这样一个Tor的Windows 捆绑软件包( Vidalia-Tor-Privoxy Bundle ),其中已经预先配置好这些软件能够一同工作。 安装前可以看到套件捆绑了哪些软件:Tor、Vidalia(Tor 的一个图形用户界面)和 Privoxy(Web 代理软件)、Torbutton(Firefox浏览器插件)全选这些软件进行安装。 安装完成后会自动运行Vidalia,在弹出的控制面板上可以看到当前的状态,Tor已经运行了,此时不需要再进行其它设置了。 第二步:配置浏览器使用Tor 如果使用 Firefox 浏览器,Bundle里已经附带了 Torbutton 插件 ,打开/重启Firefox就会在右下角显示Tor Enabled/Disabled,单击它可以选择是否开启Tor代理功能。 对于 Internet Explorer 没有现成的插件可用,需要手动配置代理设置,也很容易。 菜单位置 工具 - Internet 选项 - 连接 - 局域网设置 - 代理服务器 - 高级 - 服务器 在代理理服务器地址栏里填入 "localhost",端口为 "8118"(Privoxy不支持FTP代理,填不填都无所谓了);注意套接字SOCKS代理的端口为 "9050",如果有其它选项,请选择Socks5,然后"确定"即可。 对于 Maxthon ,如果对IE设置了Tor可以选择“使用IE代理设置”,或者手动添加一个代理列表,内容与上面填写的一样,然后选择应用就可以了。 这里说明一下 Privoxy 的作用,因为当直接使用 SOCKS 代理时,浏览器会泄露

Bitwarden 配置 Let’s Encrypt 证书

由于在内网环境部署的Bitwarden,不能通过安装脚本自动申请 Let’s Encrypt 的证书。 起初我用了一个自签名证书,发现特别不好使,虽然在firefox 跟 chrome 内核的浏览器上都能通过插件访问,但必须添加信任才行,特别是用Bitwarden Desktop 客户端连的时候,一直报错,可能是不认自签名证书。 于是琢磨了下怎么手动申请Let’s Encrypt的证书用于内网,对过程简单梳理如下。 自签名证书 | Self-Signed Certificate 如果你在内网环境只需要自签名证书,可以参考Bitwarden的帮助文档( Installing and depoying )进行设置: 1、生成自签名证书: //一条命创建私钥和证书: openssl req -x509 -newkey rsa:4096 -sha256 –nodes -days 10950 \    -keyout privite.key -out identity.crt \    -subj "/C= US /ST= New York /L= New York /O= Company Name /OU= CREAST /CN= bw.creast.win " 将生成的文件放到 /ssl 目录下: privite.key     ~/bwdata/ssl/ bw.creast.win/private.key identity.crt      ~/bwdata/ssl/ bw.creast.win/identity.crt 2、生成.pfx格式证书文件: //一条命令将前面生成的私钥和证书打包成需要的pfx格式文件 openssl pkcs12 -export -out ./ identity.pfx -inkey privite.key \    -in identity.crt -certfile identity.crt -passout pass: IDENTITY_CERT_PASSWORD 注意 IDENTITY_CERT_PASSWORD 跟./env/global.override.e