虚拟机网络选择 桥接网卡 模式。
主要涉及两个步骤:
1.修改 /etc/network/interfaces 文件;
2.修改 dns ;
第一步,修改 interfaces 文件:
sudo gedit /etc/network/interfaces
原文件中内容为:
auth lo
iface lo inet loopback
直接在下面加上以下内容:
auth eth0 #这里的 eth0 你需要自己 ifconfig 查看一下自己机器是 eth0 还是 eth1
iface eth0 inet static #设置静态ip
address 192.168.0.20 #这里是你想要设置的静态ip
gateway 192.168.0.1 #设置网关,可以通过 netstat -rn 来进行查看
netmask 255.255.255.0 #子网掩码
#其他的诸如 network 和 broadcast 可以不进行设置
第二步,修改DNS:
1.最简单的是修改 /etc/resolv.conf 文件:
sudo gedit /etc/resolv.conf
在文件后面加上:
nameserver x.x.x.x #可以在主机上通过 ipconfig /all 查看,默认宿主机是windows
nameserver x1.x1.x1.x1 #备用DNS
修改后进行网络重启:
/etc/init.d/networking restart
2.上面这种方法有用但是当虚拟机重启之后你对 DNS 做的修改会被清除,要达到长期有效的方案有两个,如下:
2.1.修改 /etc/rc.local 文件:
sudo gedit /etc/rc.local
在该文件 exit 0 之前加上 nameserver 信息:
echo "nameserver x.x.x.x" >/etc/resolv.conf
echo "nameserver x1.x1.x1.x1" >>/etc/resolv.conf
#使机器在重启的时候重新写入 nameserver 配置信息,需要注意的是有可能修改后重启并没有发生重写,因为该文件如果在执行到这两句话之前遇到错误,就会停止往下继续执行了
#为了防止这种情况,建议将该文件文件头的 #!/bash/sh -e 中的 -e去掉
2.2.直接修改 /etc/resolvconf/resolv.conf.d/base 文件,与直接修改 /etc/resolv.conf 文件相比,后者的修改是临时的,后者是指向 base 文件的一个 link ,所以修改 base文件之后,在机器重启的时候 resolv.conf 文件中的内容将于 base 文件保持一致:
sudo gedit /etc/resolvconf/resolv.conf.d/base
然后直接在其中加入 nameserver 信息:
nameserver x.x.x.x #可以在主机上通过 ipconfig /all 查看,默认宿主机是windows
nameserver x1.x1.x1.x1 #备用DNS
以上两种修改 DNS 方法均亲测有效,任选一种即可。
最后重启电脑即可。
最后,可能会发现重启后系统网络显示未连接,但是命令行可 ping www.baidu.com 的情况,如下图:
目前还不知道什么原因,但是不影响使用,这个是在 Ubuntu 14.04 中出现的,Ubuntu 16.04 中没有出现这个问题。