
我有一台家用無頭伺服器,它從可移動 USB 記憶棒啟動(並具有根檔案系統)。我從我的筆記型電腦安裝它(如下不錯的清單)並根據需要編輯設定檔。理想情況下,我希望能夠在 USB 記憶棒插入我的筆記型電腦時完全配置系統,這樣一旦我將其插入伺服器,它將直接啟動到多用戶級別,並啟動網路並運行 SSH 守護程式。我想要的網路配置非常簡單:它有一個整合的 MOBO NIC,我想靜態配置它。
我發現的主要問題是我不(可靠地)知道我的網路卡將被分配什麼介面名稱。到目前為止,盲目使用eth0
in/etc/network/interfaces
已經完成了這項工作,但是上次我重新安裝時它切換到了可預測的網路介面名稱方案,我不得不拖著顯示器和鍵盤在本地登入並對系統進行故障排除。
那麼我該如何避免自己以後遭受這樣的痛苦呢?
答案1
我認為最簡單、實用的解決方案是恢復經典行為。
- 在 USB 記憶棒的引導程式配置中(例如,在 grub2 配置中),將參數新增
net.ifnames=0
至核心命令列。 - 繼續使用
eth0
在/etc/network/interfaces
.
鑑於您所描述的情況以及您對保持事情簡單化的重視,這似乎是合適的。請注意,如果您過於倉促更新/升級ifupdown
,可能會被棄用,並且您會發現/etc/network/interfaces
將來會停止工作。
答案2
如果您是現代主義者,則可以改用 usingsystemd-networkd
而不是通常的靜態配置方法。看man systemd.network
;基本思想是刪除/etc/network/interfaces
並創建,/etc/systemd/network/static.network
就像
[Network]
Address=1.2.3.4/26
Gateway=1.2.3.3
systemctl enable systemd-networkd
也不要忘記。
答案3
可預測的網路介面命名方案正是為了解決介面在不同時間獲得不同名稱的問題。這意味著透過此更改,您的問題應該會消失(直到 systemd 中介面命名的下一次更改)