Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104641220
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-18 07:54:02

     来源:赛迪网    作者:altaitai

一、环境

服务器debian 2.6.18

认证服务器radius+mysql

软件ppp-2.4.4 rp-pppoe-3.8 radiusclient

二、架设步骤

1、编译内核

为了能实现PPPoE,要先编译内核,让内核支持PPPoE。就在对内核进行编译。这里就不做介绍了,网上很多,相信很多人也编译过自己的内核。

2、下载、安装ppp,pppoe软件

(1)安装ppp软件

这里用的是ppp-2.4.4,下载后,解压到/usr/src/ppp/

编译:

cd /usr/src/ppp/ppp-2.4.4/

./configure --prefix=/usr/local/ppp //指定PPP安装的位置

make

maek install

(2)安装rp-pppoe

也是将rp-pppoe-3.8下载后,解压到/usr/src/ppp/下

cd /usr/src/ppp/rp-pppoe-3.8/src

./configure --prefix=/usr/local/ppp --enable-plugin=/usr/src/ppp/ppp-2.4.4

指定rp-pppoe的安装位置为/usr/local/ppp ,加载ppp的路径/usr/src/ppp/ppp-2.4.4

make

make install

(3)安装radiusclient

这个很简单,直接apt-get install radiusclient

不过先查找一下有没有radiusclient

(4)创建pppd的快捷方式

由于我的PPP和rp-pppoe是自己编译和指定路径安装的,所以安装程序不会将pppd安装到系统默认的系统路径/usr/bin/,所以这里我们要建立一个连接,将pppd 连接到系统默认的路径中去

ln -s /usr/src/local/ppp/sbin/pppd /usr/bin/pppd

(5)配置pppd

更改/etc/ppp/pppoe.conf ,这个好象没有什么地方需要更改的,只是要注意一下

# Ethernet card connected to DSL modem

ETH=eth1

这里需要指定你要进行拨号的网卡是哪一张

(6)配置pppoe-server-options

auth

refuse-pap

require-chap

default-mru

default-asyncmap

lcp-echo-interval 60

lcp-echo-failure 5

ms-dns x.x.x.x

noipdefault

noipx

nodefaultroute

noproxyarp

noktune

10.0.0.1:10.0.0.254

netmask 255.255.255.255

这是我服务器上的配置,请参见配置说明,需要说明的是

refuse pap

require chap //认证方式

ms-dns x.x.x.x 在这里为客户端配置DNS服务器。客户将被指定DNS服务器这里设定的DNS

10.0.0.1:10.0.0.254

netmask 255.255.255.255 这里指定PPPoE拨号成功后的分配的IP地址范围

(7)配置options

asyncmap 0

auth

crtscts

nobsdcomp

nodeflate

nopcomp

plugin /etc/ppp/plugins/radius.so

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

defaultroute

local

lock

hide-password

modem

proxyarp

lcp-echo-interval 30

lcp-echo-failure 4

ipcp-accept-local

ipcp-accept-remote

noipx

idle 3600

其中

plugin /etc/ppp/plugins/radius.so

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

这两行指定加载radius.so的位置和radius-config配置文件的位置,这两个很重要,因为我采用的radius 进行认证。

检查/etc/ppp/plugins/目录下有没有radius.so,如果没有,从安装目录下COPY一个过来就可以了

cp /usr/local/ppp/lib/pppd/2.4.4/radius.so /etc/ppp/plugins/

(8)配置/etc/radiusclient/radiusclient.conf

需要更改是

auth_order radius

authserver x:1812

acctserver x:1813

(9)配置/etc/radiusclient/servers

在文件中添加与 radius服务器之间进行通信的密码和服务器名

# Make sure that this file is mode 600 (readable only to owner)!

#

#Server Name or Client/Server pair Key

#---------------- ---------------

#portmaster.elemental.net hardlyasecret

#portmaster2.elemental.net donttellanyone

msrv whereknife

(10)设置IP转发

echo "1" > /proc/sys/net/ipv4/ip_forward

阅读(200) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~