在Debian环境下架设PPPoE服务器方法 |
发布时间: 2012/8/13 10:29:20 |
一、环境
服务器debian2.6.18 认证服务器radius+mysql 软件ppp-2.4.4rp-pppoe-3.8radiusclient 二、架设步骤 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 maekinstall (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 makeinstall (3)安装radiusclient 这个很简单,直接apt-getinstallradiusclient 不过先查找一下有没有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,这个好象没有什么地方需要更改的,只是要注意一下 #EthernetcardconnectedtoDSLmodem ETH=eth1 这里需要指定你要进行拨号的网卡是哪一张 (6)配置pppoe-server-options auth refuse-pap require-chap default-mru default-asyncmap lcp-echo-interval60 lcp-echo-failure5 ms-dnsx.x.x.x noipdefault noipx nodefaultroute noproxyarp noktune 10.0.0.1:10.0.0.254 netmask255.255.255.255 这是我服务器上的配置,请参见配置说明,需要说明的是 refusepap requirechap//认证方式 ms-dnsx.x.x.x在这里为客户端配置DNS服务器。客户将被指定DNS服务器这里设定的DNS 10.0.0.1:10.0.0.254 netmask255.255.255.255这里指定PPPoE拨号成功后的分配的IP地址范围 (7)配置options asyncmap0 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-interval30 lcp-echo-failure4 ipcp-accept-local ipcp-accept-remote noipx idle3600 其中 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_orderradius authserverx:1812 acctserverx:1813 (9)配置/etc/radiusclient/servers 在文件中添加与radius服务器之间进行通信的密码和服务器名 #Makesurethatthisfileismode600(readableonlytoowner)! # #ServerNameorClient/ServerpairKey #———— #portmaster.elemental.nethardlyasecret #portmaster2.elemental.netdonttellanyone msrvwhereknife (10)设置IP转发 echo"1">/proc/sys/net/ipv4/ip_forward 本文出自:亿恩科技【www.enkj.com】 |