admin 管理员组

文章数量: 887021


2024年3月7日发(作者:php一般搭建在什么服务器上)

在Linux下建立PPPOE服务器,一共5个步骤,代码较多,不过一步步设置还是很简单的。

步骤/方法

1. 编译内核

要建立PPPOE服务器,除了内核要支持PPP以外还需要内核支持PPPOE,不过在2.4.18里需要打开内核的不成熟代码才可以选择,内核的配置如下:编辑/etc/(redhat好象是s),如果没有就加入以下几行:完成以后就可以下一步,建立PPP拨号服务器了

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

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

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

•使用configure

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

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

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

chmodu+s/usr/sbin/pppd

3. 建立PPPOE服务器

cd/rp-pppoe-3.4/src

./configure

make

makeinstall

启动PPPOE进程:

pppoe-server–L10.0.0.1–R10.0.0.2–N64–k-u

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

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

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

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

修改/etc/ppp/options,查看有没有以下几行,没有就加进去:修改/etc/ppp/pppoe-server-options,将所有的行都注释掉

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

#clientserversecretipaddresses

luo*“123456”*

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

4. 建立RADIUS认证服务器

cd/freeradius-0.81

./configure

make

makeinstall

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

localhostlinux

编辑/usr/local/etc/raddb/,加入以下几行:编辑/usr/local/etc/raddb/naslist,加入:

localhostlocal

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

luoAuth-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

进行帐号测试

Radtestluo123456localhost0linux

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

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

/usr/lib

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

plugin/usr/lib/

radius-serverslocalhost:1812/1813

radius-auth-keylinux

radius-ip-pool10.0.0.2:10.0.0.255

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

5. 建立MYSQL服务器

cdmysql-3.23.56

./configure

make

makeinstall

cdscript

./mysql_install_db

/usr/local/bin/safe_mysqld&

安装RADIUS数据库

cdfreeradius-0.81/src/modules/rlm_sql/drivers/rlm_sql_mysql

mysql–uroot–p密码radius

编辑/usr/local/etc/raddb/使其支持SQL,修改后如下:修改,如下所示:

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

加入组帐号

mysql–uroot–p密码radius

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

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

insertintoradgroupreply(groupname,attribute,op,value)values

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

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

加入用户帐号:

insertintoradcheck(username,attribute,op,value)values

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

将用户帐号加入组帐号

insertintousergroup(username,groupname)values(‘luo’,’user’);

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

cp/usr/local/lib/usr/lib

测试:

radtestluo123456localhost0linux

见到应答就OK了!


本文标签: 服务器 内核 加入 用户