给 Virtualbox 中 Ubuntu 系统设置静态 IP

时间:2021-10-14 13:33:06

虚拟机网络选择 桥接网卡 模式。

主要涉及两个步骤:

1. 修改 /etc/network/interfaces 文件;

2. 修改 dns ;

 

第一步,修改 interfaces 文件:

sudo gedit /etc/network/interfaces

原文件中内容为:

auth lo
iface lo inet loopback

直接在下面加上以下内容:

auth eth0  #这里的 eth0 你需要自己 ifconfig 查看一下自己机器是 eth0 还是 eth1
iface eth0 inet static #设置静态ip
address 192.168.0.20 #这里是你想要设置的静态ip
gateway 192.168.0.1 #设置网关,可以通过 netstat -rn 来进行查看
netmask 255.255.255.0 #子网掩码

#其他的诸如 network 和 broadcast 可以不进行设置

第二步,修改DNS:

1. 最简单的是修改 /etc/resolv.conf 文件:

sudo gedit /etc/resolv.conf

在文件后面加上:

nameserver x.x.x.x           #可以在主机上通过 ipconfig /all 查看,默认宿主机是windows
nameserver x1.x1.x1.x1 #备用DNS

修改后进行网络重启:

/etc/init.d/networking restart

2. 上面这种方法有用但是当虚拟机重启之后你对 DNS 做的修改会被清除,要达到长期有效的方案有两个,如下:

2.1 修改 /etc/rc.local 文件:

sudo gedit /etc/rc.local

在该文件 exit 0 之前加上 nameserver 信息:

echo "nameserver x.x.x.x" >/etc/resolv.conf
echo "nameserver x1.x1.x1.x1" >>/etc/resolv.conf

#使机器在重启的时候重新写入 nameserver 配置信息,需要注意的是有可能修改后重启并没有发生重写,因为该文件如果在执行到这两句话之前遇到错误,就会停止往下继续执行了
#为了防止这种情况,建议将该文件文件头的 #!/bash/sh -e 中的 -e去掉

2.2 直接修改 /etc/resolvconf/resolv.conf.d/base 文件,与直接修改 /etc/resolv.conf 文件相比,后者的修改是临时的,后者是指向 base 文件的一个 link ,所以修改 base文件之后,在机器重启的时候 resolv.conf 文件中的内容将于 base 文件保持一致:

sudo gedit /etc/resolvconf/resolv.conf.d/base

然后直接在其中加入 nameserver 信息:

nameserver x.x.x.x           #可以在主机上通过 ipconfig /all 查看,默认宿主机是windows
nameserver x1.x1.x1.x1 #备用DNS

以上两种修改 DNS 方法均亲测有效,任选一种即可。

最后重启电脑即可。

最后,可能会发现重启后系统网络显示未连接,但是命令行可 ping www.baidu.com 的情况,如下图:

给 Virtualbox 中 Ubuntu 系统设置静态 IP

目前还不知道什么原因,但是不影响使用,这个是在 Ubuntu 14.04 中出现的, Ubuntu 16.04 中没有出现这个问题。

 

版权声明:本文为博主原创文章,转载请注明地址http://www.cnblogs.com/heimianshusheng/p/6598613.html !