无法设置静态 IP (Ubuntu 14)“接口 eth0 未配置”

无法设置静态 IP (Ubuntu 14)“接口 eth0 未配置”

我需要一个静态 IP 地址。我/etc/network/interfaces这样编辑:

auto lo
iface lo inet loopback

iface eth0 inet static
 address 10.255.255.80
 netmask 255.255.255.0
 network 10.255.255.0
 broadcast 10.255.255.255
 gateway 10.255.255.1
 dns-nameservers 8.8.8.8

当我跑步时ifdown eth0我得到这个:

ifdown: interface eth0 not configured

我重新启动了整个电脑;当它恢复时,eth0甚至没有显示出来ifconfig。我跑:

ifup eth0

...并且界面初始化正确。所以这种解决了我的问题,但我仍然不确定为什么ifdown抱怨eth0没有配置以及为什么我必须ifup eth0在重新启动后手动运行。

答案1

针对您遇到的3点问题进行一下解释:

@steeldriver 解释了启动时缺少什么才能使其正常工作:添加auto eth0。含义描述在interfaces(5),大胆强调我的:

以单词“auto”开头的行用于标识在使用 -a 选项运行 ifup 时要启动的物理接口。 (该选项由系统引导脚本使用。) 物理接口名称应在同一行中跟在单词“auto”之后。可以有多个“auto”节。 ifup 按列出的顺序显示指定的接口。

ifconfig,它已经过时,应该避免并用ip link show或替换ip address show,无论如何,除非添加选项 ,否则不会显示向下界面-a,因此没有显示eth0

ifdown抱怨记忆中的界面状态如果向上向下。状态与文件中的接口名称一起存储(此处)/var/run/network/ifstate.eth0(一旦调出)。如果ifdown没有按预期找到它(向上),它会写它没有配置。

一旦得知这一点,较新版本的 Ubuntu(或其他发行版)很可能interfaces默认情况下不会使用 ifupdown 等。
更新:正如 @guntbert 指出的那样,Ubuntu 18.04 使用网络计划反而。

相关内容