设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 数据库应用 >> Oracle >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
将你的网站从MySQL改为P…
提高Oracle数据库系统Im…
PostgreSQL数据库学习手…
PostgreSQL介绍及安装指…
Linux下免费数据库Postg…
PostgreSql服务器的配置
用视图进行自定义Postgr…
PostgreSQL 常见问题(F…
源码安装Postgresql8.1.…
PostgreSQL入门
  PPPOE + FreeRADIUS + MySQL 配置记录         
PPPOE + FreeRADIUS + MySQL 配置记录
 

最近两天花精力把PPPOE拨号服务器做了一下,因为网上这方面的资料少得可怜,
所以觉得有必要记录一下,用以方便今后需要做这些东西的同志们。

硬件环境:C4 2.6/ 256M/ 80G IDEHD/ intel 82801集成网卡。
软件环境:Debian sarge 3.1r0 netinst 
用到的包:
ppp-2.4.3.tar.gz
ppp-2.4.3-mppe-mppc-1.1.patch.gz
linux-2.4.30.tar.bz2
linux-2.4.30-mppe-mppc-1.3.patch.gz
rp-pppoe-3.5.tar.gz
mysql-4.1.12.tar.gz
freeradius-1.0.4.tar.gz

其中的 ppp-2.4.3.tar.gz 在http://ppp.samba.org/ 可以下载到
linux-2.4.30.tar.bz2 在 http://www.kernel.org/ 可以下载到
ppp-2.4.3-mppe-mppc-1.1.patch.gz 和 linux-2.4.30-mppe-mppc-1.3.patch.gz 
可以在 http://www.polbox.com/h/hs001/ 下载到
rp-pppoe-3.5.tar.gz 在 http://www.roaringpenguin.com/penguin/open_source_rp-pppoe.php 
可以下载到
mysql-4.1.12.tar.gz 可以在 http://dev.mysql.com/ 下载到
freeradius-1.0.4.tar.gz 可以在 http://www.freeradius.org/ 下载到。


网络情况:
IP: 192.168.1.123
mask : 255.255.254.0
gateway: 192.168.0.1
dns: 192.168.0.2


下面开始:

我的系统一开始就给我装了ppp和pppoe,为了自立更生,我还是把他们删掉了,debian下做这个坏事比较方便:

# apt-get remove ppp pppconfig pppoe pppoeconf


1、重编译内核,加入PPP和PPPOE的支持;
首先解压内核源码,然后把MPPC+MPPE的补丁打上。之后就make menuconfig , 加入以下支持:

code maturity level options——>;
    [*]prompt for development and/or incomplete code/drivers
networking options——>;
    [*]packet socket
    [*]packet socket:mmapped io
network device support——>;
    <M>;PPP (point-to-point protocol) support
        [*]PPP multilink support (EXPERIMENTAL)
        <M>;PPP support for async serial ports
        <M>;PPP support for sync tty ports
        <M>;PPP Deflate compression
        <M>;PPP BSD-Compress compression
        <M>;Microsoft PPP compression/encryption (MPPC/MPPE)
        <M>;PPP over Ethernet (EXPERIMENTAL)
character devices——>;
    [*]non-standard serial port support
        [M]hdlc line discipline support
Cryptographic options--->; 
    [M]SHA1 digest algorithm
    [M]ARC4 cipher algorithm


按照上面的配置重新编译内核,然后安装内核,并用它启动完毕后,备用。

2、创建一个/dev/ppp 设备文件,这是ppp拨号所必需的。

# mknod --mode=664 /dev/ppp c 108 0


3、确保 /etc/modules.conf 里面有如下几行:

alias char-major-108 ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-13 n_hdlc
alias tty-ldisc-14 ppp_synctty
alias net-pf-24 pppoe


4、安装 ppp-2.4.3.tar.gz
解压缩之后,打上ppp-2.4.3-mppe-mppc-1.1.patch.gz 补丁,然后编译安装:

# tar zxvf php-2.4.3.tar.gz
# gunzip ppp-2.4.3-mppe-mppc-1.1.patch.gz
# patch -p0 < ppp-2.4.3-mppe-mppc-1.1.patch
# cd ppp-2.4.3
# ./configure
# make 
# make install install-etcppp
# chmod u+s /usr/local/sbin/pppd
# cd ..


5、安装rp-pppoe

# tar zxvf rp-pppoe-3.5.tar.gz
# cd rp-pppoe-3.5/src
# ./configure --prefix=/usr/local --enable-plugin=../../ppp-2.4.3
# make 
# make install


6、把生成的rp-pppoe.so/radius.so等模块复制到ppp的配置目录里

# cp /usr/local/lib/pppd/2.4.3/* /etc/ppp/plugins


7、配置 /etc/ppp/options 

# cat /etc/ppp/options
lock
crtscts
nobsdcomp
nodeflate
nopcomp


8、配置 /etc/ppp/pppoe-server-options

# cat /etc/ppp/pppoe-server-options
auth
require-chap
default-mru
default-asyncmap
lcp-echo-interval 60
lcp-echo-failure 5
ms-dns 192.168.0.2
ms-dns 61.132.90.92
noipdefault
noipx
nodefaultroute
noproxyarp
noktune
10.0.0.1:10.0.0.200
netmask 255.255.255.255
logfile /var/log/pppd.log



* 这里 192.168.0.2 和 61.132.90.92是我使用的dns
* 10.0.0.1:10.0.0.200 是客户端分配的IP区间

9、设置密码文件 (先实现文本文件密码认证)

# cat /etc/ppp/chap-secrets
hefish  * 123456 *


10、启动pppoe拨入服务:

/usr/local/sbin/pppoe-server -k -I eth0 -L 192.168.1.123 -R 10.0.0.1 -N 128


* -k 使用PPP的kernel mode
* -I eth0 启动pppoe拨号接入的网卡设备
* -L 本地地址IP
* -R 客户端起始IP
* -N 最大并发连接数

11、启动IP转发,使客户端可以通过pppoe服务器访问外网。

# echo 1 >; /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE -s 0/0




启动之后就可以使用PPPOE拨号接入了。
客户端可以采用win2000+raspppoe或者WinXP自带的pppoe,我用的win2003+raspppoe就不行,改用win2003自带的PPPOE就好了,想必也是软件压缩的问题,按理说我打了MPPC补丁,应该是支持软件压缩了,这个问题以后再说吧。

如果拨号之后无法访问拨号服务器,那就把客户端的PPP设置里面的启用软件压缩去掉,即可。

先休息一下。稍候继续。
---------------------------------------------------------


上回书说到,我们用ppp+rp-pppoe架设了 pppoe的拨号服务器,采用了文本文件的认证方式,这回我们要说ppp如何使用radius来认证,radius认证的好处我就不多说了,一方面支持数据库,另一方面支持计费。

1、先装mysql,这就不多说了;

2、把freeradius安装一下;
freeradius是个很周到的东西,考虑到了n多种后台,什么oracle,mssql, ldap都支持,mysql更是不在话下。没说的,就安装:

# tar zxvf freeradius-1.0.4.tar.gz
# cd freeradius-1.0.4
# ./configure --prefix=/usr/local/freeradius
# make 
# make install 


有一点要说明,freeradius需要openssl 库,所以如果系统里没安装的话,还是要事先安装一下的。

3、配置freeradius;
1) 修改 clients.conf

# vi /usr/local/freeradius/etc/raddb/clients.conf
client 127.0.0.1 {
secret = 123456
shortname = localhost
nastype = other



这里secret = 123456 表示从127.0.0.1这个客户端连接radius服务所需要用的密码。
2) 修改 naslist ,加入:

# vi /usr/local/freeradius/etc/raddb/naslist
localhost local portslave


3) 编辑 users ,加入用户: (这个用户是保存在文本文件里的,做测试用)

# vi /usr/local/freeradius/etc/raddb/users
hefish 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 


4) 启动radiusd,测试radiusd服务:

# /usr/local/freeradius/sbin/radiusd -X
# /usr/local/freeradius/bin/radtest hefish 123456 localhost 0 123456 




如果有类似 Access-Accept的字样出现,则表示radius开始工作了。下一步就是要培植radiusd用mysql来认证?a href="http://www.xxlinux.com/">Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-3 3:20:40
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持