史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2004-02-17, 04:24 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 Server PPPoE+PPTP VPN+Radius+MySQL+WebNasAdmin for linux 全攻略

Server PPPoE+PPTP VPN+Radius+MySQL+WebNasAdmin for linux 全攻略


一直想做個PPPoE Server來玩玩,但苦於資料太少,
前幾天看了dalefirst的那篇後,就迫不及待的開始實驗了,
但發現問題多多,又找了很多資料,終於成功了,
現總結全套安裝方法如下:

操作系統:Red Hat Linux 7.2
內核版本:Kernel 2.4.7-10
linux系統IP:192.168.1.9/24

需要的軟體:
http://temp.u5u5.com/linux/ppp-2.4.1...-mppe-patch.gz
http://temp.u5u5.com/linux/pppd-mppe...in-hooks.patch
http://temp.u5u5.com/linux/pptpd-1.1.3-20030409.tar.gz
http://temp.u5u5.com/linux/pppd-taca...ius-1.4.tar.gz
http://temp.u5u5.com/linux/freeradius-0.9.2.tar.gz
http://temp.u5u5.com/linux/rp-pppoe-3.5.tar.gz
http://temp.u5u5.com/linux/ppp-2.4.1.tar.gz


安裝程序:

1、安裝LINUX,裝的時候注意把下列元件選上:
主軟體包:
C devel
C++ devel
擴展包:
OpenSSL
mysql
mysql-server
mysql-devel
mysql-client9
Apache
php
mod-php
mod-mysql
kernel source
wget

一共大概需要800M空間

2、用ROOT登入系統,把需要的軟體用wget等下載到/home/temp/,或者其他目錄也可以,

3、安裝(昇級)PPPD服務
cd /home/temp
tar zxvf ppp-2.4.1.tar.gz
tar zxvf pppd-tacacs+radius-1.4.tar.gz
mv pppd-tacacs+radius ppp-2.4.1/pppd/plugins/
gunzip -d ppp-2.4.1-openssl-0.9.6-mppe-patch.gz
cd ppp-2.4.1
patch -Np1 -i ../ppp-2.4.1-openssl-0.9.6-mppe-patch
patch -Np0 -i ../pppd-mppe-2.4.1-plugin-hooks.patch
./configure
make
make install
cd pppd/plugins/pppd-tacacs+radius/
make
make install
chmod u+s /usr/sbin/pppd

4、安裝PPTPD服務
cd /home/temp
tar zxvf pptpd-1.1.3-20030409.tar.gz
cd poptop
./configure
make
make install

5、安裝freeradius服務
cd /home/temp
tar zxvf freeradius-0.9.2.tar.gz
cd freeradius-0.9.2
./configure --with-experimental-modules \
--with-rlm-sql-lib-dir=/usr/lib/mysql/ \
--with-rlm-sql-include-dir=/usr/include/mysql/
make
make install

6、安裝pppoe服務
cd /home/temp
tar zxvf rp-pppoe-3.5.tar.gz
cd rp-pppoe-3.5/src
./configure
make
make install

配置程序:
1、配置載入的模組
vi etc/modules.conf
--------------------------
alias char-major-108 ppp_generic
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-13 n_hdlc
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-18 mppg
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
--------------------------
注意,如果文件前面有文字,請不要去掉,
因為那可能是你的網路卡驅動模組等

2、配置PPTPD服務
cd /etc
vi pptpd.conf
--------------------------
option /etc/ppp/options.pptpd
localip 172.16.10.254
--------------------------
cd /etc/ppp
vi options.pptpd
--------------------------
lock
proxyarp
asyncmap 0
nobsdcomp
nodeflate
-pap
-chap
-chapms
+chapms-v2
#require-mppe
mppe-40
mppe-128
mppe-stateless
ms-wins 192.168.1.1
ms-dns 202.97.224.68
ms-dns 202.102.224.68
plugin radius.so
radius-servers localhost:1812/1813
radius-auth-key testing123
radius-ip-pool 172.16.10.10:172.16.10.100
----------------------------

3、配置PPPOE服務
cd /etc/ppp
vi pppoe-server-options
----------------------------
proxyarp
auth
require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 202.97.224.68
ms-dns 202.97.230.4
plugin /usr/lib/pppd/2.4.1/radius.so
plugin /usr/lib/pppd/2.4.1/tacacs.so
radius-servers localhost:1812/1813
radius-auth-key testing123
radius-ip-pool 172.16.10.20:172.16.20.100
--------------------------------

4、建立MYSQL表
safe_mysqld &
mysql -u root -p
mysql>create database radius;
mysql>quit;
mysql -u root -p radius < /home/temp/r.sql
mysql -u root -p radius < /home/temp/freeradius-0.9.2/dialup_admin/sql/badusers.sql
mysql -u root -p radius < /home/temp/freeradius-0.9.2/dialup_admin/sql/mtotacct.sql
mysql -u root -p radius < /home/temp/freeradius-0.9.2/dialup_admin/sql/totacct.sql
mysql -u root -p radius < /home/temp/freeradius-0.9.2/dialup_admin/sql/userinfo.sql

r.sql的內容如下:
---------------------------------
# phpMyAdmin SQL Dump
# version 2.5.3
# http://www.phpmyadmin.net
#
# 主機: localhost
# 產生日期: 2003 年 12 月 23 日 01:54
# 伺服器版本: 3.23.58
# PHP 版本: 4.0.6
#
# 資料庫 : `radius`
#

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

#
# 表的結構 `radacct`
#

DROP TABLE IF EXISTS `radacct`;
CREATE TABLE `radacct` (
`RadAcctId` bigint(21) NOT NULL auto_increment,
`AcctSessionId` varchar(32) NOT NULL default '',
`AcctUniqueId` varchar(32) NOT NULL default '',
`UserName` varchar(64) NOT NULL default '',
`Realm` varchar(64) default '',
`NASIPAddress` varchar(15) NOT NULL default '',
`NASPortId` int(12) default NULL,
`NASPortType` varchar(32) default NULL,
`AcctStartTime` datetime NOT NULL default '0000-00-00 00:00:00',
`AcctStopTime` datetime NOT NULL default '0000-00-00 00:00:00',
`AcctSessionTime` int(12) default NULL,
`AcctAuthentic` varchar(32) default NULL,
`ConnectInfo_start` varchar(32) default NULL,
`ConnectInfo_stop` varchar(32) default NULL,
`AcctInputOctets` bigint(12) default NULL,
`AcctOutputOctets` bigint(12) default NULL,
`CalledStationId` varchar(50) NOT NULL default '',
`CallingStationId` varchar(50) NOT NULL default '',
`AcctTerminateCause` varchar(32) NOT NULL default '',
`ServiceType` varchar(32) default NULL,
`FramedProtocol` varchar(32) default NULL,
`FramedIPAddress` varchar(15) NOT NULL default '',
`AcctStartDelay` int(12) default NULL,
`AcctStopDelay` int(12) default NULL,
PRIMARY KEY (`RadAcctId`),
KEY `UserName` (`UserName`),
KEY `FramedIPAddress` (`FramedIPAddress`),
KEY `AcctSessionId` (`AcctSessionId`),
KEY `AcctUniqueId` (`AcctUniqueId`),
KEY `AcctStartTime` (`AcctStartTime`),
KEY `AcctStopTime` (`AcctStopTime`),
KEY `NASIPAddress` (`NASIPAddress`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

#
# 匯出表中的資料 `radacct`
#


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

#
# 表的結構 `radcheck`
#

DROP TABLE IF EXISTS `radcheck`;
CREATE TABLE `radcheck` (
`id` int(11) unsigned NOT NULL auto_increment,
`UserName` varchar(64) NOT NULL default '',
`Attribute` varchar(32) NOT NULL default '',
`op` char(2) NOT NULL default '==',
`類型` varchar(253) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `UserName` (`UserName`(32))
) TYPE=MyISAM AUTO_INCREMENT=4 ;

#
# 匯出表中的資料 `radcheck`
#

INSERT INTO `radcheck` (`id`, `UserName`, `Attribute`, `op`, `類型`) VALUES (2, 'pppoe', 'Password', '==', 'pppoe');
INSERT INTO `radcheck` (`id`, `UserName`, `Attribute`, `op`, `類型`) VALUES (3, 'test', 'Password', '==', 'test');

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

#
# 表的結構 `radgroupcheck`
#

DROP TABLE IF EXISTS `radgroupcheck`;
CREATE TABLE `radgroupcheck` (
`id` int(11) unsigned NOT NULL auto_increment,
`GroupName` varchar(64) NOT NULL default '',
`Attribute` varchar(32) NOT NULL default '',
`op` char(2) NOT NULL default '==',
`類型` varchar(253) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `GroupName` (`GroupName`(32))
) TYPE=MyISAM AUTO_INCREMENT=3 ;

#
# 匯出表中的資料 `radgroupcheck`
#

INSERT INTO `radgroupcheck` (`id`, `GroupName`, `Attribute`, `op`, `類型`) VALUES (1, 'dynamic', 'Auth-Type', ':=', 'Local');
INSERT INTO `radgroupcheck` (`id`, `GroupName`, `Attribute`, `op`, `類型`) VALUES (2, 'static', 'Auth-Type', ':=', 'Local');

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

#
# 表的結構 `radgroupreply`
#

DROP TABLE IF EXISTS `radgroupreply`;
CREATE TABLE `radgroupreply` (
`id` int(11) unsigned NOT NULL auto_increment,
`GroupName` varchar(64) NOT NULL default '',
`Attribute` varchar(32) NOT NULL default '',
`op` char(2) NOT NULL default '=',
`類型` varchar(253) NOT NULL default '',
`prio` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `GroupName` (`GroupName`(32))
) TYPE=MyISAM AUTO_INCREMENT=6 ;

#
# 匯出表中的資料 `radgroupreply`
#

INSERT INTO `radgroupreply` (`id`, `GroupName`, `Attribute`, `op`, `類型`, `prio`) VALUES (1, 'dynamic', 'Service-Type', '=', 'Framed-User', 0);
INSERT INTO `radgroupreply` (`id`, `GroupName`, `Attribute`, `op`, `類型`, `prio`) VALUES (2, 'dynamic', 'Framed-Protocol', '=', 'PPP', 0);
INSERT INTO `radgroupreply` (`id`, `GroupName`, `Attribute`, `op`, `類型`, `prio`) VALUES (3, 'static', 'Framed-IP-Netmask', '=', '255.255.255.0', 0);
INSERT INTO `radgroupreply` (`id`, `GroupName`, `Attribute`, `op`, `類型`, `prio`) VALUES (4, 'static', 'Framed-Protocol', '=', 'PPP', 0);
INSERT INTO `radgroupreply` (`id`, `GroupName`, `Attribute`, `op`, `類型`, `prio`) VALUES (5, 'static', 'Service-Type', '=', 'Framed-User', 0);

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

#
# 表的結構 `radreply`
#

DROP TABLE IF EXISTS `radreply`;
CREATE TABLE `radreply` (
`id` int(11) unsigned NOT NULL auto_increment,
`UserName` varchar(64) NOT NULL default '',
`Attribute` varchar(32) NOT NULL default '',
`op` char(2) NOT NULL default '=',
`類型` varchar(253) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `UserName` (`UserName`(32))
) TYPE=MyISAM AUTO_INCREMENT=2 ;

#
# 匯出表中的資料 `radreply`
#

INSERT INTO `radreply` (`id`, `UserName`, `Attribute`, `op`, `類型`) VALUES (1, 'test', 'Framed-IP-Address', '=', '172.16.15.10');

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

#
# 表的結構 `usergroup`
#

DROP TABLE IF EXISTS `usergroup`;
CREATE TABLE `usergroup` (
`id` int(11) unsigned NOT NULL auto_increment,
`UserName` varchar(64) NOT NULL default '',
`GroupName` varchar(64) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `UserName` (`UserName`(32))
) TYPE=MyISAM AUTO_INCREMENT=4 ;

#
# 匯出表中的資料 `usergroup`
#

INSERT INTO `usergroup` (`id`, `UserName`, `GroupName`) VALUES (2, 'pppoe', 'dynamic');
INSERT INTO `usergroup` (`id`, `UserName`, `GroupName`) VALUES (3, 'test', 'static');
---------------------------------------
5、配置freeradius服務
cd /usr/local/etc/raddb/
vi sql.conf
把裡面的MYSQL密碼改成你的密碼
vi radius.conf
按照下面樣子修改你的文件,
就是在某些字串串前面加#,
然後在某些地方加入一行sql字串串即可
---------------------------------------
authorise {
preprocess
chap
mschap
#counter
#attr_filter
#eap
suffix
sql
#files
#etc_smbpasswd
}

authenticate {
authtype PAP {
pap
}
authtype CHAP {
chap
}
authtype MS-CHAP{
mschap
}
#pam
#unix
#authtype LDAP {
# ldap
#}
}

preacct {
preprocess
suffix
#files
}

accounting {
acct_unique
detail
#counter
unix
sql
radutmp
#sradutmp
}

session {
radutmp
}
----------------------------------

6、配置WebNasAdmin
cp -r /home/temp/freeradius-0.9.2/dialup_admin /usr/local/dialup_admin
ln -s /usr/local/dialup_admin/htdocs dialup_admin
vi /usr/local/dialup_admin/conf/admin.conf
把general_radiusd_base_dir: /usr/local/radiusd
改成general_radiusd_base_dir: /usr/local/etc/raddb

把general_test_account_password: testpass
改成general_test_account_password: test

把general_radius_server_auth_proto: pap
改成general_radius_server_auth_proto: chap

把general_radius_server_secret: XXXXXX
改成general_radius_server_secret: testing123

把general_encryption_method: crypt
改成general_encryption_method: clear

把下面文字前面加#
nas1_name: nas1.%{general_domain}
nas1_model: Cisco 2511 access server
nas1_ip: 147.122.122.121
nas1_port_num: 16
nas1_community: public
nas2_name: nas2.%{general_domain}
nas2_model: Cisco 2511 access server
nas2_ip: 147.122.122.123
nas2_port_num: 16
nas2_community: public
nas2_finger_type: database
nas3_name: nas3.%{general_domain}
nas3_model: Cisco 5300 access server
nas3_ip: 147.122.122.124
nas3_port_num: 210
nas3_community: public

然後加入下面文字
nas1_name: nas1.GetWall
nas1_model: PxSoft PPPoE Server
nas1_ip: 127.0.0.1
nas1_port_num: 64
nas1_community: public

把下面兩行
sql_username: dialup_admin
sql_password: XXXXXX
改成
sql_username: root
sql_password:

重新啟動系統進行測試:
1、測試freeradius
rc.radiusd start
radtest test test localhost 0 testing123
如果伺服器返回如下,說明freeradius工作正常
Sending Access-Request of id 137 to 127.0.0.1:1812
User-Name = "test"
User-Password = "test"
NAS-IP-Address = local6
# NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=137, length=44
# Framed-IP-Address = 172.16.15.10
# src/Framed-IP-Netmask = 255.255.255.0
# Framed-Protocol = PPP
# If yoService-Type = Framed-User
否則,請仔細檢查你的radius配置

2、測試pptpd
pptpd
然後用WIN2K等電腦建立個VPN連接,
用戶名和密碼都寫test,
能連上,說明正常

3、測試pppoe
pppoe-server -L 172.16.20.254 -N 10 -I eth0
然後找個機器裝個RASPPPOE或ENTERNET 300/500軟體,
用戶名和密碼都寫pppoe,
能連上,說明正常

4、測試WebNasAdmin
開啟瀏覽器輸入http://192.168.1.9/admin
各個選項都點下,能顯示,則正常

好了,一切OK,
最後建立個啟動檔案
cd /
vi pxsrv
-------------------------------
/usr/local/sbin/pptpd
/usr/local/sbin/radiusd
pppoe-server -L 172.16.10.254 -N 64 -I eth0
--------------------------------
chmod 700 pxsrv
之後執行pxsrv即可
如果想開機自動啟動,編輯下面文件
vi /etc/rc.d/rc.local
加入/pxsrv
儲存即可

---------------------------------
如果你想要使用內核PPPoE,方法如下:
cd /usr/src/linux-2.4
make menuconfig
進入network device support——>
把下面的選上
[ ] ppp over Ethernet (experimental)
讓其變成
[M] ppp over Ethernet (experimental)
然後退出
make dep
make bzImage
make modules
make modules_install
cd arch/i386/boot
cp bzImage /boot/kernelnew
cd /boot
mkinitrd initrdnew.img 2.4.7-10
vi grub/grub.conf
在下面加上
-----------------------------
title Red Hat new
root (hd0,0)
kernel /boot/kernelnew ro root=/dev/hda1
initrd /boot/initrd.img
-----------------------------
儲存,退出
然後重新啟動,選Red Hat new
然後重複安裝程序的6即可
啟動PPPOE-SERVER時,要加-k參數

歡迎轉載,轉載請著名作者信息

鳳凰
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
主要 Microsoft 伺服器產品使用的網路連接阜 psac 網路軟硬體架設技術文件 4 2004-09-19 07:44 AM
Windows server 2003設置使用必備技巧 sgpsdavid 作業系統操作技術文件 5 2004-09-02 05:41 PM
SOP of Building PPPoE+PPTP Server in Linux psac 作業系統操作技術文件 0 2004-02-17 04:27 AM
如何架設CS伺服器  psac 網路軟硬體架設技術文件 0 2003-07-24 01:13 AM
Windows server 2003使用指南 psac 作業系統操作技術文件 4 2003-06-24 02:54 PM


所有時間均為台北時間。現在的時間是 08:56 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1