虚拟机下ubuntu16.04 NAT网络配置

来源:互联网 发布:路由器限速软件 编辑:程序博客网 时间:2024/06/05 12:46

为VMware虚拟机内安装的Ubuntu 16.04设置静态IP地址(NAT方式)

时间:2016-05-17来源:linux网站 作者:RJKD

1.安装环境

VMware 10.0.4 build-2249910

Ubuntu 16.04 x86_64


2.在VMware中,配置网络环境

VMware在默认安装完成之后,会创建三个虚拟的网络环境:VMnet0、VMnet1和VMnet8。其类型分别为:桥接网络,Host-only和NAT。其中,NAT表示VMWware内安装的Ubuntu将会在一个子网中,VMware通过网络地址转换,通过物理机的IP上网。

这里,我们选择NAT方式,来实现Ubuntu的静态IP地址配置。

打开VMware,在顶部依次选择:编辑 > 虚拟网路编辑器,打开虚拟网路编辑器:

首先,去掉VMnet0和VMnet1,只保留VMnet8。然后,去掉如下图中的“使用本地DHCP服务奖IP地址分配给虚拟机”:

此外,这里的子网IP为:192.168.8.0,子网掩码为:255.255.255.0,因此,在Ubuntu中,设置IP地址的时候,可以设置为192.168.8.x,x可以为1~255。

选择“NAT设置”,打开NAT设置面板:

查看自己的网关地址,例如,此处的网关应该为:192.168.8.2。

最后,在VMWare的虚拟机管理界面,选择Ubuntu的“编辑虚拟机设置”,打开Ubuntu这个虚拟的设置界面。

选择网络适配器,然后确定网络连接选中的是“自定义”中的VMnet8(NAT模式):

完成以上步骤,VMWare的网络环境也就设置完成。


3.为Ubuntu设置静态IP地址
3.1.通过网路管理面板设置IP

在Ubuntu桌面的右上角,点击网络图标,然后选择“Edit Connections”:

Step 1 点击“Edit”按钮,打开编辑页面

Step 2 Method:选择Manual

Step 3 将IP地址填入Addresses栏

这里,我们设置的IP地址为: IP: 192.168.8.100 子网掩码: 255.255.255.0 网关: 192.168.8.2

然后,选择保存。

最后,点击Ubuntu桌面右上角的网络图标,选择“Disconnect”,断开连接。然后再打开该菜单,选择"Connect",即可连接上网。
3.2.通过Terminal命令行来设置IP地址

打开Ubuntu的终端,输入:

sudo gedit /etc/network/interfaces

表示使用gedit编辑器打开interfaces文件。 在打开的文件中,若有内容,先全部删除。然后输入如下代码:

auto lo
iface lo inet loopback

auto ens33
iface ens33 inet static
address 192.168.8.100
netmask 255.255.255.0
gateway 192.168.8.2

如下图所示:

然后,配置DNS服务器:

sudo gedit /etc/resolv.conf

在里面填入阿里的DNS:223.5.5.5

nameserver 223.5.5.5

保存

关闭gedit(先保存,后关闭),然后,在命令行中输入:

sudo /etc/init.d/networking restart

重启网络即可。


4.可能会遇到的问题
4.1.通过命令行设置网络时的问题

如果在重启网络的时候,出现如下的错误:

[....] Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code. See "systemctl status networking.service" and "journalctl -xe" for details.

(1)极有可能是在编写interfaces文件的时候,拼写错误:

再次打开interfaces文件,可以看到,出现了多处拼写错误:

sudo gedit /etc/network/interfaces

修改错误后,重启网络即可:

sudo /etc/init.d/networking restart

(2)在Ubuntu 16.04版本中,网卡的名称不是eth0,而是ens33。所以,在配置interfaces文件的时候,不要用eth0代替ens33,否则也会出现这个问题。当然,你可以通过ifconfig查看自己的网卡情况。

4.2.重启系统之后,发现网络无法使用,右上角的网络图标点击之后显示“device not managed”

解决方法:

sudo gedit /etc/NetworkManager/NetworkManager.conf

打开该文件,将“managed=false”修改为“managed=true”。

重启network manager:

sudo service network-manager restart

即可解决问题。



遇到的问题:

DNS总是被自动清除导致无法上网。

能Ping通IP却无法ping通百度

解决办法:

最近学习Linux,在虚拟机中安装的是Ubuntu操作系统,用了几天发现Ubuntu无法上网,打开命令终端,输入命令:

ping www.baidu.com -c2

结果显示名称无法识别,而直接与宿主机之间使用 IP 地址进行互ping,则可以ping得通;在Ubuntu的浏览器中输入www.baidu.com ,无法打开百度网页;但输入百度的IP地址,则可以打开百度,这说明是DNS服务出现了问题,网上找到解决方法,修改了/etd/resolv.conf文件,但该文件中有这么一句话:

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN  //不要手动编辑该文件,你的改变会被重写

果然,虽然在该文件里加上了 nameserver  xxx.xxx.xxx.xxx ,一时可用了,但重新启动后内容又清空了,又无法解析域名了。


再次上网搜解决方案,有的说要关闭NetworkManager服务,如该网页所示:http://www.linuxdiyf.com/linux/21598.html

但个人感觉服务还是不要随便关的好。后来搜到两个解决方案,亲测搜有效:


方案1:

(i) 创建 /etc/resolvconf/resolv.conf.d/tail文件 (etc/resolvconf/resolv.conf.d 文件夹下已有了 head和base文件)

(ii) 在该文件中写入自己需要的dns服务器 (后面会补充Windows下查看DNS服务器的方法)

nameserver 202.118.176.2

(iii) 重启 resolvconf程序

sudo /etc/init.d/resolvconf restart    (我试了一下在,没有效果,又重启的虚拟机,有效了)

(iv) 查看 /etc/resolv.conf文件,可以看到里面自动添加了 nameserver 202.118.176.2 , ping www.baidu.com 一可以通了


方案2:

修改 /etc/network/interfaces文件:

###interfaces中#######    
auto eth0    
iface eth0 inet static    
address 192.168.1.200    
netmask 255.255.255.0                  #子网掩码    
gateway 192.168.1.1                      #网关
broadcast 192.168.1.255    
dns-nameservers 202.118.176.2    #设置dns服务器  ---这一行是新添加的

即新添加 dns-nameservers 202.118.176.2 那一行。

(注意,nameserver用复数形式:dns-nameservers。我第一次添加没在意,用的是dns-nameserver,就行不通)


综上,个人感觉第二个方案简单,因为 /etc/network/interfaces文件本身就是存在的。


用Windows宿主机查看DNS服务器的IP

1.打开网络与共享中心:

2.点击当前正在使用的网络:

3.点击“详细信息”:

4.即可看到DNS服务器网址:

原创粉丝点击