在 Ubuntu 下设置静态 IP

在 Ubuntu 下设置静态 IP

如何在 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 地址将在短时间内消失

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

这是 XUbuntu 14.04。谢谢

更新2:

改用/etc/network/interfaces。详情请参阅我自己的回答。
有关自动设置/etc/network/interfaces文件,请查看这里

答案1

好的,我放弃了微软,并将我的家用电脑和笔记本电脑换成了 Ubuntu 14.04 :)

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

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

到右上角点击网络图标,到底部右键点击编辑连接。

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

只需保存即可完成...它将动态更改为给定的静态 IP 地址...即使在重启后也是如此!

这可能是一个老话题,但经过一周的搜索,我更新了 Google 中的前 10 个结果...希望有一天能帮助其他人!!

小心!

答案2

您的IP 地址gateway不正确 ( gateway 192.168.2.0)。这不是有效的 IP,您应该将其替换为路由器的 IP 地址。

答案3

我认为我找到了答案,将内容从/etc/network/interfaces.d/eth移入/etc/network/interfaces并重新启动后,它现在可以正常工作了。

cat /etc/network/interfaces.d/eth >> /etc/network/interfaces
rm /etc/network/interfaces.d/eth
service networking restart
reboot

我猜想那ifup可以理解source-directory /etc/network/interfaces.d并能正确处理,而网络管理员却不能。

答案4

gateway 192.168.2.0

可能没有为您的路由器配置正确的网关。

相关内容