---
# System prepended metadata

title: Ubuntu 進階設置 DHCP / PPPoE 撥號上網
tags: [linux]

---

# Ubuntu 進階設置 DHCP / PPPoE 撥號上網

## DHCP (由路由器直接配置內網 IP)
這裡不使用系統預設的 netplan 來調適，而是使用 NetworkManager 來設定。
1. **安裝 NetworkManager**：
    ```bash
    sudo apt install network-manager -y
    sudo systemctl reload NetworkManager
    sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
    ```
2. **確認網卡資訊**：
    ```bash
    ip link
    ```
    輸出類似如下：
    ```bash
    1: lo: ...
        link/loopback ...
    2: eno1: ...
        link/ether ...
        altname enp0s31f6
    ...
    ```
    以這個例子來看，其中 `eno1` 就是網卡名稱。其他可能會是 `enp0s3`, `ens33`, or `eth0` 等。

3. **禁止 netplan 使用乙太網路**：
    首先建立、編輯新檔案
    ```bash 
    sudo vim /etc/netplan/50-cloud-init.yaml
    ```
    刪除所有網卡設置：
    ```bash 
    network:
      version: 2
      ethernets:        # 刪除
        eno1:           # 刪除
          dhcp4: true   # 刪除
    ```
    套用設定
    ```bash
    sudo netplan apply
    ```

    Note. 防止報 Warning，可修改設定訪問權限：
    ```bash 
    sudo chmod 700 /etc/netplan/50-cloud-init.yaml
    ```
    
4. **允許 NetworkManager 管理網卡**：
    ```bash
    sudo vim /etc/NetworkManager/NetworkManager.conf
    ```    
    找到 `[ifupdown]` 段落，把 `managed=false` 改成：
    ```ini
    [ifupdown]
    managed=true
    ```
    保存後重啟服務
    ```bash
    sudo systemctl restart NetworkManager
    ```

5. **新增/更改配置**：
    可直接使用圖形化介面操作，輸入
    ```bash
    nmtui
    ```

## PPPoE 撥號上網
:::warning
請確保路由器支援網橋 (Bridge) 模式，並且已開啟。
:::
1. 安裝 pppoeconf 套件
    ```bash
    sudo apt install pppoeconf
    ```

2. 啟用 pppoeconf，按照彈出畫面指示選擇 是/否
    ```bash
    sudo pppoeconf
    ```

3. 設置 DNS 解析路徑，打開編輯 `/etc/systemd/resolved.conf`
    ```bash
    sudo vim /etc/systemd/resolved.conf
    ```
4. 將 DNS 取消註釋，並填寫可用的 DNS 伺服器，如
    ```bash
    DNS = 8.8.8.8
    ```

Note. 可透過 pon, poff 控制/重連 pppoe
```bash
sudo poff -a       # 斷開所有連線
sudo pon           # 重新連線
```


