Ubuntu 18.04 透過 netplan 設定網路卡 IP
linux·@samejack·
0.000 HBDUbuntu 18.04 透過 netplan 設定網路卡 IP
[](https://blog.toright.com/?attachment_id=6294) 這是一篇筆記文,每一個 Linux Distribution 的網路設定都不太一樣,最近裝了 Ubuntu Server 18.04 LTS 版 (Cosmic Cuttlefish),網路設定又變得陌生了,Network Manager 改用 [netplan](https://netplan.io/) 來管理網路設定,改好之後順便上來紀錄一下,不然下次又忘了。 ## Ubuntu 18.04 設定 netplan 靜態 IP 先看看原本熟悉的 /etc/network/interface 檔案變成什麼樣子: ``` # ifupdown has been replaced by netplan(5) on this system. See # /etc/netplan for current configuration. # To re-enable ifupdown on this system, you can run: # sudo apt install ifupdown ``` 照上面的說明看了一下 /etc/netplan 目錄,查閱一下 /etc/netplan/50-cloud-init.yaml,如下: ``` # This file is generated from information provided by # the datasource. Changes to it will not persist across an instance. # To disable cloud-init's network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: ens192: dhcp4: true ens224: dhcp4: true version: 2 ``` 看來可以關閉 cloud network,但是我其實也沒有要用 cloud-init,乾脆移除它,如下: ``` sudo apt-get remove cloud-init ``` 然後把 /etc/netplan/50-cloud-init.yaml 改成下面這樣: ``` # This file is generated from information provided by # the datasource. Changes to it will not persist across an instance. # To disable cloud-init's network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: ens192: addresses: [192.168.32.231/24] gateway4: 192.168.32.1 nameservers: addresses: [8.8.8.8,8.8.4.4] dhcp4: no ens224: dhcp4: true version: 2 ``` 這幾年 yaml 深得大眾的心,設定檔就是要用 yaml 格式才是潮,解說一下上述幾個設定: * dhcp4: 關閉 DHCP 自動取得 IP,原本是 true 所以改成 no (官方文件竟然不是 false 有點搞笑,但我實際測試 false 也是可以 work 的) * addresses: 靜態 IP 與 Mask * nameservers: DNS 服務器,可以設定多筆 * gateway4: IPv4 所使用的 Gateway 修改後存檔後輸入以下命令: ``` sudo netplan try ``` 這個命令執行後會檢查設定檔格式,如果正確的話就會套用,**並且在 120 秒以後自動還原設定!** 是不是很貼心?想必各位應該有過把遠端 Linux 網路設定改錯 restart 的痛吧,有了這個設定,至少錯了在兩分鐘以後會還原,不至於讓你的終端機斷線以後就 GG 惹~ 如果測試沒有問題,就可以執行以下命令真正進行設定: ``` sudo netplan apply ``` 就是那麼簡單,下台一鞠躬... ## Ubuntu 官方參考說明 [Configure Static IP Addresses On Ubuntu 18.04 LTS Server](https://websiteforstudents.com/configure-static-ip-addresses-on-ubuntu-18-04-beta/) [原文:Ubuntu 18.04 透過 netplan 設定網路卡 IP](https://blog.toright.com/posts/6293/ubuntu-18-04-%E9%80%8F%E9%81%8E-netplan-%E8%A8%AD%E5%AE%9A%E7%B6%B2%E8%B7%AF%E5%8D%A1-ip.html)