最近做实验需要用本地的ubuntu虚拟机,发现竟然ping不通内网
进而发现之前虚拟机上网一直用的是NAT模式,在内网里没有自己的ip,虚拟机相当于在wendows实体机内部的虚拟网络里
如果需要和实体机外部的内网的其他机器ping通需要使用桥接模式
使用桥接模式模式需要check以下几点:
1.实体机windows defense防火墙关闭
2.虚拟机上面那排选项卡有“编辑”----“虚拟网络编辑器”----右下角“更改设置”---上面框框里选“vmnet0”----下面“vmnet信息”选桥接模式
3.先把虚拟机挂起,双击左边设备栏里的“网络适配器”,选"桥接模式(B)",勾选复制物理网络连接状态,或者选“自定义”,自定义的框框里写VMnet0(自定义我试过成功了)
4.进入虚拟机里,check是否有内网有ip,如果没有的话看有没有一个没挂载ip的网卡,如果没有,用命令"ifconfig -a"查看有哪些网卡
5.手动给网卡挂在ip,先"ifconfig 网卡 ip",再用下面的这个方法挂掩码gateway和dns上去:
application里打开“settings”,选“network”,里面出现网卡,我这里是ens33,点进去,然后点ipv4
address写192.168.1.25,netmask写255.255.255.0,gateway写192.168.1.1
在dns写192.168.1.1
6.如果上面的network里什么都没有的话可能是network-manager被关了,开启一下:
在这之前先清除一下以前的状态试试:
sudo rm /var/lib/NetworkManager/NetworkManager.state
开启服务用的命令:
sudo service network-manager start
ps:关闭NetworkManager的方法:
systemctl disable NetworkManager
参考:
linux下网络死掉了肿么办?(Networking Disabled)_大数据小罗的博客-CSDN博客
7.改两个文件:
a.
sudo vi /etc/network/interface
sudo vi /etc/network/interfaces
#不同的教程分别写了这两个,应该有一个是错的
给里面添加:
auto ens33
iface ens33 inet static
address 192.168.1.25
netmask 255.255.255.0
gateway 192.168.1.1
b.:
sudo vi /etc/resolv.conf
给里面加一行:
nameserver 192.168.1.1
resolv.conf是一个动态文件,restart network-manager service或者重制网络环境或者关机重启都会使这个文件变化,每次restart或者重置网络环境或者关机重启都要检查这个文件
8.改了上面这些,试着ping一下内网的其他机器,或者192.168.1.1(router),能ping通就好了,ping不通试一下9.10.11
9.试一下ping -b 192.168.1.255,看是否有机器会回应,如果有reply的话说明虚拟机已经可以联网了,这里我先试了一下在ping在flooding时给我回应的192.168.1.x的另一个ip,可以ping通,然后再ping192.168.1.1就奇迹般地ping通了,这时ping其他机器也能ping通了
10.试一下restart network-manager service:
sudo /etc/init.d/network-manager restart
restart之后检查一下7.b.如果添加的nameserver没有了,就再添加一次
11.先关机然后点击上边栏的“编辑”,点击“虚拟网络编辑器”,点击右下角“更改配置”,点击左下角“还原默认配置”,点"是"
这样会清除网卡配置,然后再重启虚拟机
a.重启之后看6.是不是挂掉了,挂掉了重新start一下,并检查5.,没有了的话重新手动添加一下
b.重启之后可以顺便试一下10.重启一下network-manager
c.重启之后检查一下7.b.如果添加的nameserver没有了,就再添加一次
12.不行就来回重复上面步骤试试,没准能行呢
流程参考了这篇博文:

952

被折叠的 条评论
为什么被折叠?



