今天正在捣鼓虚拟机,突然发现无法连接目标机了。检查发现wired根本没有连接,真特么奇怪了。

ifconfig 之后只有一个loopback

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:308 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:52517 (52.5 KB)  TX bytes:52517 (52.5 KB)

然后,到图形界面Network配置发现,只有一个代理方式

选择下面的添加,共有4种方式,用了桥接(bridge)、VPN、bond均无法显示,设置了IP,重启网络服务,不管用。

重启虚拟机也不管用。

排查:

ifconfig -a 显示eth0网卡设备已驱动

lspci |grep Ethernet 也没问题

root@user-virtual-machine:~# lspci | grep Ethernet
02:01.0 Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)

无奈,选择了修改配置文件进行IP上电配置。


修改配置文件,进行网络配置:(网络都有相应的教程,不过不太一样,本人予以整理下,如有侵权,烦请告知)

1)、

gedit /etc/network/interfaces &


打开文件后你会看到
 

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).


# The loopback network interface
auto lo
iface lo inet loopback
#下面是需要添加的内容,具体的IP信息请参照实际网络环境
#The primary network interface
auto eth0
iface eth0 inet static
address X.X.X.X
netmask X.X.X.X
network X.X.X.X
broadcast X.X.X.X
gateway X.X.X.X
2、gedit /etc/NetworkManager/NetworkManager.conf

将managed=true 修改成  false

如果当前目录还有nm-system-settings.conf

则gedit /etc/NetworkManager/nm-system-settings.conf

打开后仍然将其

managed=true 修改成false

具体为什么,要修改成false,是因为ubuntu的两种网络配置模式,一种传统的修改interfaces文件和resolv.conf base文件,一种是页面配置通过Networkmanager管理。当Networkmanager配置文件的managed=true时,会ignore传统的配置方式,只有修改成false才会管用。两种网络配置只能选一种,乱配可能会带来不必要的麻烦。

然后,清理之前的IP配置信息,执行

rm -rf /etc/NetworkManager/system-connections/*

3、修改完IP netmask后,如果还需要上外网,则需要设置DNS服务器,修改/etc/resolvconf/resolv.conf.d/base,打开文件,在文件的末尾加上特定的服务器地址,有几个就加几行,格式如下:

nameserver X.X.X.X
.
.
.
nameserver X.X.X.X
4.设置完后,重启网络服务。

如果你执行,service networking restart ,会发现执行失败

root@user-virtual-machine:~# service networking restart
stop: Job failed while stopping
start: Job is already running: networking
这时候,你应该执行
root@user-virtual-machine:~# /etc/init.d/network-manager restart
network-manager stop/waiting
network-manager start/running, process 3856

5.如果,网路还不好使,试试重启下虚拟机吧。


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐