虚拟机里设置上网方式为NAT最方便,因为无需手动设置即可上网,但是NAT的上网方式默认是DHCP动态分配IP的,这意味着你每次重启虚拟机都有不一样的IP地址,这对一般用户没任何问题。但是如果你的机子有特殊用处,比如作为服务器,需要IP地址信息,亦或者像我一样,作为一个云计算的节点,其IP都是在配置文件里配置好的,如果每次重启系统都要跑过去修改下配置文件里的IP,那简直是不可取的做法,因此为虚拟机设置固定IP上网非常的有必要!
我的虚拟机版本是VMware Workstation 10,装了一个Ubuntu 13.04,设置固定IP的方法很多,大家都知道虚拟机上网有三种模式:bridged、host-only和NAT,其中NAT模式对应VMnet8虚拟网络,host-only模式对应VMnet1虚拟网络,bridged模式对应 VMnet0虚拟网络,都是由VMware虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟
网络则不提供。三种方式具体的区别和介绍可看参考文献(1)。
由于NAT的方式最简单,因此下面是NAT方法设置的具体方法(这个设置与Ubuntu版本无关):
打开Vmware自带的虚拟网络编辑工具Virtual Network Editor,配置如下:
其中子网IP根据自己情况设置,比如我想设置固定IP地址为192.168.1.151,那么这里的子网IP就填192.168.1.0,另外记得取消DHCP选项服务。
主要配置下面三个方面的内容:
(1)修改文件/etc/network/interfaces,这里是IP、网关、掩码等的一些配置;
(2)修改文件/etc/resolv.conf,这个文件保存DNS的有关信息;
(3)解决resolv.conf被重写问题;
(4)重启虚拟机网络
下面是具体配置方法:
命令:sudo
vi /etc/network/interfaces
或
sudo gedit /etc/network/interfaces
我的配置如下:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.151
netmask 255.255.255.0
gateway 192.168.1.2
其中网关gateway要与Virtual Network Editor中“NAT Settings...”中的一致,一般好像都为192.168.xx.2。命令:sudo
vi /etc/resolv.conf
或
sudo gedit /etc/resolv.conf
我的配置如下:
nameserver 202.38.64.1
当然这里是因人而异了,加上你自己的DNS服务器即可,我的是校内DNS。
第二步中你虽然配置了DNS,但是每次重启虚拟机或重启网络后/etc/resolv.conf文件就会被重写,也就是又恢复原样了,你以前的配置就不存在了,每次都要手动配置是极不可取的,所以这步是必须的,首先我们要知道resolv.conf文件是由NetworkManager生成的,我们关掉network-manager即可,命令如下:
sudo service network-manager stop
或者
sudo /etc/init.d/network-manager stop
但是这种方法不是一劳永逸的,因为每次重启系统后还是会启动这个服务,因此我们需要完全禁止network-manager启动即可。
编辑network manager的配置文件/etc/init/network-manager.conf:
sudo vi /etc/init/network-manager.conf
注释掉其中的start on部分即可:
# network-manager - network connection manager
#
# The Network Manager daemon manages the system‘s network connections,
# automatically switching between the best available.
description "network connection manager"
#start on (local-filesystems
# and started dbus
# and static-network-up)
stop on stopping dbus
expect fork
respawn
script
# set $LANG so that messages appearing on the GUI will be translated. See LP: 875017
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE LC_MESSAGES LC_ALL
fi
sudo service networking restart
或者
sudo /etc/init.d/networking restart
也可以重启网卡:
sudo ifconfig eth0 downsudo ifconfig eth0 up
重启网卡对别的网卡无影响,更推荐一些。
赶紧ping下www.baidu.com吧,应该可以上网了。
PS:当然也可以通过图形界面network manager进行配置,但个人赶紧这种方式最好,因此推荐!
参考文献:
(1)VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写),布布扣,bubuko.com
Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)
原文:http://blog.csdn.net/lanxuezaipiao/article/details/21550753