2025 年 6 月 7 日

PVE裡的CT PPPoE撥接

家中網路是使用中華電信的光世代,選擇一 固定ip+7浮動ip,固定ip由route使用,由於虛擬機有真實ip的需求,所以讓虛擬機直接進行PPPoE撥接,在這記錄一下設定方式。

首先確認一下網路架構,PVE主機是接在router之後,如果要讓PVE虛擬機直接進行撥接,需要router支援PPPoE passthrough或是PPPoE relay功能,而我手邊的Google wifi並不支援,所以先改一下網路接法,將PVE主機直接接到小烏龜上,Google wifi的lan回接到小烏龜,也就是說把小烏龜剩下的port作為一般switch來使用。這種接法,主要是希望讓PVE仍然可以與router在同一區網內,但實際上這部份仍有些問題,推測是router的關係,在此就不討論。

虛擬機是以LXC安裝Ubuntu 22.04 LTS server,首先先安裝ppp pppoe pppoeconf (以上均以root權限執行)

apt install ppp pppoe pppoeconf

在虛擬機設定檔加入下方兩行設定,LXC設定檔在 /etc/pve/lxc ,檔名xxx.conf,xxx是虛擬機id

lxc.cgroup.devices2.allow = c 108:0 rwm
lxc.mount.entry = /dev/ppp dev/ppp none bind,create=file

PVE host下以下列指令,讓LXC有ppp的權限

chown 100000:100000 /dev/ppp

查詢(確認)虛擬機網卡名稱,可用”ip a”指令,假設查出來名稱是eth0,下以下列指令進行PPPoE的設定,

pppoeconf eth0

正常連接到小烏龜的話,會要求輸入撥接的帳號以及密碼

完成設定後,可以以下列指令手動執行撥接

pon dsl-provider

以下列指令將連線中斷

poff dsl-provider

由於我的PVE主機仍可透過router對外進行網路連線,預設為此路由對外,需手動將預設route改為PPPoE

ip route add default dev ppp0 scope link

同時刪除預設的route (下列ipi為我的dns ip,請自行修改為您的)

ip route delete default via 192.168.86.1 dev eth0

PVE主機重開機後,需再host設定虛擬機權限;虛擬機重開機後,route需重新修改route

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *