星期三, 5月 19, 2021

使用 nmcli 設定 Network Manager PPPoE 撥接光世代固定 IP 小記

使用 nmcli 設定 Network Manager PPPoE 撥接光世代固定 IP 小記


OS: openSUSE Leap 15.2


情境:

  • 由於 COVID 19 的關係, 有些公司開始有機會居家上班是分區上班

  • 家中的環境是使用 4G + 路由器的方式進行上網, 最近因為訊號與居家上班的關係, 跑去申請中華電信的光世代 100M / 40M.

  • 因不想頻繁更動防火牆規則, 故想要申請固定 IP 來簡化流程與增進效率


這篇部落格就是紀錄申請固定 IP 與相關設定


==== 申請光世代固定 IP ====


到中華電信官網 https://www.cht.com.tw

點選 家庭上網與通訊 -- > 點選 固定 IP 申請


登入帳號



  • 這邊輸入申請時候給的小卡片上面的帳號與密碼


點選 一個固定IP + 七個動態 IP

輸入 聯絡 Email

勾選 我已閱讀並同意

點選 送出申請

  • 聯絡Email 很重要, 以後有變動與相關資訊都會用這個 email 通知


這樣就設定完成 :)


==== 撥接固定 IP  ====


但是如果你到 https://www.whatismyip.com/ 去觀察你的對外 IP

你會發現, 這個時候的對外 IP, 並不是配發的固定 IP

  • 因為中華電信要使用 xxxxxxxx@ip.hinet.net 撥接上去的才是固定 IP

  • 一開始透過設備無線 / 有線所取得的 IP 都是 7 個動態 IP 的其中一個


所以如果要使用配發的固定 IP, 那就要

  • 使用有線連線光世代設備

  • 使用 PPPoE 配合 xxxxxxxx@ip.hinet.net 撥接才能取得 IP


網路上搜尋到很多文章都是用 pppoeconf 或是 rp-pppoe 方式來撥接, 但是因為我的環境是用 NetworkManager + GNOME 介面, 所以我想要在現有介面處理掉, 找了一下網路上面的做法  

找到了使用 nmcli (command-line tool for controlling NetworkManager) 方式來解決


首先可以用 nmcli 指令觀察連線

# nmcli  connection  show


預設在 NetworkManager 沒有看到  PPPoe 相關設定

使用 nmcli 指令建立一個 pppoe 連線, 名稱爲 hinet, 並進入設定


# nmcli  connection  edit  type  pppoe  con-name  "hinet"


===| nmcli interactive connection editor |===


Adding a new 'pppoe' connection


Type 'help' or '?' for available commands.

Type 'print' to show all the connection properties.

Type 'describe [<setting>.<prop>]' for detailed property description.


You may edit the following settings: connection, pppoe, 802-3-ethernet (ethernet), ppp, 802-1x, ethtool, match, ipv4, ipv6, tc, proxy


設定帳號名稱

nmcli>  set  pppoe.username  25677291@ip.hinet.net

儲存設定

nmcli>  save

Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.

Do you still want to save? (yes/no) [yes] yes

Connection 'hinet' (8d2d2b0f-2ab7-4302-9428-eb8a1adc1d41) successfully saved.

離開設定

nmcli>  quit


  • 上面那個 2267291 請換成自己的 HN 帳號


點選GNOME 介面右上角, 有線設定值



點選 hinet 設定按鈕



  • 這個時候會被要求輸入管理者帳號確認權限


選取有線網路的介面 (Parent interface) 以我這邊是 eth0

這個使用可以觀察到剛剛設定的 Username 應該已經填入 (xxxxxxxx@ip.hinet.net)

輸入密碼 -- >  點選 儲存


把有線網路停用再啟用, 應該 hinet 就會自動撥接上去了


  • 相關設定檔儲存在 /etc/NetworkManager/system-connections 目錄下, 也可以觀察


接下來就是觀察取得的 IP 是否為配發的固定 IP ( 還會帶 IPv6 )

  • 可以用 # ip address show  觀察 ppp0 介面


這樣IP 就固定下來了 :)

又前進一小步


~ enjoy it


沒有留言: