Ubuntu
無法設置靜態 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
在重啟後手動執行。
以下是您遇到的 3 點的解釋:
@steeldriver 解釋了讓它在啟動時工作所缺少的東西:添加
auto eth0
. 含義描述在 中interfaces(5)
,粗體強調我的:以單詞“auto”開頭的行用於標識使用 -a 選項執行 ifup 時要啟動的物理介面。(此選項由系統引導腳本使用。)物理介面名稱應跟在同一行上的“auto”一詞之後。可以有多個“自動”節。ifup 按列出的順序顯示命名介面。
ifconfig
,這是過時的,應該避免並替換為ip link show
orip address show
無論如何,除非添加選項,否則不會顯示向下界面-a
,所以沒有顯示eth0
.
ifdown
抱怨ifupdown記憶的界面狀態。狀態與文件中的介面名稱一起儲存(此處)/var/run/network/ifstate.eth0
(一旦出現)。如果ifdown
沒有按預期(向上)找到它,它會寫它沒有配置。一旦被告知,較新版本的 Ubuntu(或其他發行版)很可能不會使用 ifupdown 並且
interfaces
預設情況下不再使用。更新:正如@guntbert 指出的那樣,Ubuntu 18.04 使用Netplan代替。