linux虚拟机配置固定ip,可连接外网
博客专区 > stone_ 的博客 > 博客详情
linux虚拟机配置固定ip,可连接外网
stone_ 发表于2年前
linux虚拟机配置固定ip,可连接外网
  • 发表于 2年前
  • 阅读 569
  • 收藏 3
  • 点赞 1
  • 评论 0

VMnet8和NAT

如果你的虚拟机是以NAT方式连入互联网的话,那么虚拟机的IP地址非配,网关以及互联网访问权限均由VMWare提供的叫做VMnet8虚拟网卡所提供。所以一切和设置静态IP有关的设置都可以从这里找到。通VMnet8虚拟网卡,主机可以访问虚拟机的IP,虚拟机可以连入主机的互联网连接连入外网。

确认VMnet8虚拟网卡已启用

在默认情况下,VMWare Workstation已经启用VMnet8虚拟网卡,Windows 7下,通过进入 控制面板>网络和Internet>网络和共享中心>更改适配器设置 可以查看该虚拟网卡的状态。如图1-1所示。

图1-1

得到可用IP范围、网关和子网掩码

在VMWare主界面,点击Edit>Virtual Network Editor菜单进入虚拟网卡参数设置界面(图1-2)。选择VMnet8条目,点击NAT Settings按钮后可以看到我们的VMWare Workstation为NAT连接的虚拟机设定的默认网关,此处为192.168.91.2,以及子网掩码,此处为255.255.255.0, 如图1-3所示。图1-2

图1-3

点击DHCP Settings按钮,可以看到VMnet8为虚拟机分配的可用的子网IP范围,如图1-4所示。

图1-4

此处,我们的子网IP可用范围为192.168.91.128~192.168.91.254

OK,至此,所有我们需要的信息都已经获取到,这里汇总一下,

- 子网IP可用范围:192.168.91.128~192.168.91.254

- 子网掩码:255.255.255.0

- 网关: 192.168.91.2

下面开始进入Ubuntu虚拟机设置静态IP。

 

在Ubuntu 12.04.1中设置静态IP

1. 启动虚拟机Ubuntu系统,打开终端,利用如下命令打开并编辑网络接口配置文件:

sudo vi /etc/network/interfaces

2. 编辑文件如下:

复制代码

auto lo
iface lo inet loopback

# Assgin static IP by eric on 26-SEP-2012iface eth0 inet static
address 192.168.91.200 #change to your static IP
netmask 255.255.255.0  #change to your netmask
gateway 192.168.91.2    #change to your getway
#We must specify dns-nameserver here
#in order to get internet access from host
dns-nameservers 192.168.91.2auto eth0

复制代码

说明

address是你要分配给你虚拟机的静态IP地址,可以从刚才我们找到的可用的子网IP范围中随便选择一个放在此处。

netmask是子网掩码

gateway是网关

注意:在相对较早的版本中,你需要设置/etc下的resolv.conf文件,并加入nameserver,这样才可以连接互联网。但在Ubuntu 12.04之后,已经不推荐这种方式了,因为无论你想该配置文件中设置什么值,重新启动之后都会被还原为初始状态。推荐的做法是直接在interfaces配置文件中加入dns-nameserver <网关IP>这一行。

3. 重启ubuntu的网卡

sudo /etc/init.d/networking restart

4. ping测试互联网连通性

ping www.baidu.com


配置中遇到的问题:按照上述配置好了,也没报错,但发现配置的ip和ifconfig的不一样。问题出在哪里呢?

上述手动配置的静态ip,指的是eth0的网卡,但我ifconfig,没有发现eth0网卡,而是

有个奇怪的eno16777736编号的网卡。先把他修改成eth0

1. 修改

rot@rot-virtual-machine:~$ sudo vim /etc/default/grub

在”GRUB_CMDLINE_LINUX”中添加参数net.ifnames=0 biosdevname=0,如下图所示

2. 更新

rot@rot-virtual-machine:~$ sudo update-grub

若提示没有此命令,请先输入安装命令
# apt-get install grub2-common

3. 输入如下命令,编辑对应文件

rot@rot-virtual-machine:~$ sudo vi /etc/network/interfaces

将“eno16777736”全部改为“eth0”,如下图所示

4. 重启系统,再一次查看网卡名称已恢复正常,如下图

在处理的时候,问题又来了,重启系统以后,ifconfig没有eth0,连原来的哪个eno16777736也没了,但ifconfig -a就会有eth0,原来是没启动eth0网卡。

rot@rot-virtual-machine:~$  ifconfig eth0 up

ifconfig能显示网卡了,但eth0网卡的ip是空,用命令获取一下ip地址

rot@rot-virtual-machine:~$ sudo dhclient eth0

ok了、、


共有 人打赏支持
粉丝 20
博文 163
码字总数 163611
×
stone_
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: