如何设置运行在Virtualbox内的Ubuntu虚拟机的静态ip地址

本文介绍在Ubuntu12.04环境下设置静态IP的方法。通过修改网络配置文件和DNS服务器设置来固定IP地址,但该方法未能成功。最终采用在系统内直接设置网络参数的方式实现了IP地址的固定。

今天想要研究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不通,原因未知。现将该问题记录在这里,待以后有空时再细查。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值