如何在Ubuntu 14.04 Trusty下设置静态IP地址?
(注意,询问的问题是“ 14.04 Trusty”,但目前仍在运行,即16.04 LTS Xenial)
我的设置不起作用。Ubuntu 14.04 Trusty的特别之处在于,我现在使用“ source-directory”关键字立即找到了它,以一次获取多个文件(参考:http ://manpages.debian.org/cgi-bin/man.cgi?query=interfaces&apropos = 0&sektion = 0&manpath = Debian + unstable + sid&format = html&locale = en):
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
因此,我准备了如下的静态IP地址设置:
$ cat /etc/network/interfaces.d/eth
auto eth0
iface eth0 inet static
address 192.168.2.100
netmask 255.255.255.0
gateway 192.168.2.0
# add a 2nd ip address
post-up ip addr add dev eth0 192.168.2.101/24
pre-down ip addr del dev eth0 192.168.2.101/24
但是,它在启动过程中会有大量延迟。我看到启动消息说“启动网络”,然后经过很长一段时间后又说“等待60秒再启动网络”。在经过60秒的延迟之后,启动消息再次开始运行。但是,当系统最终引导并检查ip addr
输出时,我配置的第二个静态IP地址不存在。
我想念什么吗?
更新:
感谢每个人指出我的网关错误,因此将其更改为192.168.2.1
,启动的漫长延迟已经消失了。现在我遇到了一个新问题。
对于14.04 Trusty之前的Ubuntu,上述更改足以从动态IP切换到静态IP。但是,使用我的新Ubuntu 14.04 Trusty,系统将启动而没有IPv4地址:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:xx:xx:xx:xx:ef
inet6 addr: fe80::xxx:xxxx:xxxx:98ef/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:250 (250.0 B) TX bytes:11552 (11.5 KB)
当我尝试关闭设备时,也会出现错误:
% ifdown eth0
RTNETLINK answers: No such process
RTNETLINK answers: Cannot assign requested address
我能够调出设备后,虽然,然后ifconfig
和ip addr
给出正确的输出。但是,不久之后,IPv4地址将消失。
如何告诉网络管理员我已将eth设备从动态IP切换到静态IP?(命令行和文件调整优先于GUI调整)。
这是XUbuntu 14.04。谢谢
UPDATE2:
使用/etc/network/interfaces
代替。详细信息请自行回答。
要自动设置/etc/network/interfaces
文件,请在此处查看。
network-manager
&network-manager-gnome
,我的静态IP地址设置也可以。
/etc/network/interfaces
文件仅包含iface
,address
,netmask
,gateway
,network
,broadcast
和dns-nameservers
指令