使用VirtualBox默认的NAT方式有个不方便的地方就是要设置端口转发才能访问虚拟机。
所以打算设置个固定IP,和局域网同样IP段的,可以直接访问。
具体的步骤:
1. 网络连接方式改为:桥接网络 Bridged Adapter
2、修改etc/network/interfaces
先查看一下ifconfig,确认网卡配置
一般是eth0和lo
sudo vi /etc/network/interfaces
默认是:
auto lo
iface lo inet loopback
在后面添加:
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
3. 设置DNS
不能直接修改/etc/resolv.conf,因为这个文件是libc自动生成的,文件头有明确的说明:
#Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN
需要使用如下的方法(感谢Noah Spurrier提供):
创建模板的tail文件,名字固定。
【可以查看libc文件,使用这个tail文件追加到模板里
vim /etc/resolvconf/update.d/libc
HEADFILE=”${RESOLVCONFDIR}/head”
[ -f "$TAILFILE" ] && cat “$TAILFILE” >> “$TMPFILE”
】
sudo vim /etc/resolvconf/resolv.conf.d/tail
在这个文件中添加nameserver:
比如我的:
# From: Noah Spurrier October 19, 2009 at 11:14 pm # url: http://www.cyberciti.biz/faq/ubuntu-linux-configure-dns-nameserver-ip-address/#comment-44154 # ian # ibuo.org 2012 05 nameserver [dns1.'s.ip.address] nameserver [dns2.'s.ip.address]
重新生成/etc/resolv.conf
sudo /etc/init.d/resolvconf restart
DNS就生效了。
4. 重启Ubuntu网卡.
sudo /etc/init.d/networking restart
5、确认配置是否生效
ifconfig
或者
使用主机ping一下。
PS:
我这边的机器,修改完成之后,ifconfig并没有到新的ip地址。但是使用新的ip地址也可以访问。后来重启了一下虚拟机,就变成了新的静态地址。