您的位置:首页 > 运维架构 > Linux

如何在局域网设置虚拟机内(linux)ubuntu的静态ip地址

2017-01-25 18:37 627 查看
今天想要研究mini2440的nfs,但是发现ubuntu的虚拟机每次重启之后得到的ip地址都不一样,因此nfs参数每次都得重新设置,太不方便了。得想个办法把虚拟机的ip地址给弄成静态固定的。

首先说下我的系统环境:

外部主机:win10;

开发环境:virtualbox 5.20;

虚拟机:ubuntu 12.04;

网络接入模式:主机与开发板使用局域网接入同一个网络(路由器)。virtualbox中设置虚拟机的网卡为桥接模式,使用与外部主机不一样的独立的IP地址接入网络;

在虚拟机中查看网络参数如下:

leon@Ubuntu:~$ ifconfig
eth3      Link encap:以太网  硬件地址 08:00:27:ea:ba:41
inet 地址:192.168.100.120  广播:192.168.100.255  掩码:255.255.255.0
inet6 地址: fe80::a00:27ff:feea:ba41/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
接收数据包:73 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:119 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:5728 (5.7 KB)  发送字节:14065 (14.0 KB)

lo        Link encap:本地环回
inet 地址:127.0.0.1  掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:65536  跃点数:1
接收数据包:34 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:34 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:2300 (2.3 KB)  发送字节:2300 (2.3 KB)


于是百度,如何设置ubuntu 12.04的静态ip地址。不少博客里都有类似的方案。比如(Ubuntu Server 12.04(14.04) 静态IP简洁配置),(ubuntu12.04配置静态IP及设置DNS)。他们的大致思路如下:

1、设置静止ip参数。

leon@Ubuntu:~$ sudo vi /etc/network/interfaces


将整个文件的内容替换成:

auto lo
iface lo inet loopback

auto eth3                      // 注意这里的eth3要与你的实际网卡序号一致
iface eth3 inet static         // 注意这里的eth3要与你的实际网卡序号一致
address 192.168.100.120        // IP地址
netmask 255.255.255.0          // 掩码
gateway 192.168.100.1          // 网关
broadcast 192.168.100.255      // 广播地址


2、手动设置DNS服务器:

leon@Ubuntu:~$ sudo vi /etc/resolvconf/resolv.conf.d/base


将整个文件的内容替换成:

nameserver 218.85.152.99
nameserver 218.85.157.99


3、使用以下命令重启网络,或者直接重启系统。

sudo /etc/init.d/networking restart


4、查看结果。

大多数文章中,完成上述步骤之后,就成功了。不过,遗憾的是,我没能成功,原因未知。

不过,部分文章中对于步骤2的命令有些异议,有人写的是修改base文件,有人写的是修改tail文件,使用以下命令:

leon@Ubuntu:~$ sudo vi /etc/resolvconf/resolv.conf.d/tail


反正我两个都试过了。都不行……..

看来这个方法是不行了,只能再想别的办法了。

经过我自己的反复尝试,发现至少有以下2个办法可以实现静态IP的配置:

办法1:在路由器的配置界面下,增加一个MAC地址与IP地址绑定的功能,将mini2440开发板的MAC地址绑定成一个固定的IP地址。这样的话,虚拟机每次重启都会被路由器配置成一个固定的ip地址。

办法2:直接在linux(ubuntu)系统中设置网络连接的参数,如下图所示。





不管如何重启,ubuntu将始终保持在这个ip地址不变。

搞定,收工!

特别说明:

经过反复尝试,我最终还是采用了方法2,建议大家也采用方法2。因为方法1在我第三次重启之后就失效了,虚拟机的ip地址确实是被固定住了没错,但是ubuntu重启之后就再也无法连入外部网络,开发板也无法连入ubuntu,ping都ping不通,原因未知。现将该问题记录在这里,待以后有空时再细查。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息