部署环境
实验环境:Ubuntu 20.04
安装 ppp
apt install ppp
安装 libc6-dev
apt install -y libc6-dev
安装 rp-pppoe
wget -c https://src.fedoraproject.org/repo/pkgs/rp-pppoe/rp-pppoe-3.15.tar.gz/sha512/a156c084e57361ab6a464c3205ffb85cf86d02f71f17f92c9567f1ab0ed300f10030832fd232084699dc842ac4891efc8c54c8165587bfc7b4c92724318a60d9/rp-pppoe-3.15.tar.gz
tar zxf rp-pppoe-3.15.tar.gz -C /opt
chown -R root:root /opt/rp-pppoe-3.15
/opt/rp-pppoe-3.15/go
如果是部署的服务端,可以一路回车,毕竟用不到这个配置。
配置保存在/etc/ppp/pppoe.conf
,此配置文件是 pppoe-start 命令默认读取的配置文件,作为 PPPOE Client 客户端另行配置使用,因此需要在另一台设备再部署一次 rp-pppoe 作为客户端,然后连接到服务端的以太网口才能进行拨号测试。但是需要注意的是,这里使用 Mikrotik RouterOS 作为客户端进行测试,更贴近实际生产环境的使用情况,以下仅介绍服务端的配置。
错误提示
如果出现no acceptable C compiler found in $PATH
apt install -y gcc
如果出现make not found
apt install -y make
配置环境
账号密码
账号密码保存在/etc/ppp/chap-secrets
,需要在最后加上*
表示允许所有来源 IP 连接。
# client server secret IP addresses
pppoetest01@livejq.top * "pppoetest01" *
ppp 全局配置
ppp 全局配置文件/etc/ppp/options
,以下列出的修改成相同,其他默认。
local
#modem
-pap
+chap
proxyarp
pppoe 全局配置
pppoe 全局配置文件/etc/ppp/pppoe-server-options
#require-pap
require-chap
#login
auth
允许拨号上网
启用转发
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf && sysctl -p
开启地址转换
iptables -A POSTROUTING -t nat -s 192.168.123.0/24 -j MASQUERADE
启动 pppoe-server 服务
pppoe-server -I ens3 -L 192.168.123.254 -R 192.168.123.50 -N 20
最后连接拨号测试,可以正常上网。
评论区