OpenWRT安装PPPoe:
opkg update
opkg install rp-pppoe-server
配置PPPoe:
cat > pppoe-server-options << EOF
# PPP options for the PPPoE server
# LIC: GPL
require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 8.8.8.8
EOF
设置PPPoe账号、密码:
cat >/etc/ppp/chap-secrets << EOF
#USERNAME PROVIDER PASSWORD IPADDRESS
www.haiyun.me * www.haiyun.me *
EOF
启动PPPoe服务脚本:
cat >/etc/init.d/pppoe-server << EOF
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=50
start() {
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -j MASQUERADE
/usr/sbin/pppoe-server -k -T 60 -I eth1.1 -N 100 -L 10.0.1.1 -R 10.0.1.2
}
stop() {
iptables -t nat -D POSTROUTING -s 10.0.1.0/24 -j MASQUERADE
killall pppoe-server
}
EOF
chmod +x /etc/init.d/pppoe-server
遇到的问题1,客户端连接错误代码619,使用tcpdump监听数据包:
Generic-Error "RP-PPPoE: Child pppd process terminated"
查看pppoe错误日志:
May 26 13:31:07 OpenWrt daemon.notice pppd[4972]: Connect: ppp0 <--> /dev/pts/1
May 26 13:31:07 OpenWrt daemon.notice pppd[4972]: Modem hangup
May 26 13:31:07 OpenWrt daemon.notice pppd[4972]: Connection terminated.
解决方法:启动参数加-k,加载内核pppoe模块启动。
遇到的问题2,客户端连接错误代码691,原因:
用户名或密码填写错误
require-chap账号密码文件确认为chap-secrets