前提:内核要支持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,如果连接成功就可以进行下一步
|