在 ArchLinux 運行 PPPoE 伺服器
August 19, 2021•164 words
迫於某種測試的目的,我需要分別兩個 PPPoE Server 線路進行測試。
環境
在 Parallels Desktop 中創建了兩個獨立的 host-only network,再分別給兩個虛機加入對應網卡。就當是三台 Linux 介入到兩個虛擬 Switch 中。
Install rp-pppoe
需要準備好以下軟體。
pacman -S rp-pppoe iptables iproute2
PPPoe Server Configure
/etc/ppp/pap-secrets 係用來定義 ppp 的資料檔,格式很簡單,參考下面這樣。因為要分別運行兩條線路,這裡就設置分別兩個用戶吧,分別叫 ppp0user 和 ppp2user。
# Secrets for authentication using PAP
# client server secret IP addresses
"ppp0user" * "ppp0secret" *
"ppp1user" * "ppp1secret" *
建立 /etc/ppp/pppoe-server-options 用來設定 PPPoE Server 變數。
# /etc/ppp/pppoe-server-options
require-pap
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 10.32.0.254
asyncmap 0
noauth
plugin /usr/lib/rp-pppoe/rp-pppoe.so
Nat Gateway
迫於更好的模擬現實環境,這裡需要一個 nat 給撥上來的人對外通信。接下來把 pppoe 用戶設定在營運商級NAT( Carrier-grade NAT)的地址範圍內,讓他們伺服器的網路通訊。
# 打開 IPv4 轉發
sysctl -w net.ipv4.conf.all.forwarding=1
# 把 NAT 功能打開,根據自己的需求去修改網路卡變數
iptables -t nat -A POSTROUTING -s 100.64.0.0/10 -o eth0 -j SNAT --to-source 10.254.0.1
Start The Server
在 PPPoE Server 運行下面的指令就可以開 pppoe server 了,根據自己環境自定。
pppoe-server -I enp0s6 -L 100.64.0.1 -l -R 100.64.0.100 -N 25
pppoe-server -I enp0s6 -L 100.65.0.1 -l -R 100.65.0.100 -N 25
PPPoE Client
兩台客戶機分別配置 pppoe 使用如下指令。
pppoe-setup
pppoe-start
成功連接後會提示 Connected! 至此完成。