想要研究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地址。不少文章里都有类似的方案。他们的大致思路如下:
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
反正我两个都试过了。都不行……..
看来这个方法是不行了。于是退而求其次,只能通过路由器来想办法了。
在路由器的配置界面下,增加一个MAC地址与IP地址绑定的功能,将mini2440开发板的MAC地址绑定成一个固定的IP地址,问题成功解决!