PPPOE协议简介
PPPoE(Point-to-Point Protocol Over Ethernet),以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。
ubuntu pppoe服务端搭建
首先安装pppoe
sudo apt-get install pppoe
修改/etc/ppp/options,加入+chap,-pap,支持chap协议
+chap
-pap
ms-dns 8.8.8.8
修改/etc/ppp/chap-secrets,加入鉴权信息
# Secrets for authentication using CHAP
# client server secret IP addresses
axk1 * axk *
修改/etc/ppp/pppoe-server-options,如果没有就手动创建
auth
require-chap
logfile /var/log/pppd.log
开启IPv4转发
echo 1 > /proc/sys/net/ipv4/ip_forward
或者
sysctl -w net.ipv4.ip_forward=1
配置完可以用sysctl net.ipv4.ip_forward查看是否生效
配置地址转换规则,这块需要配置系统外网网段的地址,我PC原本用ens33网卡上网,ip是10.32.1.37
iptables -A POSTROUTING -t nat -s 10.32.1.0/24 -j MASQUERADE
运行服务器
pppoe-server -I ens33 -L 12.30.45.1 -R 12.30.45.10 -N 10
-I 后面跟PC的wan网卡
-L 是ppp链接建立后服务端的IP
—R 是分配给客户端的起始地址
-N 代表最大有多少个客户端
下图是链接建立后服务端网卡信息,我使用的命令是这个
pppoe-server -I ens33 -L 200.200.156.117 -R 200.200.156.118 -N 10
服务端地址是200.200.156.117
openwrt pppoe 客户端搭建
默认pppd不支持ip-up-script ip-down-script参数,需要合入一个patch
pppd支持ip-up-script ip-down-script参数patch链接 https://download.csdn.net/download/qq_38721267/87886833
config interface 'wan'
option ifname 'eth0'
option proto 'static'
config interface 'wan_pppoe'
option ifname 'eth0'
option proto 'pppoe'
option username 'axk1'
option password 'axk'
option keepalive '0'
option delegate '0'
option ipv6 '0'
配置完后reload netifd就会生效,链接成功后截图如下