之前单纯改网卡的设置,对ubuntu一直不生效,参考了 https://blog.igevin.info/posts/ubuntu-1404-ip-dns/ 发现对于desktop版ubuntu,要改NetworkManager里的配置才行。
Step 1:
进入/etc/NetworkManager/NetworkManager.conf,
managed=false改为true,将dns=dnsmasq注释,一定要注释,否则静态ip不生效,仍然会显示原来的ip
Step 2:
重启系统
shutdown -r
Step 3:
进入/etc/network/interfaces
设置静态IP:
# The primary network interface auto eth0 #表示让网卡开机自动挂载eth0 iface eth0 inet static address 192.168.2.1 gateway 192.168.2.254 netmask 255.255.255.0 #network 192.168.2.0 #broadcast 192.168.2.255
eth0改为自己网卡的名称,同时我的电脑上还挂载了两块虚拟网卡,不用动它们
Step 4:
重启网络服务
sudo /etc/init.d/networking restart
这时ifconfig应该能显示我们设置的静态ip了,但是出现了新的问题,就是主机不能上网,原因是设置静态ip就没有自动获取到DNS服务器了,
参考:https://blog.csdn.net/xiaohuozi_2016/article/details/54743992
https://www.jianshu.com/p/56132de4bab6
需要自己设置一个
Step 5:
设置DNS
进入 sudo vim /etc/resolvconf/resolv.conf.d/base:
nameserver 223.5.5.5 nameserver 8.8.8.8 nameserver 202.112.128.51 nameserver 202.112.128.50
第一个是阿里的DNS,第二个谷歌DNS,后面两个emmm不做说明。修改后重启服务:
resolvconf -u
这时候能正常上网了。要注意的是之前使用了在/etc/network/interfaces中加上一句dns-nameservers X.X.X.X Y.Y.Y.Y Z.Z.Z.Z但是对我的主机无效。