千家信息网

RHEL5U4平台怎样实现pppoe+freeradius+mysql认证服务器

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,RHEL5U4平台怎样实现pppoe+freeradius+mysql认证服务器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所
千家信息网最后更新 2025年02月01日RHEL5U4平台怎样实现pppoe+freeradius+mysql认证服务器

RHEL5U4平台怎样实现pppoe+freeradius+mysql认证服务器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

软件需求:
红帽自带的:rp-pppoe,ppp,freeradius,freeradius-mysql,mysql,mysql-devel,mysql-server,openssl。
另需:freeradius-2.1.3以及ppp2.4.4的源代码包。
有一点要说明,freeradius需要openssl 库,所以如果系统里没安装的话,还是要事先安装一下的。
第一部分:实现简单的pppoe拨号服务
检查系统上的rp-pppoe以及ppp软件是否安装,命令:
#rpm -q rp-pppoe ppp
如果安装则会有显示软件包的名称,若未安装,找到安装盘上的相关rpm包安装。

配置 /etc/ppp/options
lock
crtscts
nobsdcomp
nodeflate
nopcomp
然后配置/etc/ppp/pppoe-server-options文件,内容为:
# PPP options for the PPPoE server
# LIC: GPL

auth

require-chap

default-mru

default-asyncmap

lcp-echo-interval 60

lcp-echo-failure 5

ms-dns 202.106.0.20

noipdefault

noipx

nodefaultroute

proxyarp

noktune

logfile /var/log/pppd.log

文件内容不做解释,可以通过man pppd查寻相关帮助。此时pppoe服务器从/etc/ppp/ chap-secrets文件中读取验证的用户名和密码信息,此文件格式为:

# Secrets for authentication using CHAP
# client server secret IP addresses
aaa * aaa *

想要多添加用户,再加入新行即可。
然后可以启动pppoe服务了,命令是:
# pppoe-server -I eth2 -L 10.0.0.64 -R 192.168.0.5 -N 10
  我简单介绍一下这条命令中的各个参数的意思。
  I:指定响应PPPOE请求的端口,本例中是在eth2口上。
  L:PPPOE服务器的IP地址,这是客户端所填的PPPOE服务器的地址。
  R:这是分配给客户端的地址池起始地址,本例中从192.168.0.5开始
  N:地址池的IP地址递增几个,本例中添增10,也就是从192.168.0.5开始,到192.168.0.14结束。

  可以看出我们在LINUX中将以上步骤都完成了,也就是说PPPOE服务准备好了,客户端PPPOE拨号,顺利的话就可以拨号成功了。

  当然现在客户端还不能上网,因为PPPOE服务器还没有启用NAT,我们用IPTABLES软件来实现,写一个这样的脚本即可:
  echo "1" >> /proc/sys/net/ipv4/ip_forward
  iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o wan -j SNAT --to 10.0.0.65
  第一行的作用是启用IP转发,第二行是启动IPTABLES进行NAT转换,下面是对各个参数的解释
  -t nat表示进行NAT转化
  -s 192.168.0.0/24表示源地址为192.168.0.0/24这个网段
  -j SNAT --to 10.0.0.65表示将源地址都转化成10.0.0.65这个外网地址
  启动NAT以后,这台PPPOE服务器就功能完整了,客户端不仅可以拨通服务器,拨通后还可以上网。

注:红帽自带的pppoe服务器,在RHEL5至RHEL5U2的版本上与系统的syslog服务有冲突。可现关闭syslog服务,让pppoe服务器正常运行。

第二部分:让pppoe服务使用freeradius服务器进行验证

1)首先更改/etc/ppp/pppoe-server-options,添加一行设置:
# PPP options for the PPPoE server
# LIC: GPL

auth

require-chap

default-mru

default-asyncmap

lcp-echo-interval 60

lcp-echo-failure 5

ms-dns 202.106.0.20

noipdefault

noipx

nodefaultroute

proxyarp

noktune

plugin /usr/lib/pppd/2.4.4/radius.so

radius-config-file /etc/ppp/radiuds/radiusclient.conf

logfile /var/log/pppd.log

表示让pppoe-server在运行时加入pppd的radius查检,可以让pppoe服务通过freeradius来验证和记账。添加此行之后,可以创建/etc/ppp/radiuds/目录,创建完之后,我们需要使用一下ppp的源代码,因为红帽没有给我们提供相应的配置文件。解压ppp的源代码目录:
#wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.4.tar.gz
#tar xvfz ppp-2.4.4.tar.gz
#cd ppp-2.4.4
#cd pppd/plugins/radius/etc/
#cp * /etc/ppp/radiuds/
2) 这个目录下有我们需要的所有相关的配置文件,其中最重要的是/etc/ppp/radiuds/radiusclient.conf,我们先打开此文件配置,其内容为(已去掉注释):
auth_order radius

login_tries 4

login_timeout 60

nologin /etc/nologin

issue /etc/ppp/radiuds/issue

authserver localhost:1812

acctserver localhost:1813

servers /etc/ppp/radiuds/servers

dictionary /etc/ppp/radiuds/dictionary

login_radius /usr/local/sbin/login.radius

seqfile /var/run/radius.seq

mapfile /etc/ppp/radiuds/port-id-map

default_realm

radius_timeout 10

radius_retries 3

login_local /bin/login

3) 另外,还需更改此目录下的servers文件,此文件用来指定读取的radius服务器的主机名称以及key值(需要在freeradius配置中指定)。

编辑 /etc/ppp/radius/servers ,设定radius 服务器的位置
localhost 123 // 这里的123是我前面设置的nas(localhost)访问radius服务器的密码

4) 编辑/etc/ppp/radius/dictionary ,修改一些路径设置,主要是最后一个dictionary.microsoft 的路径设置

INCLUDE /etc/ppp/radiuds/dictionary.microsoft

#INCLUDE /etc/ppp/radiuds/dictionary.ascend

#INCLUDE /etc/ppp/radiuds/dictionary.merit

#INCLUDE /etc/ppp/radiuds/dictionary.compat
5) 此时pppoe服务已经可以通过radius认证了。然后进行freeradius的配置。
首先检查freeradius是否安装:
#rpm -q freeradius freeradius-mysql
其中freeradius-mysql包使用来让freeradius连接mysql数据库的,本部分还用不到。
首先打开/etc/raddb/clients.conf配置客户端访问控制,文件内容如下:
client 127.0.0.1 {
secret = 123
shortname = localhost
nastype = othe
}

表示客户端之允许从127.0.0.1的ip登录radius服务,并且需要验证的secret为123,就是在上面的servers文件中需要配置的信息。若要实现可以从别的机器访问,请参考注释获得帮助。

6) 然后配置naslist文件,内容为:

# NAS Name Short Name Type
#---------------- ---------- ----
#portmaster1.isp.com pm1.NY livingston
#portmaster2.isp.com pm1.LA livingston
localhost local portslave

此文件用来配置记录有哪些指定的nas服务器需要使用radius进行记账。现在指定的是localhost。

7) 主控配置文件是radiusd.conf,目前没有需要改的,可通过注释学习其中配置方法。此文件主要是用来指定freeradius服务器默认的验证和记账方式。我们目前使用本地的文件方式,就是/etc/raddb/users文件,在其中添加我们需要提供给pppoe服务认证的用户信息,内容如下(用户名前面一定不能有空格):
aaa Auth-Type := Local, Simultaneous-Use := 1, User-Password == "aaa"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 192.168.0.8,
Framed-IP-Netmask = 255.255.255.255

其中Simultaneous-Use := 1字段用来设置每个用户同时登录的个数。所有字段信息都在freeradius的源代码中有文档给予解释。另外要注意,添加的用户字段应写在文件DEFAULT字段前面添加,否则可能不会生效。
8) 为了让radius能正确地调用mysql,还要指定一下库的位置:
echo /usr/lib >> /etc/ld.so.conf
ldconfig

9) 都配置完毕后,可以通过radiusd -X命令以排错方式启动,此时再启动pppoe-server,用客户端拨号验证一下,检查pppoe服务是否成功通过freeradius来验证用户。如果成功,这一部分完成。可通过 service radiusd restart来正常启动radius服务。

radiusd -X
radtest aaa aaa localhost 0 123
看到 Access-Accept 之类的字样就表示OK了。 这时可以正式启动radiusd

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

服务 文件 服务器 配置 地址 客户 内容 客户端 用户 验证 信息 命令 字段 源代码 目录 软件 帮助 认证 成功 可以通过 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有网络软件显示无法连接服务器 黄明昊视频软件开发 做软件开发成本该不该 如何保护学生的网络安全 关于青少年网络安全的文章 做软件开发的怎么拉业务 长沙回收联想服务器 成都软件开发推荐成都柚米 13482 信用数据库 手机本机数据库 广州带货直播软件开发 网络安全检查情况描述 济宁学院计算机系网络安全专业 镇开展网络安全自查工作总结 湖北软件开发需要多少钱 如何与服务器建立安全连接视频 正风肃纪网络安全 守望先锋登录游戏服务器失败 结合自身工作谈谈网络安全问题 盐城市齐齐网络技术 上汽大通软件开发月薪 华为的数据库怎么恢复 山西企业软件开发收费 我的世界147服务器 厦门汽车备件管理软件开发 创建数据库表存哪里 网络安全技术考试 服务器的邮件怎么读取 北京微信软件开发平台 数据库设计中的原子化理论
0