在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
但是如果你的机子有特殊用处,比如作为服务器,需要IP地址信息,亦或者像我一样,作为一个云计算的节点,其IP都是在配置文件里配置好的,如果每次重启系统都要跑过去修改下配置文件里的IP,那简直是不可取的做法,因此为虚拟机设置固定IP上网非常的有必要!
下面是具体配置方法: 复制代码 代码如下:sudo vi /etc/network/interfaces 或 sudo gedit /etc/network/interfaces 我的配置如下: 复制代码 代码如下:# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0</p> <p>iface eth0 inet static address 192.168.1.151 netmask 255.255.255.0 gateway 192.168.1.2 其中网关gateway要与Virtual Network Editor中“NAT Settings...”中的一致,一般好像都为192.168.xx.2。 (2)修改文件/etc/resolv.conf 复制代码 代码如下:sudo vi /etc/resolv.conf 或 sudo gedit /etc/resolv.conf[code] 我的配置如下: [code]nameserver 202.38.64.1 当然这里是因人而异了,加上你自己的DNS服务器即可,我的是校内DNS。 (3)解决resolv.conf被重写问题 方法一:与版本有关 复制代码 代码如下:# Generated by NetworkManager 说明resolv.conf这个文件是由NetworkManager这个程序生成的(对应的是network-manager服务),那么解决办法也就来了:我们关掉network-manager即可,命令如下: 复制代码 代码如下:sudo service network-manager stop 或者 sudo /etc/init.d/network-manager stop 但是这种方法不是一劳永逸的,因为每次重启系统后还是会自动启动这个服务,因此我们需要完全禁止network-manager启动即可。 编辑network manager的配置文件/etc/init/network-manager.conf: 复制代码 代码如下:sudo vi /etc/init/network-manager.conf 注释掉其中的start on部分即可: 复制代码 代码如下:# network-manager - network connection manager
# # The Network Manager daemon manages the system's network connections, # automatically switching between the best available.</p> <p>description "network connection manager"</p> <p>#start on (local-filesystems # and started dbus # and static-network-up) stop on stopping dbus</p> <p>expect fork respawn</p> <p>script # set $LANG so that messages appearing on the GUI will be translated. See LP: 875017 if [ -r /etc/default/locale ]; then . /etc/default/locale export LANG LANGUAGE LC_MESSAGES LC_ALL fi b)Ubuntu 13.04 复制代码 代码如下:# 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 说是由resolvconf生成,NetworkManager仍然存在,因为它是DHCP上网不可缺少的,但此时禁止NetworkManager启动已经不管用了,因为resolv.conf已经不归它管了,我们试着看看resolv.conf与resolvconf有啥关系,查看: 复制代码 代码如下:hadoop@Master:~$ ll /etc/resolv.conf lrwxrwxrwx 1 root root 29 9月 11 2013 /etc/resolv.conf -> ../run/resolvconf/resolv.conf 说明/etc/resolv.conf 其实只是一个link,它实际上指向的是 /run/resolvconf/resolv.conf,这也就解释了为什么每次重启都会被重写的原因,你改的只是个link,对原文件没有影响,而每次重启这个link还得加载原文件的内容,所以对link的修改无效。 解决方法就是:修改真实的原文件,如下: 复制代码 代码如下:sudo vi /etc/resolvconf/resolv.conf.d/head 发现这个文件与/etc/resolv.conf文件一模一样,这就对了,在里面加入你自己的nameserver即可,这样每次重启就不会被重写了。 PS:网上也有人说修改/etc/resolvconf/resolv.conf.d/base这个文件也行,我没有亲自测试,感兴趣的可用自己测试。 说了这么多,各版本的差异看来挺麻烦的,不知道最新的版本或以后的版本会不会又变样了,其实这里有个更简单的与版本无关的方式能够防止resolv.conf文件被重写,那就是方法二。 复制代码 代码如下:# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0</p> <p>iface eth0 inet static address 192.168.1.151 netmask 255.255.255.0 gateway 192.168.1.2 dns-nameservers 202.38.64.1 (4)重启虚拟机网络 配置完成后,重启网络即可,也有好几种方法: 复制代码 代码如下:sudo service networking restart 或者 sudo /etc/init.d/networking restart 也可以重启网卡: 复制代码 代码如下:sudo ifconfig eth0 down sudo ifconfig eth0 up 重启网卡对别的网卡无影响,更推荐一些。 赶紧ping下www.baidu.com吧,应该可以上网了。 PS:当然也可以通过图形界面network manager进行配置,但个人感觉这种方式最好,因此推荐! |
请发表评论