发布时间:2014-09-05 17:36:04作者:知识屋
一、环境
服务器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
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能