Ubuntu

無法設置靜態 IP(Ubuntu 14)“未配置介面 eth0”

  • August 24, 2018

我需要一個靜態 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在重啟後手動執行。

以下是您遇到的 3 點的解釋:

@steeldriver 解釋了讓它在啟動時工作所缺少的東西:添加auto eth0. 含義描述在 中interfaces(5),粗體強調我的:

以單詞“auto”開頭的行用於標識使用 -a 選項執行 ifup 時要啟動的物理介面。(此選項由系統引導腳本使用。)物理介面名稱應跟在同一行上的“auto”一詞之後。可以有多個“自動”節。ifup 按列出的順序顯示命名介面。

ifconfig,這是過時的,應該避免並替換為ip link showorip address show無論如何,除非添加選項,否則不會顯示向下界面-a,所以沒有顯示eth0.

ifdown抱怨ifupdown記憶的界面狀態。狀態與文件中的介面名稱一起儲存(此處)/var/run/network/ifstate.eth0(一旦出現)。如果ifdown沒有按預期(向上)找到它,它會寫它沒有配置。

一旦被告知,較新版本的 Ubuntu(或其他發行版)很可能不會使用 ifupdown 並且interfaces預設情況下不再使用。

更新:正如@guntbert 指出的那樣,Ubuntu 18.04 使用Netplan代替。

引用自:https://unix.stackexchange.com/questions/464636