2022/10/04

[Ubuntu] 解決在 Ubuntu 22.04 設定網路固定 IP 遇到的問題

markdown ### 前言 大部分接觸客戶的主機都是已經在完善的環境下操作,很少需要設定到跟硬體有關的部分 今日剛好遠端執行遇到,特地記錄一下 ### 主機環境 - Hyper-V - Ubuntu 22.04 主機是在 Hyper-V 下執行安裝 Ubuntu 22.04 的 VM ### 問題 準備遠端操作時被告知主機網路設定不正確,而在過程中遇到的主要錯誤問題有兩項 1. eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> 2. `blk_update_request`:I/O error,dev fd0,sector0 ### 解決方法 第一個 `eth0 NO-CARRIER` 因為是第一次在僅文字介面下實際設定網路,對這個錯誤訊息很陌生,但它是一個重要訊息關鍵字,查詢後得知它是因為跟實體網路為斷線狀態,告知網管後,立即排除網路連線問題 - [eth0 NO-CARRIER, ifconfig shows no IP address](https://askubuntu.com/questions/497850/eth0-no-carrier-ifconfig-shows-no-ip-address) 第二個 `blk_update_request:I/O error,dev fd0,sector0` 在套用網路設定,這個錯誤訊息一直出現,原來是因為 Hyper-V 會自動開啟軟碟機 (Floppy) 的驅動 執行 `sudo rmmod floppy` 就可以排除這個錯誤訊息 - [ubuntu 解決 blk_update_request i/o error dev fd0 錯誤訊息](https://m.xuite.net/blog/tolarku/blog/590009179) ### 操作指令 #### 查詢網卡及 IP 資訊 ``` $ ip a ``` 其中列出例如 eth0 的名稱, 此名稱為設定檔案時會需要用到的網卡名稱 - [Ubuntu manual - ip](https://manpages.ubuntu.com/manpages/jammy/man8/ip.8.html) #### 設定固定 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](https://askubuntu.com/questions/1410750/netplan-gateway-has-been-deprecated) - [netplan generate: gateway4 has been deprecated, use default routes instead](https://unix.stackexchange.com/questions/681220/netplan-generate-gateway4-has-been-deprecated-use-default-routes-instead) #### 套用網路設定 在套用之前也可以用 `netplan try` 有 120 秒的後悔時間 ``` $ sudo netplan apply ``` - [Ubuntu 22.04 network configuration](https://linuxconfig.org/ubuntu-22-04-network-configuration) - [How to Configure Static IP Address on Ubuntu 22.04](https://tecadmin.net/how-to-configure-static-ip-address-on-ubuntu-22-04/)

沒有留言: