列出当前网卡的一些信息(比如网卡名字可能是 ensxxx):

dmesg | grep eth

设置临时地址:

sudo ifconfig eth0 10.0.0.2 netmask 255.255.255.0
sudo route add default gw 10.0.0.1 eth0

临时 DNS(重启失效),在 /etc/resolv.conf 中添加:

nameserver 119.29.29.29
nameserver 223.5.5.5

清除某接口的配置:

ip addr flush eth0

该命令不会清除 /etc/resolv.conf 中的内容,即,如果设置了临时 DNS,是没办法清除的。

以上的临时修改我试过一次,但好像没生效,不知为什么。

还是改永久性的吧。配置文件是 /etc/network/interfaces,直接修改:

# 动态获取
auto eth0
iface eth0 inet dhcp
# 静态地址
auto eth0
iface eth0 inet static
address 10.0.0.2
netmask 255.255.255.0
gateway 10.0.0.1
dns-nameservers 119.29.29.29 223.5.5.5

Ubuntu 的网络接口配置文件比 CentOS 的简洁多了,我差点就因此转向 Ubuntu 阵营。

DNS 也是在这个文件里设置。/etc/resolv.conf 现在是 /run/resolvconf/resolv.conf 的软链(symlink),而后者是动态生成的,所以改前者是没用的,重启系统就恢复原状。

改完后重启网卡。

我先是用下面这两条,但,又一次,好像没生效:

sudo ifdown eth0
sudo ifup eth0

最后用了下面这条命令重启网卡:

sudo /etc/init.d/networking restart

重启后,又又一次,出现了问题,ifconfig 里显示的还是旧 IP,而且新旧两个 IP 都可以 ping 通。

虽然可以用,但好不爽。所以,最最后,我重启了系统。

参考资料:https://help.ubuntu.com/lts/serverguide/network-configuration.html