Ubuntu版本是16.04
鼠鼠我呀,最近被虚拟机弄的真的很想鼠。我真的已经很疲惫了.JPG
问题背景:想在虚拟机上配置kvm,首先得配置网桥。我在配置网桥后后又经过很多操作,结果把虚拟机的网络搞崩了。。。上不了网,也ping不通。找了网上的很多教程都试了,改了好久终于改出来,差点哭晕在图书馆惹。
(废话少说,直接进入正题)
问题:虚拟机上不了网。ping 8.8.8.8 ping不通,ping baidu.com 也是ping不通,打开浏览器上不了网。
明确问题情况:鼠鼠我的物理网卡ens33是接到了网桥ovsbr0上的,所以我按照其他的帖子中,将:/etc/network/interfaces 文件的内容添加:
auto ens33
iface ens33 inet dhcp
这个是不可以的,原因是:将 ens33 接口连接到网桥上,网桥将成为网络流量的转发点。这意味着所有通过 ens33 接口进入的流量都将通过网桥进行转发。如果网桥配置不正确,可能会导致网络流量无法正确路由到目标地址,从而导致无法访问互联网。
当然,如果你没有设置网桥,这么设置应该是可以的。
正确做法:

1、正确配置好网桥。(我这里网桥ovsbr0是使用DHCP去分配ip,当然你也可以设置静态ip等信息)终端打开 /etc/network/interfaces 文件:
sudo vim /etc/network/interfaces
打开后输入以下内容设置好网桥,ovsbr0可以替换为你的网桥(or物理网卡,如果你要设置的话):
auto ovsbr0
iface ovsbr0 inet dhcp
设置完成后,我可以ping的通8.8.8.8了(哭死),但是此时我ping baidu.com仍然是ping不通的。此时,显示: ping: unknown host baidu.com 。查询资料后,定位到可能是DNS服务器出了问题。
2、检查DNS服务器配置。使用以下命令检查DNS 配置。
cat /etc/resolv.conf
我的输出中显示:
mpiuser@node2:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver:8.8.8.8 nameserver 127.0.1.1
用vim打开,此处的“nameserver:8.8.8.8"报红显示格式错了(我也不晓得为啥它自己生成的这个文件就是有冒号。。。),正确的配置应该是每个 nameserver
条目后面跟着一个空格,而不是冒号。
注意!我一开始只是修改了这个文件,但是我后面修改后发现这个文件又变回原来的样子的,没有生效!可能是因为系统使用了 resolvconf
工具来管理 DNS 设置。在这种情况下,直接编辑 /etc/resolv.conf
文件是无效的,因为该文件会在重新启动或网络管理工具更新时被覆盖。所以要采取以下方法修改:
3、修改DNS服务器配置。使用文本编辑器打开 /etc/resolvconf/resolv.conf.d/head
文件(我这里用的是nano,不晓得用vim行不,应该也可以吧):
sudo nano /etc/resolvconf/resolv.conf.d/head
接着把有问题的设置”nameserver:8.8.8.8"删掉,然后输入下面的内容:
nameserver 8.8.8.8
nameserver 8.8.4.4
按照以下步骤保存并退出:
- 按下
Ctrl
键和O
键,然后按Enter
键,以保存文件。 - 然后按下
Ctrl
键和X
键,以退出nano
编辑。
4、更新配置。运行以下命令以更新 resolvconf
:
sudo resolvconf -u
接着检查 /etc/resolv.conf
文件,看到我们所做的更改是否已生效:
sudo cat /etc/resolv.conf
执行上面的操作后,再次ping baidu.com终于可以ping通了,然后我去浏览器打开网页,也是可以正常访问网页(qwq)。
参考:解决Ubuntu可以ping通ip地址,不能ping通域名和浏览器无法上网的问题_ubuntu可以ping 8.8.8.8但是不能上网-CSDN博客
上面的uu的Ubuntu是18.04,他提到在他那个版本中还需要添加到开机自动文件中,但我设置后重启,发现文件的内容没变,应该没啥问题,我就没有按照里面的设置了,有需要的uu可以看看他的这个文章捏。qwq