November 12, 2013

VPN 介紹、挑選與實例

這一年來擔任計算機網路概論的助教時,有許多學弟妹對 VPN (Virtual Private Network) 這個概念感到疑惑,於是我整理了之前存放在 evernote 的資料寫了這篇文章,以實例來介紹 VPN,並列出一些挑選的準則。


目錄


(一) VPN 是什麼?

1. 定義

VPN 是 Virtual private network 的簡稱。

維基百科對於 VPN 的解釋如下:

以日常生活的例子來比喻,虛擬私人網路就像:甲公司某部門的A想寄信去乙公司某部門的B。A已知B的位址及部門,但公司與公司之間的信不能註明部門名稱。於是,A請自己的秘書把指定B所屬部門的信(A可以選擇是否以密碼與B通訊)放在寄去乙公司位址的大信封中。當乙公司的秘書收到從甲公司寄到乙公司的信件後,該秘書便會把放在該大信封內的指定部門信件以公司內部信件方式寄給B。同樣地,B會以同樣的方式回信給A。

在以上例子中,A及B是身處不同公司(企業網路路)的計算機(或相關機器),透過一般郵寄方式(公用網路)寄信給對方,再由對方的秘書(例如:支援虛擬私人網路的路由器或防火牆)以公司內部信件(內部網路)的方式寄至對方本人。請注意,在虛擬私人網路中,因應網路架構,秘書及收信人可以是同一人。

簡單來說,假設你(A) 透過 VPN Server (B) 連線到某個網站 (C),由於 A 與 B 之間是加密過(假設 B 保密且安全),則當 B 跟 C 要資料時,C 不知道其實那是 A 要的;另一方面,第三者也只能看出 A 跟 B 之間有傳輸,以及 B 跟 C 之間有傳輸這兩個事實,並無法得知 C 的資料其實最後給了 A。

如果還是不懂 VPN 在幹嘛的話也沒關係,看完下面的 VPN 測試實例就能理解了。

2. 什麼時候需要 VPN

以下部分內容節錄自:http://www.howstuffworks.com/vpn.htm

假設下列情形:

  • 你是交大學生,你有繳學費享受某些權利 (e.g. 下載 IEEE Explore),你在實驗室可以自由觀看學術文件,回到家瀏覽 IEEE Explore 時,卻顯示需要付費才能下載。
  • 你在鬼島工作,下班回家後也得在家加班,總公司內部 Fils Syetem 只允許 Intranet 的 LAN 連線,你需要一條安全快速又方便的線路可以從家裡連回總公司的 FS
  • 你想透過 P2P 下載東西,又想降低被抓機率。
  • 你想透過網路觀看地區限制(e.g 日本)的節目、廣播

諸如此類需要安全連結 [個人-LAN]、[LAN-LAN] 等情形都適用 VPN。

A. VPN 好處

  • 安全(Security):用 packet 包住 packet 的 Tunnel 方式達到 Security 效果 (IPSec ESP, IPSec AH, GRE)
  • 可靠(Reliability)
  • 具延展性(Scalibility)

B. VPN 之外的方法

使用 Leased Line,跟電信公司租用固定之線路,可以確保這條線是安全的,來自這條線的人都能享用公司 LAN 資源。
缺點是線路貴,萬一員工分布全世界各地,豈不是要拉成千上百條線路,延展性差。

3. 誰會架設 VPN Server

非營利事業為了資訊安全、增強工作效率等原因,會架設 VPN Server。

  • 企業會架設 VPN Server,員工在公司外部透過 VPN Server 連進公司,之後才能取得內網的資料。
  • 學校會架設 VPN Server,同上。
  • 政府機關會架設 VPN Server,同上。

另外也有專門瞄準特殊需求的 VPN Server 業者,舉例來說,商家可能因法規或行銷策略等原因,而限制某些內容只能在限制的地區撥放。

例如法國或日本的影音串流平台因版權問題,只允許自己國內 IP 的使用者觀看;又或像中國防火牆封鎖大部分海外內容,使用者必須翻牆才能出去。

有些營利事業的 VPN Server 雖標榜免費使用,但會內建廣告或其他侵犯隱私或行為,使用前請三思。


(二) VPN 測試實例

接下來我們用一個實際的例子來看看 VPN 的運作與網路的關係。

我用這個實驗簡單示範「連上 VPN 前」與「連上交大 VPN 後」有什麼不同。

註:交大有購買 IEEE Xplore 權利給予學生,故連上交大 VPN 後可下載 IEEE Xplore 內容。

1. 實驗步驟

  • 連上 VPN 前
    • 查看自己 IP
    • 查看 ARP
    • 連上 IEEE Xplore,看能不能下載
  • 連上 交大 VPN 後
    • 查看自己 IP
    • 查看 ARP
    • 連上 IEEE Xplore,看能不能下載

2. 連上 VPN 前

上網查看自己的 IP,IP 是 1.171.14.172 ( 新竹金山街附近外宿 hinet 動態IP )。

查看 ARP Table,從結果可以看出:
- 因為有裝 VMware 的關係,所以多了幾張虛擬介面卡 VMnet 1, VMnet 8
- 因外宿網路共享,eth0 先連到 Hinet switch 才出去外網,故 IP 是 192.168 開頭的內網

上 IEEE Xplore 查看文件,發現不能直接下載,需要登入。

3. 連上交大 VPN

照著交大資訊技術服務中心的 VPN 設定教學 操作即可。

4. 查看網路狀況

在 cmd 模式下輸入 ipconfig 查看 Windows IP 設定,IPv4 位址顯示為 172.16.0.139

使用 Juniper Network Connect 查看 Session 的 Assigned IP,位址一樣為 172.16.0.139

從 Windows 的 控制台 -> 網路和網際網路 -> 網路和共用中心 -> 區域連線 -> 內容 查看,IPv4 位址也是 172.16.0.139

回想計算機網路概論第一章的講義,172.16 開頭的 IP 與上述 192.168 開頭的 IP 皆為內網專用的 IP 開頭 (reserved for private network),詳細資訊請參考維基百科的這個頁面:Reserved IP addresses

也就是說,我們的電腦在連上 VPN 之後,並不直接跟網際網路相連,而是成為了該 VPN 內網的一部分,封包會經過 VPN 內網的 Gateway 傳送出去。

5. 連上 VPN 後

上網查看自己的 IP,IP 是 140.113.250.42 ( 交大 IP )

ipconfig 查看 ARP Table,多出許多交大 (140.113) 的 IP,因為我們現在連上的是交大 VPN 的內網。

上 IEEE Xplore 查看文件,發現可以下載了,因為:

  • 我們連上交大的 VPN ,透過交大 VPN 連線 IEEE Xplore。
  • 對 IEEE Xplore 而言,它只看見交大的 IP 連線進來,並不知道後面是誰。
  • 因交大有購買 IEEE 下載資格,所以 IEEE Xplore 會讓此 IP 下載。
  • 下載的文件回沿著原路徑從 IEEE Xplore -> VPN Gateway -> VPN Client -> 我的電腦回來。

簡單來說,假設你(A) 透過 VPN Server (B) 連線到某個網站 (C),由於 A 與 B 之間是加密過(假設 B 保密且安全),則當 B 跟 C 要資料時,C 不知道其實那是 A 要的;另一方面,第三者也只能看出 A 跟 B 之間有傳輸,以及 B 跟 C 之間有傳輸這兩個事實,並無法得知 C 的資料其實最後給了 A。

看完這個 VPN 實例,再回去看一下剛剛 VPN 的定義,是不是能夠理解了呢?

6. 觀察封包路徑

想了解更多的話,可以用 trace route 來觀察封包路徑。

下方第一張圖是我連上某付費 VPN 的日本 Server 後,由 106.186.27.138(192.168.179.254) 去追蹤 140.113.240.9 的情形,。

第二張圖是我遠端實驗室電腦,由 140.113.240.9 去追蹤 106.186.27.138 的情形。


藉由觀察封包的路徑可以對 VPN 的架構有更清楚的了解。


(三) 挑選 VPN 的準則

除了企業、政府或學校提供的 VPN 外,我們有時也會有特殊需求需要購買 VPN 服務,這邊列出幾個挑選 VPN 的準則。

  • 支援哪些 Protocal : SSL、IPSec
  • VPN 的伺服器地點:例如你想要透過 VPN 觀看限制日本地區的影片,則該 VPN 營運商至少要在日本有伺服器。
  • VPN 的公司地點:公司遵守其所在國家的法律,如果 VPN 公司註冊在美國或中國的話,政府跟他們要你的資料他們幾乎不能拒絕。
  • Log 原則:VPN 伺服器是否會記錄你的連線紀錄?下載紀錄? 瀏覽的網站等資訊,會不會用任何名義提供給第三方單位?。
  • 是否有特殊功能:防毒功能、固定 IP、P2P 輔助等等。
  • 是否支援作業系統:Windows、Android、MAC、Linux 等等。
  • 價格。

1. 更多參考資料

參考這篇文章:
COMBINING TOR WITH A VPN CONTINUEDBefore we move on, I want to go back to how to choose a good VPN. 那邊開始。

或是 lifehacker 的這篇文章:Why You Should Start Using a VPN (and How to Choose the Best One for Your Needs)

或是參考各個 VPN 服務的 Review:Top VPNs - Best VPN.com
註:此類網站很多葉佩雯,可信度請自行斟酌。


(四) VPN vs Proxy Server

Proxy Server 與 VPN 都可以達到 Geographic Location Content(觀看地區限定內容)、Security (隱藏本身 IP ) 等目的。

但實際上兩者有什麼不同呢?

這個 VPN 服務商的 FAQ 提供了一個簡潔有力的說明:What is the difference between a Proxy and VPN Service?

In conclusion, a proxy server is completely browser based, and is not as compatible with certain web pages that use non-browser technology such as: Comedy Central,Zatoo, Fox OD, and Sky Player. However, a VPN will work with ALL internet based services, but will offer less choice on which applications will get run through your ISP, as with the VPN, everything is routed through that server when connected.

更詳細的 Proxy Server 與 VPN 比較請參考這篇文章:Proxies vs. VPN – What’s the difference?

Your ISP or government can only see that you have connected to the VPN server and nothing else.
Your activities, IP addresses you have visited etc. are all completely hidden from them behind a minimum of 128-bit encryption.

However, the VPN server can see what you get up to on-line, which is why we feel it vital that a good VPN provider keeps no logs.

1. 簡單結論

Proxy Server

  • 只能用在 Web base 的 Traffic。
  • 通常不加密,以便同時服務成千上百個 Client。
  • 通常免費。
  • 有些網站會直接 block 掉有名的 Proxy Server IP。

VPN

  • 可以用在所有從這台電腦出去的 Traffic。
  • 會將所有從 VPN Server到妳電腦這段 Tunnel 資料加密,提供一對一服務。
  • 通常不是免費。
  • 資料量大時,可能會 LAG (因加密且繞道)。

(五) VPN vs Tor

另一個學弟妹常問的問題是,VPN 跟 Tor 有什麼不同?

其實這個問題 Tor 官網的 FAQ 內就有答案了。或是參考這篇文章 Tor vs VPN 也有詳細的說明。

以下節錄部分內容:

Tor advantages

  • No one can trace the sites you visit back to your IP address.
  • Since the network is distributed, it makes it extremely difficult for any government or organization to shut it down.

Tor disadvantages

  • It is very slow – Because your data is routed through a number of relays, using Tor is very slow. Therefore, it is not recommended for browsing or streaming geo-restricted video content.
  • Some ISPs actively search out and block Tor relays, making it difficult for some users to connect. China particularly is getting better at blocking Tor relays.
  • Since the traffic at the exit node is unencrypted, anyone (the police, the government, or a hacker) that is running the exit node can see your internet traffic. Furthermore, anyone can setup a Tor exit node and there’s nothing to prevent that person from spying on the users. So if you are sending anything sensitive, be sure to use secure websites (with HTTPs).

VPN advantages

  • Connection speed is a lot faster compared to Tor since there’s only the VPN server that stands between your computer and the requested site.
  • VPN provides better privacy and security than Tor.
  • Some VPN providers include malware protection in the client software.

VPN disadvantage

  • A good VPN service costs money (~$30-60/year), although it is not very expensive. There are also free VPN services, but those have ads.

另外這篇文章:COMBINING TOR WITH A VPN 則敘述如何結合 Tor 與 VPN 。