在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.laynepeng.cn】 |