前提:内核要支持PPP RPM安装 RPM此文章是转载 网址: http://hi.baidu.com/telpublic/blog/item/41e080c3d4277b54b319a88b.html 系统环境: fedora 4 2.6.11 i386 rp-pppoe-3.5-27 配置实现: 1、检查系统是否已安装PPPOE服务器 rpm -q rp-pppoe 如果未安装,可以到 www.roaringpenguin.com/pppoe/ 下载 2、配置系统以支持IP转发 修改/etc/sysctl.conf文件:net.ipv4.ip_forward = 1 3、修改PPPOE身份验证方式 修改/etc/ppp/pppoe-server-options,全部内容如下: require-chap #使用chap验证协议,如果使用pap验证协议,则此行为 require-pap login lcp-echo-interval 10 lcp-echo-failure 2 ms-dns 202.96.134.133 #分配给客户端的DNS ms-dns 202.96.128.68 4、添加身份验证账户 修改/etc/ppp/chap-secrets,添加账户 #如果使用pap验证,则修改/etc/ppp/pap-secrets username * password * 5、启动pppoe服务器 pppoe-server -I eth0 -L 192.168.0.1 -R 192.168.0.5 -N 10 -I eth0 指定pppoe服务器在那个网卡接口监听连接请求 -L 192.168.0.1 指定pppoe服务器的ip地址。(注意:此IP地址不是网卡的IP地址,而是PPPOE服务器的虚拟IP) -R 192.168.0.5 pppoe服务器分配给客户端的IP地址,从192.168.0.5开始,递增 -N 10 指定最多可以连接pppoe服务器的客户端数量 6、关闭PPPOE服务器 killall pppoe-server 备注: 1、如果使用pap验证方式,windowsxp以上系统自带的pppoe拨号,无法拨通。可能原因是pap使用明文密码验证,而windows保存的密码是加密的,而且是不可恢复的加密,所以windows无法提供密码明文。 2、/etc/ppp/pppoe-server-options和/etc/ppp/options,配置无论写在哪个文件中,都能够起到作用。 编译安装 这篇文章是根据网上的文章作为参考,在根据自己的实验而得出的。 软件:pppoe-3.8.tar.gz Ppp-2.4.2.tar.gz(2.4.3的版本以上与syslog冲突)(ppp.samba.org) 这只是做内部测试,并未提供使用,正式提供使用的话,必须要使用iptalbes开放pppoe echo “1”>/proc/sys/net/ipv4/ip_forward 二、建立PPP服务器 在建立拨号服务器之前,应确保你在内核中打开了IP转发功能: 编译PPP服务器很容易,就是按以下几步就可以了: tar xzvf Ppp-2.4.2.tar.gz cd ppp-2.4.2 ./configure(默认会在/usr/sbin) (如果你要修改执行文件的路径,还有配置文件的路径,就修改Makefiles.要想执行文件找到你指定配置文件的路径,必须要改源代码,在pppd的安装目录下,进入pppd目录,找到pathnames.h这个头文件,找到#define _PATH_* 行, 修改后面的路径就行了) Make Make install 修改pppd的访问权限,允许由root启动服务进程 chmod u+s /usr/sbin/pppd 三、建立PPPOE服务器 cd /rp-pppoe-3.8/src ./configure make make install 启动PPPOE进程: pppoe-server -I eth0 –L 10.0.0.1 –R 10.0.0.2 –N 64 -u -L: 指定PPPOE服务器的IP地址 -R: 指定PPPOE拨入服务器分配给客户端的IP地址段 -N: 允许客户端同时拨入的数量(默认是64 最大是65534) -I: 监听的接口 修改/etc/ppp/options,查看有没有以下几行,没有就加进去: linkname smooth noauth privgroup nobody local require-chap login auth defaultroute hide-password ipcp-accept-local ipcp-accept-remote 192.168.0.5:192.168.0.255 netmask 255.255.255.0 ms-dns 192.168.0.1 logfile /var/log/pppoe.log 修改/etc/ppp/pppoe-server-options,将所有的行都注释掉 添加用户到/etc/ppp/chap-secrets中,例如添加用户luo,密码为123456,允许从任何位置拨入: #client server secret ip addresses “luo” * “123456” * 在/etc/ppp/下有个ip-up的脚本,它的作用是每次客户端拨号成功它就执行这个脚本,大家可以自定义这个脚本做出你想要的功能。 还有个ip-down,这个没试过,我想应该是断开执行的脚本吧! 设置windows的用户名:luo 密码: 123456,如果连接成功就可以进行下一步 |