在Mac OSX上設定Nortel VPNC - 通達人驛站
2011/12/26

在Mac OSX上設定Nortel VPNC

雖然我家離公司只有七分鐘的路程,不過,有時候我還是會懶惰不想走路到公司,這時候VPN就是我連線到公司的好朋友。

這篇文章,我是參考這篇《VPNC for Nortel on Mac》並請教同事後,自己記錄在MacBook Pro上設定Nortel VPN的過程。

Step1: 安裝MacPorts


依照Wikipedia 维基百科的說法:
MacPorts,是一個軟體包管理系統,用來簡化Mac OS X和Darwin作業系統上自由軟體/開放原始碼軟體的安裝的自由/開放原始碼專案,與Fink和BSD類ports套件的目標和功能類似。

MacPorts可以讓用戶在終端中簡單的輸入port install 軟體包名稱就能安裝軟體包,軟體的下載、編譯、安裝以及它依賴的所有其他軟體包的安裝都會自動完成。


讀者可以進入The MacPorts Project的Download & Installation頁面,依照自己的OSx版本,下載MacPorts的dmg檔後,用OSx預設的方式安裝MacPorts。

安裝過程因為會重新Build,所以大約會花5至10分鐘。請記得,在安裝完MacPorts後,「終端機」得要重開才能生效,也才能繼續以下的步驟。

Step2: 安裝TunTap


依照Wikipedia 维基百科的說法:
TUN與TAP是作業系統核心中的虛擬網路設備。不同於普通靠硬體網路板卡實現的設備,這些虛擬的網路設備全部用軟體實現,並向運行於作業系統上的軟體提供與硬體的網路設備完全相同的功能。

TAP 等同於一個乙太網設備,它操作第二層數據包如乙太網數據幀。TUN模擬了網路層設備,操作第三層數據包比如IP數據封包。

作業系統通過TUN/TAP設備向綁定該設備的用戶空間的程序發送數據,反之,用戶空間的程序也可以像操作硬體網路設備那樣,通過TUN/TAP設備發送數據。在後種情況下,TUN/TAP設備向作業系統的網路棧投遞(或「注入」)數據包,從而模擬從外部接受數據的過程。

TUN/TAP常被用於虛擬私有網路(VPN)


讀者可以進入TunTap的Download頁面,去下載、解開Tar Ball後,就可以安裝最新版的TunTap。

Step3: 安裝必要的開發套件


以下四個開發套件:
  • gnutls
  • libgcrypt
  • libgpg-error (for libgcrypt)
  • pkg-config (only during installation)

用以下的指令就能一次就安裝完成:
~ $ sudo port install gnutls libgcrypt libgpg-error pkgconfig
安裝的過程,會因為下載的檔案有點大,所以整個過程可能會因為網路速度的差異,需要花15至20分鐘。

Step4: 安裝SVN


依照Wikipedia 维基百科的說法:
Subversion,簡稱SVN,是一個開放原始碼的版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計目標就是取代CVS。網際網路上越來越多的控制服務從CVS轉移到Subversion。

用以下的指令就能安裝SVN:
~ $ sudo port install svn
安裝的過程,大約只需2至5分鐘。

Step5: 安裝wget


依照Wikipedia 维基百科的說法:
GNU Wget是一個在網路上進行下載的簡單而強大的自由軟體,其本身也是GNU計劃的一部分。它的名字是「World Wide Web」和「Get」的結合,同時也隱含了軟體的主要功能。目前它支持通過HTTP、HTTPS,以及FTP這三個最常見的TCP/IP協議協議下載。

用以下的指令就能安裝wget:
~ $ sudo port install wget
安裝的過程,大約需要5至10分鐘。

Step6: 下載原始碼與Patch


用以下的步驟就可以完成:
~ $ svn co -r464 http://svn.unix-ag.uni-kl.de/vpnc/branches/vpnc-nortel
~ $ cd vpnc-nortel
~/vpnc-nortel $ wget -O patch-20110823.diff \
http://lists.unix-ag.uni-kl.de/pipermail/vpnc-devel/attachments/20110823/4aeede62/attachment.obj


Step7: 上Patch和Compile


用以下的步驟就可以上Patch:
~/vpnc-nortel $ patch -p3 < patch-20110823.diff
請記得,安裝Patch的過程中可能會有錯誤,但只要出現"Hunk #6 succeeded"就可以繼續Compile的步驟。

用以下的步驟就可以Compile:
~/vpnc-nortel $ make
請注意:在Compile的過程中可能會出現gcrypt.h的警告,但整個過程仍然可以繼續。

Step8: 安裝和複製必要檔案


安裝vpnc-nortel:
~/vpnc-nortel $ make install

複製必要目錄/檔案:
~/vpnc-nortel $ make install
~/vpnc-nortel $ sudo cp vpnc vpnc-disconnect /usr/local/sbin/
~/vpnc-nortel $ sudo mkdir /etc/vpnc
~/vpnc-nortel $ sudo cp vpnc-script /etc/vpnc/
~/vpnc-nortel $ sudo chmod a+x /etc/vpnc/vpnc-script


Step9: 設定vpnc-nortel


修改設定檔 default.conf:
~/vpnc-nortel $ sudo vi /etc/vpnc/default.conf

在default.conf內加入以下的內容:
Vendor nortel
kernel ipsec
IPSec gateway 192.0.2.8
Local Port 501
IKE Authmode gpassword
IKE DH group dh1
Enable Single DES
IPSec ID my_group_name
IPSec secret my_group_password
Xauth username my_personal_username
Xauth password my_personal_password

上述內容有些步驟需要修改:
  • 192.0.2.8 可以換成公司實際的vpn網址,例如:vpn.xxx.com
  • my_group_name 要換成實際的Group Id
  • my_group_password 要換成實際的Group Password
  • my_personal_username 要換成登入的帳號(Username)
  • my_personal_password 要換成帳號的密碼(Password)

範例中使用的認證方式是用 Group / Group Password的方式,但可以隨設定的不同而修正。

Step10: 啟動/中斷vpnc


每次開機後,如果要啟動 vpnc,就可以執行以下的命令,但開機後如果已經啟動了,就不需要再啟動:
~/vpnc-nortel $ sudo vpnc

如果暫時不用VPN,就可以先中斷vpnc:
~/vpnc-nortel $ sudo vpnc-disconnect
每次關機不需要特別中斷,直接關機即可。

附註


這篇文章內的:
  • ~ $ 是指根目錄下的 /home/user_name 目錄的提示符號(Prompt),user_name會隨使用者而不同。
  • ~/vpnc-nortel $ 是指根目錄下的 /home/user_name/vpnc-nortel 目錄的提示符號(Prompt)
在輸入命令時,不需要輸入這段。
 Related Posts with Thumbnails 

0 意見 :

張貼留言