Sunday, May 06, 2007

FON: Extend Your Internet Connection - Preliminary

Back

在修改之前,要先介紹的是本文實作時的網路架構。AP2在未使用本文的方法前,網路架構是像下圖這樣。


Fig 1: Network Infrastructure before modifying AP2 (Click to enlarge)


而當您完成本文的步驟後,會變成像下圖這樣子。


Fig 2: Network Infrastructure after modifying AP2 (Click to enlarge)


在上兩張示意圖中,物件之間用實線連接的部分,即表示是透過實體線路連接,而虛線則是透過無線網路連接。從第二張圖可以發現經過改裝後的AP2,是透過無線網路信號與AP1的MyPlace連接,而且兩台FON的MyPlace和FON_AP的SSID和網段都刻意設為不同的值,以避免與另一網路衝突。在AP2的Ethernet Port上,可以再連接其它電腦或Switch,連接完成後使用DHCP取得相關設定值,並透過AP2上網,這部分功能與IP分享器相同。

為了簡化安裝過程,目前製作了自動安裝指令檔,您只需要下載一壓縮檔,並依指示操作,即能得到與本文相同的結果。想要直接使用此方法,請直接跳至Act III。若您喜歡逐步修改您的FON,使它具有延伸Internet連線的能力,並讓Ethernet Port的用戶,把FON當成IP分享器使用,或您想瞭解更多修改這些設定檔,或是做某些步驟的原因,請繼續閱讀以下的文章。

在手動修改您的FON之前,您需要擁有、熟悉以下軟體或系統的操作:
  • 一個現成的Linux Box:由於wpa_supplicant要能在FON上運作,您必須先由原始碼來cross-compile成FON能使用的binary,所以需要一個能正常運作的Linux Box。若手邊無閒置或現成的設備,可以使用VMWare等軟體,在您目前使用的電腦上安裝Linux,即可在不變更現有作業系統的情形下,同時運行Windows與Linux。
  • Linux系統的操作:FON使用Linux系統,若您不熟悉Linux系統的基本操作,或許會在某些操作上遇到問題。
  • vi的操作:vi是個相當重要且好用的文件編輯器。在FON上面,幾乎都是使用vi來修改文件,基本的操作務必熟練!
  • PieTTY or PuTTY:要透過SSH使用FON的Terminal,一般在Windows上是使用此兩工具。若您有其它順手的工具也可以使用。
  • Reset FON:當您修改FON出了意外狀況時,您必須Reset您的FON,使FON的內部恢復至韌體預設值。也就是在還沒修改前,您必須先瞭解需如何操作,可使FON回復韌體的預設值。
  • PSCP:使用PSCP軟體,可以方便的直接透過SSH傳送檔案至您的FON。
  • FON的SSH存取:若您的FON尚未能經由SSH使用FON的Terminal,請參閱FON: Unbrick your La FONera!
瞭解您需先熟悉哪些系統或工具後,再來您需要備妥以下檔案:
  • OpenWRT Source Code:這是從FON官方網站取得的OpenWRT原始碼,FON內部的韌體應該是由此原始碼調整過後編譯而來的。雖然似乎裡面的檔案與現有FON韌體內部,看起來有些許不同,不過不會影響本系列文章的操作。由於此壓縮檔已具有toolchain,只需經過簡單設定後,即能方便的取得cross-compile需要的compiler,也同時擁有WPA Supplicant需要的MadWiFi Driver, libopenssl, libcrypto等library和原始碼,節省額外找尋其它檔案的時間。
  • WPA Supplicant Source Code:負責建立AP2與AP1的連線,且是加密系統的必要工具。本文使用的版本是0.5.7。
看到這裡,應該會有人想到FON內部使用的是ipkg,能直接安裝別人預先編譯好的套件,為什麼不直接使用網路上現成的WPA Supplicant套件呢?由於這些套件多為像FON的Embedded System使用,故檔案大小為最優先考量的部分,越能減少檔案大小則越佳,在這樣的前提下,大多數現成的套件並不支援MadWiFi,使得無法在FON運作,而自行compile後就能在FON上正常運作。

預先準備的動作完成後,請繼續閱讀接下來的文章。

No comments: