1.下载源码 rp-pppoe-3.8;解压放在个人目录下,例如,我放在 /home/zcl/下;
2.进入cd /rp-pppoe-3.8/src/,./configure生成makefile;
3.make,(linux下默认gcc编译);
4.sudo make install 安装pppoe;
5.安装完成后,会在动在/etc/ppp目录下生成pppoe-server-options文件,文件内容如下,照着改就可以了;
# PPP options for the PPPoE server
# LIC: GPL
require-pap
require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2
logfile /var/log/pppoe.log
ms-dns 218.108.248.200
ms-dns 8.8.4.4
defaultroute
6.添加用户名密码,修改/etc/chap-secrets文件,添加下列一行;
zcl * "12345" *
7.添加防火墙规则,做nat转换;
iptables -A POSTROUTING -t nat -s 10.10.10.0/24 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 10.10.10.0/24 -j TCPMSS --set-mss 1256
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
第一条是添加nat,转换来自10.10.10.0/24网段的ip;
第二天是修改mtu,根据自身需求改了;
第三条打开转发;
第四条是修改转发文件;
8.启动pppoe
pppoe-server -I eth0 -L 10.10.10.1 -R 10.10.10.100-200
这条命令的作用是:-I eth0 在eth0端口上检测pppoe discover包
-L 10.10.10.1 虚拟网关的意思,就是pppoe服务器端虚拟网关ip
-R 10.10.10.100-200 分配虚拟IP,分别是10.10.10.100到10.10.10.200
还有一些其他的参数你可以参考一下,直接man pppoe-server自己看了,每个参数都有默认值
成功完成上述步骤,就完成了搭建pppoe服务器端了,下面就是windows验证了
我的是windows xp系统,win7或者路由器应该都没问题
不过要改下验证方式,在“属性”--》“安全”--》“高级--设置”--》将“数据加密”改为“可选加密”,然后勾选上chap或者pap验证就可以了
输入用户名密码,不可意外就可以连接成功了
这里,我搭建pppoe服务器只是用来验证我移植的pppoe client,利用windows拨号验证可能链接不成功,但通过抓包可知,拨号连接验证都通过了,只是连不上internet,这对我来说已经可以验证pppoe client 了。