在linux中用rp-pppoe搭建pppoe服务器:
网上有很多关于如何在linux搭建pppoe服务器的教程,自己试着按上面说的配置,总结了一些要点:
1.启动pppoe服务器的命令如下:
pppoe-server -I eth1 -L 192.168.1.1 -R 192.168.1.2 -N 20
其中-I参数指定工作网卡接口,-L指定服务器端IP地址,-R参数指定分配给客户端的起始IP地址,-N参数为最大pppoe会话数(进程数,也是IP数)
2.pppoe-sever会创建一个pppoe子进程,然后由pppoe子进程调用pppd进程进行ppp会话,pppoe子进程创建pppd进程时默认会指定pppd读取/etc/ppp/pppoe-server-options(可以通过pppoe-server的-O选项另外指定),因此有些教程说要修改/etc/ppp/options文件的相关pppd参数,我觉得参数应该都加在/etc/ppp/pppoe-server-options中。
3./etc/ppp/pppoe-server-options中不要包含login选项,因为该选项表示用系统密码数据库中的密码进行验证(我觉得就是用linux中的账户和密码来验证)
4.可以通过在/etc/ppp/pppoe-server-options中指定ms-dns选项指定dns服务器,有关pppd的相关选项可以通过man pppd查询
5.pap的账户和密码在/etc/ppp/pap-secrets文件中设定,chap的账户和密码在/etc/ppp/chap-secrets中设定
6.默认/etc/ppp/pap-secrets和/etc/ppp/chap-secrets文件只有root用户可以读取,可以通过给pppd程序加上setuid权限使其能够读写,命令如下:
chmod u+s /usr/sbin/pppd
7.另发现pppoe与syslogd服务有冲突,必须关闭syslogd服务后启用pppoe-server服务,这样客户端才能连接成功,网上查与pppd版本有关,2.4.3-2.4.4版本有问题,升级到2.4.5版本后就没有问题了。