# 如何從 Network-Manager 設定轉移至 Netplan
此 guideline 主要說明如何從 network-manager 轉移至 netplan。
## 介紹
> https://netplan.io/
https://ubuntu.com/core/docs/networkmanager/networkmanager-and-netplan
NetworkManager 是 Ubuntu Desktop 安裝預設之網路管理套件,為 optional package,透過 Netplan 產生設定檔進行讀寫設定,包含 GUI 顯示等等。
Netplan 則是 Ubuntu 預設之網路管理工具。
## Steps
1. 確認是否有安裝與使用 network-manager,如有顯示網路資訊則有,沒有就不用做後續步驟
`nmcli`
2. 確認目前使用的 network interface name,例如如下圖所示,為 `eno1`
`nmcli`

3. 建立 netplan 設定檔
nameserver 一律使用學校提供之 DNS server,建議設定兩個以上,避免中斷,可參考此[網址](https://it.nycu.edu.tw/it/ch/app/artwebsite/view?module=artwebsite&id=194&serno=eeaaaba8-5155-4620-a209-6c697ec3b580)。
注意: 大括號需替換對應資料。
```bash=
sudo tee /etc/netplan/01-EVA-config.yaml <<EOF
network:
ethernets:
{network interface name, ex. eno1}:
addresses:
- {IP/prefix, ex. 140.113.86.57/24}
routes:
- to: default
via: {default gateway IP, ex. 140.113.86.254}
nameservers:
addresses:
- 140.113.250.135
- 140.113.1.1
- 140.113.6.2
search: []
version: 2
EOF
sudo nano /etc/netplan/01-EVA-config.yaml
```
4. 更改 netplan 設定檔權限
```bash=
# reference: https://netplan.readthedocs.io/en/latest/reference/#yaml-configuration
# Netplan configuration files use the YAML (v1.1) format.
# All files in /{lib,etc,run}/netplan/*.yaml are considered and are supposed to use restrictive file permissions (600/rw-------), i.e. owner (root) read-write only.
sudo chmod 600 /etc/netplan/01-EVA-config.yaml
```
5. 測試 netplan 設定檔,預設 timeout 為 120 秒,時限內沒回應則會被還原
`sudo netplan try`
`ping www.google.com`
6. 如沒問題,刪除設定 network-manager 為 renderer 之 netplan 設定檔
`sudo rm /etc/netplan/01-network-manager-all.yaml`
6. apply 設定檔
`sudo netplan apply`
7. 檢查是否成功,`netplan status` 為 Ubuntu 22.04 up 限定
`ip a` 或 `sudo netplan status`
9. 移除 network-manager
`sudo apt purge network-manager && sudo apt autoremove --purge`
## FAQ
### 如何查看 IP
1. 透過 network-manager `nmcli`,`inet4 140.113.86.64/24`

2. 透過 `ip` command `ip a`,`inet 140.113.86.64/24`

### 如何查看 Default Gateway IP
`ip route`,`140.113.86.254`
