在 ArchLinux 運行 PPPoE 伺服器

迫於某種測試的目的,我需要分別兩個 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! 至此完成。


More from VOID IF TAMPERED