Linux 網路協定 網路管理 IPv6 伺服器

為協定改版做好準備 讓Linux伺服器支援IPv6

2014-01-02
IPv4的IP Pool已於年前發放完畢,大家不妨先做好準備,讓重要的伺服器事先提供IPv6的支援,避免於日後IPv6成為主流時,自身的伺服器來不及提供服務。
本文將介紹如何讓伺服器支援IPv6。目前對外服務的伺服器最大宗為網頁伺服器,因此這裡就以網頁伺服器為例,示範如何讓它支援IPv6。

安裝前說明

要讓Linux支援IPv6有許多方式,在本文中所採用的是Tunnel Broker(通道代理人)的方式。其原理是在Tunnel Broker及伺服器之間,利用IPv4網路建立起一條虛擬通道,將IPv6的封包封裝在IPv4封包裡面傳送。由於此連線方式是利用IPv4的網路建立來Tunnel,因此在使用時需要先確認伺服器可以連上IPv4的網路。

此處所使用的Linux發行版本(Distribution)是Ubuntu 12.04 LTS,並且在安裝時已將相關服務一併安裝完成。Web Server部分安裝的是Apache,其版本為2.2.22-1。

Tunnel Broker安裝流程

首先,示範如何安裝gogo6所提供的Client軟體。gogo6要求要先註冊才能下載其軟體,因此先連上「http://www.gogo6.com」網頁,完成註冊程序。在註冊過程中,gogo6會詢問一個問題:「How many bits does an IPv6 address consist of ?」,答案是「128」,其餘就依讀者的需求逕行填寫即可。

但據筆者的測試,其實不註冊也可以下載Client軟體,因此讀者若無註冊的需求,可以直接下載安裝該軟體。

先透過下列的指令來下載Client:


下載完成後,隨即進行編譯及安裝:


如果在執行「make linux all」指令時出現make未安裝的訊息,記得先安裝編譯時所需相關套件,指令如下:


在編譯過程中,若出現「error: expected primary-expression before‘,’token」錯誤訊息,可編輯「/usr/src/gogoc-1_2-RELEASE/gogoc-messaging/gogocmessaging/message.h」,在#include 的上方加入#include ,再重新編譯。

若有出現openssl/bn.h不存在的錯誤訊息,只要安裝libssl-dev套件就可以排除:


最後,執行以下的指令來完成安裝。


Tunnel Broker設定流程

再來就是帳號設定的部分。為了想要讓別人可以連進自己的IPv6 Server,因此這裡選擇使用帳號密碼的認證方式,目的是要取得固定IP。使用遠傳、亞太和中研院的伺服器都可以達成需求。在此使用的是亞太電信,申請網頁為「http://tb2.ipv6.apol.com.tw:8080」。

開啟後,選擇第一個選項「User account creation html web page (automatically generated password)」,由伺服器幫忙設定隨機密碼。輸入預計使用的ID和E-mail Address,送出不久後就會收到包含帳號密碼的E-mail。

先執行指令「vi /usr/local/gogoc/bin/gogoc.conf」編輯gogo6的設定檔,然後找出userid及passwd的欄位,填入剛剛申請的userid和passwd。接著修改server的名稱,找到「server=」這一行,把它改成:


此外,認證的方式也要改,找到「auth_method=anonymous」,改成「auth_method=any」,編輯完成記得儲存,最後啟動gogo6:


成功啟動後,會產一個Tunnel介面。執行「ifconfig」指令以查看其內容,如圖1所示。在inet6 addr後面的位址,就是所取得的IPv6固定IP位址,/128是子網路遮罩。


▲圖1 檢閱取得IPv6的位址。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!