自動目錄
IPv6 的監測網站的目的是建立一個可以監測 IPv6 網路是否暢通的網站,希望對於下游連線單位檢查是否有通有幫助。
(原程式寫於2009年,所以有些部分很古老,未來的新系統不一定能正確運作)
(未來會更新版本)
程式功能
1. 自動分辨網路媒體,若為v4網路,則顯示黑白照片;v6網路連線顯示彩色照片。
2. 支援非固定網段。下游連線學校可為任意網段,例如資料庫欄位prefix 原本只支援 /48,可設置任意網段。
3. 可設定學校顯示方式
4. 在資料庫有的單位自動累積進站次數
5. 具有測試網站是否支援IPv6 的功能,測後完畢後支援 IPv6 的網站會自動加到列表中。
範例
台中市網 IPv6 測試網頁 http://ipv6.tc.edu.tw
系統需求
1. 系統需要具有 perl >=5.8 並需要安裝以下 perl 套件
Net::DNS
IO::Socket::INET6
Text::Iconv
# cpanm IO::Socket::INET6
2. 系統必需已 IPv6 網路暢通
安裝
1. 下載 ipv6.tgz
2. 解壓 ,假設要放在 /home/ipv6
# tar zxvf 705e106aca5e7c95f10d619a71d5b65c.tgz
預設會建立一個 public_html的目錄,更名為ipv6
目錄架構
# tree /home/ipv6 -L 1
/home/ipv6
|-- adodb5
|-- classes.php
|-- images
|-- index.php
|-- init.php <== 基本設定檔
|-- ipv6.html
|-- ipv6.pl
|-- ipv6.sql <== 資料庫架構檔
|-- ipv6_1line.pl <== 檢測用程式
|-- js
`-- lib
開啟檔案寫入權限
3. 餵入資料庫 (使用mysql)
先建立好資料庫,設定好帳密,假設資料庫ipv6,密碼123456
GRANT USAGE ON * . * TO 'ipv6'@'localhost' IDENTIFIED BY '123456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `ipv6` ;
GRANT ALL PRIVILEGES ON `ipv6` . * TO 'ipv6'@'localhost';
餵入資料表
# mysql -u ipv6 -p -B ipv6 <ipv6.sql
Enter password: 123456
資料表有三個
4. 建立ipv6網域的基本資料
修改資料表 addr,建立基本資料,必填只有這三個,大概像這樣:
5. 設定網頁參數
修改 init.php
6. 修改 apache 設定指到該目錄
略
7. 防火牆
請開啟防火牆,略
8. SELINUX
如果有開啟 selinux ,要設定目錄
# chcon -t httpd_sys_content_t -R /home/ipv6
安裝完畢,請開啟網頁測試
檢測功能測試
在目錄底下有兩個檢測 IPv6 DNS 及WWW 連線的程式:ipv6.pl 及 ipv6_1line.pl
這兩個程式是一樣的,差別在於 ipv6.pl 提供給管理者在 console 下測試,而ipv6_1line.pl 是給網頁表單使用。
程式的參數設定請編輯這兩個檔案。
$RETRY = 3; # DNS QUERY重試次數
$TCPTIMEOUT = 6; # IPv6 網頁連線逾時時間,單位秒
@DNS = [qw(163.17.40.1 2001:288:5400::1 2001:288:5400::2 163.17.40.2)]; # 請填入DNS 伺服器
程式使用範例:
$ ./ipv6.pl ipv6.tc.edu.tw
檢測結果:網頁IPv6介面正常,能正常取回資料
網站標頭:台中市網 IPv6 檢測及測試網站
其它設置
1. 修改網頁顯示文字
網頁的樣板放在 /home/ipv6/libs/templates
/home/ipv6/libs/templates
|-- Documentation.tpl <==下面的文件頁
|-- Footer.tpl
|-- Header.tpl
|-- IPv6CheckForm.tpl <== 測試的表單
|-- IPv6EnableList.tpl <== 檢查通過的清單
|-- Index.tpl
`-- TitleInstr.tpl <== 檢查通過的清單中 TITLE 的說明文件
2. 顯示的圖片放在
/home/ipv6/js
blur.jpg, clear.jpg
為什麼會放在這,我也不知道寫程式時是怎麼想的。
原文 2009-10-19 20:34:23 2010-04-23 15:45:32