Posted by aionman on Aug 29, 2009 in
Networking
First Time Flashing instructions
Buffalo, unfortunately, encrypts their firmware, and their routers will accept only encrypted firmware in the web interface.
WHR-G300N is now only supported by dd-wrt V24-preSP2, created by BrainSlayer .
The first time you flash, the TFTP method can be used to bypass this ‘encrypted’ firmware requirement. Afterwards, the router firmware can be changed through the Web interface normally.
TFTP flashing
The latest DD-WRT build has a new, easy, and safe way to flash a WHR-G300N router. To do this, just Tftp_flash the firmware.tftp image to 192.168.11.1 in the 1st three seconds of booting when the router is in recovery mode.
The trick with this router is to wait for the blinking red light to stop and then start the tftp transfer. Be ready to press enter the very moment the red diag light stops blinking.
UPDATE:
There is a more convenient way to flash the firmware:
Every time the router boots it looks for a file called “firmware.ram” on a tftp server at 192.168.11.2. Now if you start a tftp server (e.g. TFTP32) and offer this file (simply rename firmware.tftp), the router fetches it automatically and flashes itself. This way you don’t have to try to hit enter at the right time and it’s fully automatic.
Posted by aionman on Jun 29, 2009 in
Networking

就算你的老闆出差到中國,也能透過SSL VPN 連回公司存取內部資料,甚至避開偉哉網路長城的封鎖,藉由香港的線路正常瀏覽新聞及相關網站。或許,有人會說為什麼不用PPTP VPN,我個人認為PPTP 其實沒有想像中方便,尤其對於一般使用來說,光找出連線設定恐怕就有一定的複雜度,更何況無法預期身處的網路環境是否允許PPTP 封包通過。
至於,啟用的設定方式也很簡單,記得三大原則:
● VPN 使用者及群組的設定
● 防火牆Policy 的設定
● 路由設定
當然,這次還是拿FG60B(FortiOS 3.0 MR7)當範例:
1) 到VPN -> SSL,啟用SSL VPN。參考上方的網路架構圖,設定Tunnel IP 範圍為「192.168.254.1 至 192.168.254.50」。
由於我假設的內部網路為網域環境,所以在進階設定的DNS及WINS Server,都指定AD主機的IP。實務上,如果公司同樣有網域環境,強烈建議設定成跟內部網路環境一樣,在網芳連線上也比較不會有問題。

2) 到User -> Local 新增使用者。

本範例為建立一個使用者「sslvpn」於本機上。記得..密碼要設定啊!

3) 到User Groups -> 新增群組。

範例所建立的群組名稱為「SSLVPN_GP」,設定SSL VPN 的Tunnel IP 範圍與先前設定一樣,為「192.168.254.1 至 192.168.254.50」。注意!類型需選擇「SSL_VPN」,並且將已經建立好的帳號「sslvpn」選取至Members 裡。
至於其他選項的功能,有興趣的人可以翻原廠文件:SSL VPN User Guide 3.0 MR7。

4) 到Firewall -> Policy ,新增相關Policy。依據最上方的網路架構及設想可能的用途,VPN 進來的用戶端及內部網路必須能互相溝通,而且VPN用戶端可透過該設備上網。所以必須增加下列Policy:
● Wan1 -> Internal。注意!「Action」的類型請務必選擇「SSL-VPN」,並且允許「SSLVPN_GP」群組可使用SSL VPN。
其實,這條Policy 就是攸關使用者能否透過https存取及登入的設定,沒有建立這條就啥都別談了。

● Internal -> ssl.root。「ssl.root」指的就是SSL VPN 的網路環境位置,故要讓內部網路能存取到VPN 用戶端的資源,則必須建立相關Policy。

● ssl.root -> Internal。這…不用特別解釋了吧…


● ssl.root -> Wan 1。這點要注意的是,因為SSL VPN 用戶端在撥入後,需要透過Fortigate上網,所以務必勾選「NAT」,不然你就在內部網路玩小圈圈就好了。
完成後,除了原本就有的「Internal -> wan 1」,一共增加了四條Policy。
5) 到Router -> Static,新增一筆Static Route。由於SSL VPN 的Tunnel IP Range 範例設定為192.168.254.[1-50],所以我就直接設定「192.168.254.0/255.255.255.0」。注意!Device 類別請記得選「ssl.root」。
你高興的話也可以不要新增啦,只是連上去會發現不能互通而已。

以上就算是完成所有設定。
接著進行測試,請先確認Fortigate 的外部IP及SSL VPN 的Login Port。

然後輸入「https://外部ip:10443」,就能看到登入畫面了。請記得加上「https」跟「埠號」,否則到死都連不上。

如果是初次登入,在登入後應該會跳出安裝ActivX 的要求。想連SSL VPN 的話,乖乖裝就對啦!

連接成功就會出現像下面這兩張圖一樣的訊息。


很讚吧!用HTTPS 網頁登入的方式就能完成SSL VPN 連線,就代表你的電腦只要能上網,就能輕鬆連回公司內部。
對~~關掉那個頁面,VPN 也就跟著斷了… 
所以,我個人強力推薦到Fortinet 技術支援網站下載SSL VPN 撥接軟體。(限定已註冊用戶)

撥接方式更為簡單,只要預設的SSL VPN Login Port 沒有更動(預設為10443), 輸入IP 後連埠號都無須輸入,再鍵入帳號密碼選「Connect」,就能連上SSL VPN 囉!

就算不小心點到「X」,也只會縮到右小角的工具列中。

上面教的步驟真的是快速設定,所以Policy 的Source 及Destination Address 都是設定「all」,而且連防護的Protection Profile 都沒加上。
如果對Fortigate 有一定熟悉度的人,我還是建議認真把相關防護設定好,不然哪天被玩很大就麻煩了。
下一篇再來討論「如何切割VPN通道」,也就是VPN 用戶端除了進公司內部網路的流量走VPN 通道,其餘都還是走原本的對外線路。應該沒人希望哪天老闆到荷蘭出訪看紅燈區的櫥窗女郎,上Internet 查資料時還要透過半個地球外的Fortigate 吧!?
相關參考文件:
Fortinet Knowledge Center - SSL VPN User Guide(簡體版)
Tags: Fortigate, SSL VPN
Posted by aionman on Jun 28, 2009 in
Networking

先簡單說明網路測試環境,否則後續圖解一定會看到眼花:
Z1 Network – 192.168.123.0/24
有Fortigate 60 設備(FortiOS v4.0.1 beta)
WAN IP: 123.123.123.123
Lan IP:192.168.123.254
Z2 Network – 192.168.1.0/24
有Fortigate 60B 設備(FortiOS v3.0 MR7)
WAN IP: domain.dyndns.org(外部採PPPoE 無固定IP,故申請免費的dyndns.org 服務以達成兩端即時連線)
Lan IP:192.168.1.252
理所當然,我們先從Z1 區的FG60 下手設定:
1) 設定FG60 的IPSEC Key。到VPN -> IPSec,選擇「Create Phase 1」。

為方便未來清楚設定,建議參考下圖命名為「Z1toZ2_Tunnel」,進階的部分用預設即可。但幾個地方要注意:
a. 由於Z2 區的Fortiagte 對外是使用浮動式IP,所以Remote Gateway 請選擇「Dymamic DNS」模式,「Dynamic DNS」欄位則輸入Z2 對外的DDNS 名稱。
b. 「Local Interface」是個很容易讓人誤會的設定,請選擇Fortigate 上對外連線VPN 的介面。因此範例是選擇「wan1」。
c. 「Pre-shared Key」的密碼設定至少為三個字元以上。範例是設定「123456」,到時候另一端的設備也需要設同一組密碼作溝通。

建立完「IPSEC Phase 1」,接著新增「Phase 2」

參考下圖將「Phase 2」命名為「Z1toZ2_phase2」,並記得選擇前面phase 1 所設定「Z1toZ2_Tunnel」;進階的部分用預設即可。(就說了是快速設定啊
)

Z1 端IPSEC 的設定完成如圖。

2) 到Firewall -> Address 新增兩組IP 網段。
請參考下圖,分別新增Z1(192.168.123.0/255.255.255.0)及Z2(192.168.1.0/255.255.255.0)的IP。

3) 到Firewall -> Policy 新增Internal -> Wan1 的Policy。
由於是Z1 到Z2 的設定,Source Address 當然要選擇Z1 的IP Address,Destination Address 則選擇Z2 的IP Address。要比較注意的是,Action 設定請記得選擇「IPSEC」,而VPN Tunnel 則選擇先前建立的「Z1toZ2_Tunnel」。

如果建立Policy 後,順序跟下圖一樣是後於「all to all」,請將調整於其之前。

如果以上步驟都確實完成,那麼Z1 端就算收工了,等於做完一半啦!

鏡頭轉到Z2 的FG60B 設定。以下步驟其實跟Z1 的設定幾乎一樣。
1) 到VPN -> IPSEC 新增FG60B 的IPSEC Key。一樣要先新增Phase 1,命名為「Z2toZ1_Tunnel」。而要注意的事項:
a. Z1 對外是使用固定IP,所以Remote Gateway 請選擇「Statics IP Address」模式,「IP Address」欄位則輸入Z1 對外的IP「123.123.123.123」。
b. 「Local Interface」請選擇擇「wan1」介面。
c. 「Pre-shared Key」的密碼必須跟Z1 端的IPSEC 設定一樣,所以請輸入「123456」。

新增Phase 2。不多講,看圖說故事。

完成Z2 端的IPSEC 設定。

2) 到Firewall -> address 新增兩組IP 網段。這部分跟Z1 端一樣。

3) 到Firewall -> Address 新增Internal -> Wan1 的Policy。
現在是Z2 到Z1 的設定,Source Address 請務必選擇Z2 的IP Address,Destination Address 則選擇Z1 的IP Address,不要搞混現在在哪裡設定啊。Action 設定別忘了選擇「IPSEC」,VPN Tunnel 則選擇「Z2toZ1_Tunnel」。

大功告成!

當然,照例要來個有圖有真相。從Z1 端的電腦直接Ping Z2 端的FG60B,會看到已經可以直接連接。不過,會發現第一次Ping 的時候似乎停頓1至1秒半的時間。

這是因為預設的IPEC VPN 不會主動建立連線,只有在Fortigate 發現內部有需要時才會開始連線(這算節能省碳嗎?),甚至在雙方達到一定時間且沒有流量時還會自動中斷VPN。
要解決這個問題,就是到IPSEC 的phase 2 設定找到進階選項,然後勾選「Autokey Keep Alive」。另外,從這裡可以發現「keylife」預設是30分鐘會換一次Key,如果又沒有勾選「Autokey Keep Alive」且沒有流量,設備就會因此停止VPN 連線。高興的話,也可以改一個小時甚至一天,就看你的安全考量;畢竟是透過Internet 傳輸IPSEC VPN,「keylife」時間越久就越有可能遭到有心駭客去破解。

認真研究起來,上面的設定其實不很難,難的是Fortinet 原廠提供的教學文件 - IPSec VPN User Guide 並沒有提供截圖,所以在閱讀上會有些困難。不過,一般企業會想到的應用幾乎都在文件裡出現,像是Redundant VPN、Hub and spoke 架構等等。如果資源夠的話,我會建議印出來閱讀,會比較容易從文件中抓出重點。
至於Site to Site IPSEC VPN 是否僅限定Fortigate 設備,其實不然!(假如連這都要綁標就太機車了…)原廠Knowledge Center 還提供了像是跟ZyXEL ZyWALL、SonicWall、Cisco PIX 等大廠設備,甚至連Microsoft ISA Server 都有的連線文件(詳情可參考Fortinet Knowledge Center 的 IPSec VPN interoperability 頁面),有需要的人可以上網參考看看喔!
Tags: Fortigate, IPSec, VPN