命令行手工配置静态IP比较麻烦,记录于此备查。
1,ubuntu的网络配置文件在:
# /etc/network/interfaces //这个文件里
2,默认安装时,网络配置是使用DHCP自动分配IP的,打开这个文件里面的内容如下:
#interfaces(5) used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
3,修改此文件
#vim /etc/network/interfaces
按a或i进入编辑模式,内容如下:
#interfaces(5) used by ifup(8) and ifdown(8)
auto lo
# iface lo inet loopback //加#注释掉此行,在下面行加入如下行:
auto eth0
iface eth0 inet static
address 192.168.102.98
netmask 255.255.255.0
gateway 192.168.102.2
[注]如要增加其他IP也在这里
按esc退出编辑模式,按:(冒号),输入wq(保存并退出)。
3,修改DNS解析文件
按网上说的,还需要修改resolv.conf文件,加入nameserver,如下:
#vim /etc/resolv.conf
打开以后发现有一句话:DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITEN
貌似是说叫我不要手工修改这个文件,就算改了,也会被覆盖。
第一次不懂,不管他,继续
按a进入编辑模式,加入:
nameserver 192.168.102.2
到这儿网上有说重启network服务,就是新的IP了,在我的系统试了一下不行。
# /etc/init.d/networking restart //使用这个重启,在我的系统试了不行。运行没有反应,使用#echo $?查看,返回结果为1,不明所以。
然后使用下面的方法:
# ifdown -a
# ifup -a
试过了仍然不行。
无奈重启。
[后来才发现/etc/resolv.conf是一个连接文件,指向是的../run/resolvconf/resolv.conf这个文件,修改了没有用。ubuntu14.04 默认启动了resolvconf这个服务,所以修改这个文件是没有用的]
重启以后先进入图形界面,点system settings-->network,查检网络,发现状态为大大的"unmanaged",不能上网了。疯掉。。。
但是可以ping。
然后google,按照网上的说法,重新修改
#vim /etc/network/interfaces
在后面加上dns-nameserver
#dns-nameservers 192.168.102.2
保存退出,然后再
#/etc/init.d/networking restart
仍然没有反应。
继续google,有人提到/etc/resolvconf/resolv.conf.d目录下有三个文件,head,base,tail,需要修改
#cd /etc/resolvconf/resolv.conf.d
#ls
#base head
发现两个文件:head和base,于是修改这两个文件:
#vim head
结果也发现一句话:
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITEN
直接放弃修改。
然后修改base
#vim base
文件为空
#nameserver 192.168.102.2 //加入DNS的IP
保存退出
#/etc/init.d/networking restart
没有反应,仍然不能上网,而且状态仍然是"unmanaged"。
继续google,有人说要修改NetworkManager.conf 文件
#cd /etc/NetworkManager
#vimNetworkManager.conf
[ifupdown]
managed=false
//这儿的问题,打开的时候发现是false
把false改为true
managed=false
保存退出。
#/etc/init.d/networking force-reload
没有反应,仍然不能连网。
无奈再次重启。
重新进入系统,查看/etc/resolv.conf,发现下面多了一行:
nameserver 192.168.102.2,进入图形界面,查看system settings-->network,发现状态为connected,并显示为指定的IP,打开firefox,发现可以上网了。
结论:修改上面三个文件(interfaces, base, NetworkManager.conf)后,需要重启服务器,才能生效,如果只使用restart参数重启服务,貌似没有用。
上面是使用命令行配置静态IP,比较麻烦。
其实通过ubuntu的图形界面配置静态IP非常简单:
system settings-->network-->wire(我的笔记本上)-->右下角的"options"-->"IP V4 Settings",进行设置即可。
附NetworkManager参考:https://wiki.debian.org/NetworkManager#Wired_Networks_are_Unmanaged