分享
 
 
 

在Linux下建立PPPOE服务器的步骤

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

建立环境:

操作系统:DEBIAN 2.2 升级到3.0

内 核:2.4.18

硬件环境:赛扬3 1.1G ,内存 128M , 硬盘 40G ,主板芯片组 694T

显 卡:ATI RAGE IIC(4M)

PPPOE服务器:RP-PPPOE 3.4.1

RADIUS服务器:FREERADIUS 0.8

数 据 库: MYSQL 3.23.56

PPPOE服务器认证的建立分三种认证方式,第一种方式为用RP-PPPOE自带的基于文本认证方式,第二种方式为建立在RADIUS认证服务器上的文本认证方式,第三种方式是基于MYSQL的数据库认证方式

一、编译内核

要建立PPPOE服务器,除了内核要支持PPP以外还需要内核支持PPPOE,不过在2.4.18里需要打开内核的不成熟代码才可以选择,内核的配置如下:

code maturity level options——> prompt for development and/or incomplete code/drivers

networking options——> packet socket packet socket:mmapped io

network device support——> ppp (point-to-point protocol) support ppp multilink support (experimental) ppp filtering ppp support for async serial ports ppp support for sync tty ports ppp deflate compression ppp bsd-compress compression ppp over Ethernet (experimental)

character devices——> non-standard serial port support hdlc line discipline support

编辑/etc/modules.conf(redhat好象是conf.modules),如果没有就加入以下几行:

• alias char-major-108 ppp_generic

• alias /dev/ppp ppp_generic

• alias tty-ldisc-3 ppp_async

• alias tty-ldisc-13 n_hdlc

• alias tty-ldisc-14 ppp_synctty

• alias ppp-compress-21 bsd_comp

• alias ppp-compress-24 ppp_deflate

• alias ppp-compress-26 ppp_deflate

完成以后就可以下一步,建立PPP拨号服务器了

二、建立PPP服务器

在建立拨号服务器之前,应确保你在内核中打开了IP转发功能:

echo “1”>/proc/sys/net/ipv4/ip_forward

编译PPP服务器很容易,就是按以下几步就可以了:

•使用configure

•使用make编译PPPD,这里有几个参数比较重要,要支持windows的客户端,应该在编译时加上选项USE_MS_DNS=1,如果你的系统shadow的话,你应该使用make HAS—SHADOW=1表示支持shadow密码

•编译完成后,将生成pppd、pppdump、chat和pppstats这几个文件,使用make install安装这些文件

•修改pppd的访问权限,允许由root启动服务进程

chmod u+s /usr/sbin/pppd

三、建立PPPOE服务器

cd /rp-pppoe-3.4/src

./configure

make

make install

启动PPPOE进程:

pppoe-server –L 10.0.0.1 –R 10.0.0.2 –N 64 –k -u

-L: 指定PPPOE服务器的IP地址

-R: 指定PPPOE拨入服务器分配给客户端的IP地址段

-N: 允许客户端同时拨入的数量(默认是64 最大是65534)

-k: 使用内核方式(不过好象无法使用)

修改/etc/ppp/options,查看有没有以下几行,没有就加进去:

local

repaire-pap

login

auth

defaultroute

hide-password

ipcp-accept-local

ipcp-accept-remote

10.0.0.1:10.0.0.255

netmask 255.255.255.0

ms-dns 10.0.0.1

修改/etc/ppp/pppoe-server-options,将所有的行都注释掉

添加用户到/etc/ppp/pap-secrets中,例如添加用户luo,密码为123456,允许从任何位置拨入:

#client server secret ip addresses

luo * “123456” *

设置windows的用户名:luo 密码: 123456,如果连接成功就可以进行下一步

四、建立RADIUS认证服务器

cd /freeradius-0.81

./configure

make

make install

编辑/usr/local/etc/raddb/clients,输入你的NAS(网络认证服务器)的IP地址和serect,本例中NAS为本机,serect为linux,看上去如下:

localhost linux

编辑/usr/local/etc/raddb/clients.conf,加入以下几行:

client 127.0.0.1{

secret = linux

shortname = localhost

}

nastype = other

编辑/usr/local/etc/raddb/naslist,加入:

localhost local

编辑/usr/local/etc/raddb/users,加入用户:luo、密码:123456,显示如下:

luo Auth-Type:=local, User-Password==“123456”

Service-Type:= Framed-User,

Framed-Protocol = PPP

Framed-IP-Address := 10.0.0.2

Framed-IP-Netmask := 255.255.255.0

启动RADIUS服务、测试帐号

启动调试模式

RADIUS –X

进行帐号测试

Radtest luo 123456 localhost 0 linux

如果能看到应答,说明RADIUS设置成功了

要使PPPD进程能够使用RADIUS进行认证,需要加入RADIUS认证的插件

cp radius.so /usr/lib

编辑/etc/ppp/options,加入以下到文件:

plugin /usr/lib/radius.so

radius-servers localhost:1812/1813

radius-auth-key linux

radius-ip-pool 10.0.0.2:10.0.0.255

运行客户端进行登陆,如果能通过认证则成功了

五、建立MYSQL服务器

tar zxvf mysql-3.23.56.tar.gz

cd mysql-3.23.56

./configure

make

make install

cd script

./mysql_install_db

/usr/local/bin/safe_mysqld&

安装RADIUS数据库

cd freeradius-0.81/src/modules/rlm_sql/drivers/rlm_sql_mysql

mysql –u root –p 密码 radius<db_mysql.sql

编辑/usr/local/etc/raddb/radius.conf使其支持SQL,修改后如下:

authorize{

preprocess

chap

mschap

suffix

sql

}

accounting{

……

sql

……

}

修改sql.conf,如下所示:

server="loclahost" login="root" password="mysql的root的密码"

加入组帐号

mysql –u root –p 密码 radius

insert into radgroupreply (groupname,attribute,op,value) values (‘user’,’Auth-Tyep’,’:=’,’local’);

insert into radgroupreply (groupname,attribute,op,value) values (‘user’,’Service-Type’,’:=’,’Framed-User’);

insert into radgroupreply (groupname,attribute,op,value) values

(‘user’,’Framed-IP-Netmask’,’:=’,’255.255.255.0’);

#设定拨入用户的掩码,本例只有PPPOE服务,所以可以与options中设定相同

加入用户帐号:

insert into radcheck (username,attribute,op,value) values

(‘luo’,’User-Password’,’:=’,’123456’);

将用户帐号加入组帐号

insert into usergroup(username,groupname) values(‘luo’,’user’);

如果提示无法找到rlm_sql_mysql文件,则:

cp /usr/local/lib /usr/lib

测试:

radtest luo 123456 localhost 0 linux

见到应答就OK了!

以上是我建立PPPOE服务器的方法,因本人才疏学浅,如有什么错误请指正,如有什么问题可以联系我:QQ 124249756 E-mail:luo19800526@sina.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有