前言
大部分接觸客戶的主機都是已經在完善的環境下操作,很少需要設定到跟硬體有關的部分
今日剛好遠端執行遇到,特地記錄一下
主機環境
- Hyper-V
- Ubuntu 22.04
主機是在 Hyper-V 下執行安裝 Ubuntu 22.04 的 VM
問題
準備遠端操作時被告知主機網路設定不正確,而在過程中遇到的主要錯誤問題有兩項
- eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP>
blk_update_request
:I/O error,dev fd0,sector0
解決方法
第一個 eth0 NO-CARRIER
因為是第一次在僅文字介面下實際設定網路,對這個錯誤訊息很陌生,但它是一個重要訊息關鍵字,查詢後得知它是因為跟實體網路為斷線狀態,告知網管後,立即排除網路連線問題
第二個 blk_update_request:I/O error,dev fd0,sector0
在套用網路設定,這個錯誤訊息一直出現,原來是因為 Hyper-V 會自動開啟軟碟機 (Floppy) 的驅動
執行 sudo rmmod floppy
就可以排除這個錯誤訊息
操作指令
查詢網卡及 IP 資訊
$ ip a
其中列出例如 eth0 的名稱, 此名稱為設定檔案時會需要用到的網卡名稱
設定固定 IP
$ sudo vi /etc/netplan/00-installer-config.yaml
在此放上範例檔案: (/usr/share/doc/netplan/examples/static.yaml)
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 10.10.10.2/24
nameservers:
search: [mydomain, otherdomain]
addresses: [10.10.10.1, 1.1.1.1]
routes:
- to: default
via: 10.10.10.1
註: 另外 Ubuntu 22.04 的設定把 gateway4 設定棄用了 (錯誤訊息: gateway4 has been deprecated, use default routes instead), 要改用 routes
- Netplan - gateway has been deprecated
- netplan generate: gateway4 has been deprecated, use default routes instead
套用網路設定
在套用之前也可以用 netplan try
有 120 秒的後悔時間
$ sudo netplan apply