於 Windows XP 作業系統平台上架設支援 IPv6/IPv4 Dual Stack 之封閉型測試網站 工業技術研究院資訊技術服務中心副工程師林世杰
基本需求 ( 硬體 ) 1. 三台安裝 Windows XP SP1 或 Windows XP SP2 作業系統之個人電腦 2. 集線器一個
基本需求 ( 軟體 ) 軟體名稱 Apache 2.0.54 Apache SSL 套件 Apache 2.0.54 IPv6 Patch IPv6 Win VNC 下載處 http://httpd.apache.org/download.cgi http://hunter.campbus.com/ http://win6.jp/apache2/index.html http://jungla.dit.upm.es/~acosta/pagi nas/vncipv6.html
系統架構圖
系統安裝 ( 一 ) IPv6 作業系統之設定三台安裝 Windows XP SP2 之個人電腦, 分別為 PC_A, PC_B, 以及 PC_C 於 PC_A 及 PC_B 安裝 IPv6 通訊協定, PC_C 為對照組, 不安裝 IPv6 於 PC_A, PC_B, 進入 Command Line, 執行 C:\>ipv6 install
系統安裝 ( 二 ) 於 PC_A 設定 IPv4 位址為 192.168.1.61 mask 255.255.255.0 於 PC_B 設定 IPv4 位址為 192.168.1.62 mask 255.255.255.0 於 PC_C 設定 IPv4 位址為 192.168.1.63 mask 255.255.255.0 互相 Ping 對方確認是否能互通
系統安裝 ( 三 ) 手動設定 IPv6 位址在 PC_A, 進入 Command Line 輸入 C:\>netsh [enter] Netsh> interface ipv6 [enter] Netsh interface ipv6 >set address 區域連線 3001::61 Netsh interface ipv6> add route 3001::/48 區域連線 在 PC_B, 進入 Command Line 輸入 C:\>netsh [enter] Netsh> interface ipv6 [enter] Netsh interface ipv6 >set address 區域連線 3001::62 Netsh interface ipv6> add route 3001::/48 " 區域連線 " PC_A 與 PC_B 互 Ping 對方, 確認是否能互通, 如 ping 3001::61, ping3001::62
系統安裝 ( 四 ) 如系統安裝 ( 三 ) 無法互通, 或是 Ping 到自已的 IPv6 位址請關閉 IPv6 防火牆至控制台 > 新增或移除程式 > 新增移除 Windows 元件 >Networking Services 將 IPv6 網際網路連線防火牆的勾選移除後, 按確定後, 再互 Ping
系統安裝 ( 五 ) 至 PC_A 上, 以 Notepad 打開 C:\WINDOWS\system32\drivers\etc 之下的 Hosts 檔 增加以下 entry 3001::62 web1.myweb.idv.tw #IPv6 testweb1 3001::62 web2.myweb.idv.tw #IPv6 testweb2 3001::62 web3.myweb.idv.tw #IPv6 testweb3
系統安裝 ( 六 ) 至 PC_C 上, 以 Notepad 打開 C:\WINDOWS\system32\drivers\etc 之下的 Hosts 檔 增加以下 entry 192.168.1.62 web1.myweb.idv.tw #IPv6 testweb1 192.168.1.62 web2.myweb.idv.tw #IPv6 testweb2 192.168.1.62 web3.myweb.idv.tw #IPv6 testweb3
系統安裝 ( 七 ) 由 PC_A 及 PC_C ping web1.myweb.idv.tw Web2.myweb.idv.tw Web3.myweb.idv.tw 由 PC_A 應可 Ping 到 3001::62 由 PC_C 應可 Ping 到 192.168.1.62
遠端桌面管理系統安裝 將 WINVNC Server For IPv6 安裝於 PC_B 上, WINVNC Viewer For IPv6 安裝於 PC_A 上 請如右圖作 WIN VNC Server 端的進階設定
使用 WIN VNC 遠端桌面系統 在 PC_A 上, 打開 VNCViewer 輸入 Web1.myweb.idv.tw 即可如下圖
WEB SERVER 安裝 1. 連至 PC_B 上 2. 安裝 Apache Win32 2.0.54 版本安裝指南可參考 www.apache.org 的文件 3. 安裝 SSL 模組 For Apache Win32 安裝指南可參考 Apache+SSL Win32 Howto http://tud.at/programm/apache-ssl-win32- howto.php3 或用 Google 搜尋 Apache SSL Win32
加裝 IPv6 模組 至 http://win6.jp/apache2/index.html 下載檔案, 並依照其指示, 將檔案解壓縮後, 將原安裝好的 Apache2 的檔案覆蓋 並重新啟動 Apache 伺服器
設定 Dual Stack 網站 ( 一 ) 至 PC_B 上打開 Web Server 之 httpd.conf 檔案尋找以下設定 #Listen 12.34.56.78:80 Listen 0.0.0.0:80 Listen 0.0.0.0:443 增加以下兩筆設定 Listen [3001::62]:80 Listen [3001::62]:443
設定 Dual Stack 網站 ( 二 ) 尋找並設定以下參數 ServerName web1.myweb.idv.tw:80 NameVirtualHost 192.168.1.62:80 NameVirtualHost 192.168.1.62:443 NameVirtualHost 3001::62:80 NameVirtualHost 3001::62:443
設定 Dual Stack 網站 ( 三 ) Virtual Host 設定 IPv6 <VirtualHost [3001::62]:80> ServerAdmin man@myweb.idv.tw DocumentRoot "D:/www/web1" ServerName web1.myweb.idv.tw ErrorLog logs/web1-error_log CustomLog logs/web1-access_log common </VirtualHost> <VirtualHost [3001::62]:443> ServerAdmin man@myweb.idv.tw DocumentRoot "D:/www/web1" ServerName web1.myweb.idv.tw ErrorLog logs/web1-error_log CustomLog logs/web1-access_log common SSLEngine On SSLCertificateFile conf/ssl/web.cert SSLCertificateKeyFile conf/web.key </VirtualHost> Virtual Host 設定 IPv4 <VirtualHost 192.168.1.62:80> ServerAdmin man@myweb.idv.tw DocumentRoot "D:/www/web1" ServerName web1.myweb.idv.tw ErrorLog logs/web1-error_log CustomLog logs/web1-access_log common </VirtualHost> <VirtualHost 192.168.1.62:443> ServerAdmin man@myweb.idv.tw DocumentRoot "D:/www/web1" ServerName web1.myweb.idv.tw ErrorLog logs/web1-error_log CustomLog logs/web1-access_log common SSLEngine On SSLCertificateFile conf/ssl/web.cert SSLCertificateKeyFile conf/web.key </VirtualHost> Web2, web3 可比照以上模式就可以連結了, 並在 Web1, web2, web3 三個資料夾中, 各增加其 index.html
測試 Dual Stack 網站 重新啟動 PC_B 之 Apache 伺服器, 並在 PC_A 及 PC_C 上, 開 IE6.0. 輸入 https://web1.myweb.idv.tw http://web2.myweb.idv.tw https://web3.myweb.idv.tw PC_A 將以 IPv6 與 PC_B 連線 PC_C 將以 IPv4 與 PC_B 連線可在 Command Prompt 之下執行以下指令驗証 C:\> netstat an
建置 IPv6 網路硬碟 ( 一 ) 由於目前沒有支援 Windows XP 平台之 IPv6 FTP 伺服器, 因此網路硬碟是目前唯一可維護網站內容的方式 建置 IPv6 網路硬碟, 首先要啟用內建於 Apache 2 的 WEBDAV 通信協定, 並建立使用者帳號及認証機制
建置 IPv6 網路硬碟 ( 二 ) 建立使用者帳號及認証開啟 Command Prompt 執行 Apache 主程式之 BIN 子資料夾之 htpasswd.exe 執行, 產生 web1, web2,web3 的網管 Username 及 Password, 並存成 webaccess 檔 ( 詳細指令, 請參考 www.apache.org 上之技術文件 )
建置 IPv6 網路硬碟 ( 三 ) 打開 httpd.conf 檔將以下指定前的 # 移除 #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so 在 Apache 主程式目錄 ( 與 cgi-bin 同階層 ) 以增加一個名為 DavLock 的 Folder 並於 httpd.conf 下增加以下範例指令 ( 主程式位於 c:\apache\apache2) DAVLockDB "C:\Apache\Apache2\davlock"
建置 IPv6 網路硬碟 ( 四 ) <VirtualHost [3001::62]:443> ServerAdmin man@myweb.idv.tw DocumentRoot "D:www/web1" ServerName web1.myweb.idv.tw ErrorLog logs/web1-error_log CustomLog logs/web1-access_log common SSLEngine On SSLCertificateFile conf/ssl/web.cert SSLCertificateKeyFile conf/web.key <location /> Options FollowSymLinks AllowOverride AuthConfig DAV ON AuthType Basic AuthName "Webmaster only" AuthUserFile "C:\Apache\Apache2\passwd\webaccess.pa ss" Require user web1 </location> </VirtualHost> 右邊的設定說明如下 : 由於網路硬碟有其安全性考量, 建議採用 HTTPS 加密 : 啟用網站為 Web1.myweb.idv.tw 網頁目錄位為 D:www/web1 SSL 的認証與 Key 的名稱為 Web.cert, web.key 儲存在特定資料夾下 <Location /> 紅字部份為新增設定 認証檔為 webaccess.pass 儲存在 \passwd 子資料夾下 Require user (*) 為授權使用者 如要讓 web2 及 web3 也啟用網路硬碟, 比照本設定, 將 web1, 改為 web2, web3 即可, 並指定其授權使用者
使用 IPv6 網路硬碟 ( 一 ) 方法一打開網路上的芳鄰 > 新增一個網路位址 > 下一步 > 選擇其他的網路位址 > 下一步輸入 https://web1.myweb.idv.tw 下一步輸入使用者名稱密碼, 下一步 為這個網路位置輸入名稱 : 輸入 web1 按完成, 如果又彈出認証畫面, 請再輸入一次使用者名稱密碼完成網路硬碟連線, 可開始維護網頁
使用 IPv6 網路硬碟 ( 二 ) 方法二打開 IE6.0 選擇檔案 > 開啟舊檔輸入 https://web1.myweb.idv.tw 並勾選開啟成網頁資料夾接下來輸入使用者名稱及密碼即可使用 IPv6 網路硬碟
恭喜 您已經完成了一個可支援 Virtual Host 並可遠端管理, 維護內容的 IPv6/IPv4 Dual Stack 測試網站, 如果您需要啟動動態網頁, 只需要照一般方式安裝 MySqL, PHP, Perl, Phpmyadmin 即可, 不需作其他修改, 即可支援 IPv6