Ubuntu下设置静态IP

xpt*_*xpt 16 networking linux debian ip ubuntu

如何在 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
Run Code Online (Sandbox Code Playgroud)

所以我准备了我的静态 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
Run Code Online (Sandbox Code Playgroud)

但是,它在启动期间有很长的延迟。我看到启动消息说“启动网络”之类的内容,然后经过很长时间的延迟,再次说“等待 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)
Run Code Online (Sandbox Code Playgroud)

当我尝试关闭设备时,它也会出错:

% ifdown eth0
RTNETLINK answers: No such process
RTNETLINK answers: Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)

我能够调出设备后,虽然,然后ifconfigip addr给出正确的输出。但是,IPv4 地址将在不久之后消失

如何告诉网络管理员我已将 eth 设备从动态 IP 切换到静态 IP?(命令行和文件调整优于 GUI 调整)。

这是 XUbuntu 14.04。谢谢

更新2:

使用/etc/network/interfaces来代替。我自己的答案中有详细信息。
要自动设置/etc/network/interfaces文件,请查看此处

小智 13

好的,我放弃了 Microsoft 并将我的家用电脑和笔记本电脑更改为 Ubuntu 14.04 :)

经过一周的互联网搜索,如何在 Ubuntu 14.04 上获取静态 IP 地址后,我终于找到了一种方法......

似乎网络管理器每次都覆盖(或绕过)我的 /etc/network/interfaces,我想删除它,但决定先尝试使用它。

转到右上角并单击网络图标,向下到底部并右键单击编辑连接。

这将打开网络连接并选择要更改的连接,单击编辑并转到 IPv4 设置。选择方法:手动,然后填写地址、网络掩码和网关...以及您想要的 DNS 服务器。

只需保存并完成...它会即时更改为给定的静态 IP 地址...即使在重新启动后!

这可能是一个旧线程,但经过一周的搜索,我更新了 Google 中的 10 个第一次点击……希望有时间可以保护其他人!

小心!