利用 Tomato Firmware 的 PPTP VPN Server 翻牆

by 10/21/2014 4 意見

中國大陸官方對 Internet 的管制一向是「寧可誤殺一百,不可錯放一個」,導致我們在台灣常用的服務如: Google、Facebook ...等網站或服務都無法正常連線,為了讓這些網路服務可以順利的穿過網路長城的限制,因此有了所謂「翻牆」的動作出現,也就是指讓這些網路資料封包「翻」過網路長城的城「牆」到外面去。

一般來說,翻牆的方式有下列幾種:
其中最有效的方式首推 VPN,除了付費購買別人建置好的 VPN Service 之外,其實在台灣的家中自己建置一個 VPN 伺服器,利用現成的 ADSL / VDSL 線路來當跳板,也是一個很好的方式。

最後更新日期 - 2015/01/22


PPTP (Point to Point Tunneling Protocol) 是 VPN 的常見一種協定,建置容易,但是相對的安全性較低,不過因為大多的作業系統都有支援,如 Windows、OSX、iOS、Android,所以還是有人多人在使用。

我們這次的目標是在家裡建立 PPTP VPN Server,讓大陸的 PPTP VPN Client 端連線回來台灣,再連到外部的 Internet 去。


開始設定


首先,請參考 如何將 Asus RT-N16 更換韌體,改用 Tomato 的刷機步驟,將 Tomato Firmware 刷機的動作完成。

請注意,不是每個 Tomato Firmware 都有 VPN Server 的功能,選擇韌體版本的時候請特別注意,本次使用的 Tomato 版本是 Tomato shibby 1.28,可以到 數位天堂 - [Tomato PL] Tomato 衍生版本 by Shibby 下載 (需註冊成會員)。

打開瀏覽器連進 Tomato 後,點選左側的「VPN 通道」。

再點選「PPTP 伺服器」。

先勾選「啟用」,下面的選項才能修改。

「本地 IP地址/遮罩」是指基地台本機的 IP 及 Submask,這裡不能修改也不需要修改。

重點在設定「遠端 IP 地址範圍」, 這裡的設定是 VPN 跟 LAN 在同一個網段,所以 Client 端可以透過 VPN 與 LAN 裡面的所有電腦連線。

廣播中繼模式共有四種,Disabled、LAN to VPN Clients、VPN Clients to LAN 及 Both,我們選擇「Both」。

編碼方式有兩種,None 及 MPPE-128,我們選擇「MPPE-128」。

「DNS 伺服器」通常設定 ISP 的 DNS Server,中華電信的 DNS Server 是 168.95.192.1 及 168.95.1.1,而 Google 的 DNS Server 是 8.8.8.8 及 8.8.4.4。

若是沒有設定的話,Client 端會因為無法解析 Domain Name,而無法再連線到網際網路。


「WINS 伺服器」不需設定。

「最大傳輸單位 (MTU) 」及「最大接收單位 (MRU)」的說明請參閱 維基百科 - MTU
一般來說,透過 PPPoe 撥接的 ADSL 及 FTTH,MTU 的值為 1492,再經過了 PPTP VPN 之後,勢必會有一些影響而減少,必須視實際網路狀況調整。

請小心設定,數量設定太大或太小都會對速度及穩定性有影響,測試的方法可以參考 TP-Link - FAQ : 如何為網路找到適合的 MTU 大小

PPTP VPN Server 驗證使用者的方式完全依賴帳號密碼,「PPTP 帳號清單」可以設定多組帳號,用來辨識連線進來的使用者,允許帳號重覆登入。

若要修改或刪除的話,直接點選帳號密碼欄位,輸入資料後,點選「確認」,或是直接點選「刪除」即可。

最後,點選最下方的「儲存」按鈕。
等 PPTP VPN Server 服務重新啟動後,就可以使用了。


用戶端管理


點選左側選單的「PPTP 連線狀態」。

這裡就可以看到目前連線中的 Client 端狀況了。

當使用者連線上來之後,我們可以知道 VPN Clients 用哪一個帳號、何時開始連線、從哪個 IP 連線進來,還有一個「Disconnect」的按鈕,可以將 VPN Clients 強制斷線。


用戶端連線限制


在設定「遠端 IP 地址範圍」的時候,上面的例子是將遠端位址設定成與本地 IP地址同一個網段,所以 VPN Clients 可以與 LAN 的電腦連線,同時也可以連線到 Internet 去。

如果我們只是要讓 VPN Clients 可以連到 LAN 裡面,而不需要再連到 Internet,就不要設定 DNS Server。

如果我們要讓 VPN Clients 可以連線到 Internet 去,但是不希望他們可以連到 LAN 裡面來,就要把「遠端 IP 地址範圍」設定成與 LAN 不同的網段即可。

而 Tomato Firmware 的 PPTP VPN Server 最多只允許 6 個 Client 同時連線。

若是超過 6 個遠端 IP,系統就會不允許儲存設定值。


參考資料


更新紀錄

  • 2014/10/21 撰文。
  • 2015/01/22 調整內容。

Heracles Jam,江湖人稱「海公公」

IT 技術家 - 創站部落客

一個常用 Windows、慣用 macOS、愛用 Linux 的 3C 阿宅
現職 MIS / 業界講師 / 資訊顧問 / 部落客

4 則留言 :

  1. 廣播中繼 Both 是啥?? 請問

    回覆刪除
    回覆
    1. 簡單的說,就是 LAN 跟 VPN Clients 之間可不可以互通...

      刪除
  2. 你好 按照上面設定了 用手機連結 ANDROID 4.4 VPN伺服器該填什麼呢?
    那我PPTP上都不需要填我中華電信的固I 就可以連線嗎?

    回覆刪除
    回覆
    1. VPN Server 指的當然是 Tomato 拿到的 WAN Port IP Address,或是你自訂的 Domain Name。

      刪除