本指南將説明你在Linksys OpenWRT路由器上設置OpenVPN。 按照這些步驟,你就能通過VPN從世界任何地方安全連接到你的路由器。
如遇任何問題或需要進一步説明,請參考OpenWRT論壇或OpenVPN文件。
- OpenWRT路由器: 確保你的路由器是運行OpenWRT的MBE70型號
- SSH 訪問: 在路由器上啟用 SSH 訪問
- 檢查NAT穿越情況: 如果你處於這種情況,還有一個額外的步驟需要執行。
1. 下載安裝文稿
- 訪問路由器: 使用SSH用戶端連接到你的路由器。
噓root@<router_ip>
- 下載文稿: 將設置腳本下載到你的路由器。
wget -O /tmp/setup_openvpn_server.sh <link_to_script>
注意:請檢查 VPN_POOL 中使用的IP和VPN_DNS變數,是否與你的網路衝突。 上述腳本使用的是網路10.8.0.0/24。 如果這個網路已經在使用中,無論是路由器端還是用戶端,你都無法建立VPN連接。 那你只需要編輯這些變數。.
2. 將文稿可執行化
chmod +x /tmp/setup_openvpn_server.sh
3. 執行設定文稿
sh /tmp/setup_openvpn_server.sh
該文稿將:
- 安裝必要的軟體包(openvpn-openssl 和 openvpn-easy-rsa)。
- 生成金鑰和證書。
- 配置OpenVPN伺服器。
- 設置防火牆規則。
4. 傳輸用戶端配置檔
執行文稿後,你需要將用戶端設定檔傳輸到本地機器:
scp root@<router_ip>:/etc/openvpn/openvpn_client.ovpn /path/to/local/machine
5. 檢查NAT遍曆
你需要下載 check nat 腳本,在路由器上運行。 它會告訴你是否處於NAT狀態:
wget -O /tmp/check_nat.sh <link_to_script>
chmod +x /tmp/check_nat.sh
/tmp/check_nat.sh
腳本提供診斷。 如果你得到下面的結果,說明你的路由器被 NAT 連接了:
設備很可能是NAT後面的。
如果你不處於這種情況,可以直接進入第6步。
如果你處於這種情況,需要遵循以下說明。 注意,只有在沒有靜態公共IP的情況下,步驟5.a才是強制的。 如果你確定自己有靜態公共IP,可以直接進入第5.b步。
a. 建立動態DNS服務
有很多免費的動態DNS服務。 你可以選擇任何你想要的。 為了舉例,我們選擇 https://www.dynu.com。 你將被要求選擇一個功能變數名稱。 假設我選擇了 “remote_me.ddnsfree.com”.
現在,你需要配置路由器將其位址推送到服務中。 這樣,如果你的IP發生變化,你就不用在dynu.com上手動設置,路由器會自動幫你設置。
要做到這一點,連接你的路由器並選擇「動態DNS」:

然後編輯你的my_ddns_IPv4服務或創建新的服務:

然後進入高級設置,按照以下方式配置:

如果不這樣做,路由器會嘗試共用其私有IP位址,但動態DNS服務會拒絕該IP位址。
完成後,點擊「保存並應用」,返回DynamicDNS頁面。 在那裡你需要啟動服務並點擊「開始」:

b. 編輯OpenVPN 文檔
對於那些因為有靜態IP而不需要動態DNS服務的使用者,請取回你的靜態IP。 你可以問你最喜歡的搜尋引擎,或者運行一個更簡潔的命令:
curl ifconfig.me
既然我們知道了IP,需要編輯描述連接的 opvn 檔。 打開你之前取用的檔“openvpn_client.ovpn”,編輯第4行:
遠端 192.168.1.22 1194
變為:(上述IP位址僅為示例):
刪除my_own_chosen_ddns_name.my_ddns_service.com 1194
或者如果你知道你的靜態公共IP:
遠端 x.x.x.x 1194
好了,現在保存你的檔案。 你可以進入下一步。
c. 配置ISP路由器
這是最棘手的部分,也很大程度上取決於你的ISP,所以給出清晰的解釋會很複雜。 首先,你需要連接到執行NAT的路由器。 要找到該路由器的IP,可以在你的OpenWRT路由器上按以下命令:
route
你會得到類似這樣的內容:
Kernel IP路由表
你需要找預設閘道。 在上述情況下,預設閘道是192.168.1.1。
現在,你需要連接到那個設備,找到路由/NAT設置。 然後你需要配置來自外部的1194埠,將其傳輸到你的私有網路內的1194埠到你的OpenWRT設備。 我的情況是這樣的:

同樣,這會因你的ISP而異。 如果你能做到這一點,你終於可以進入第六步了!
如果你無法通過這一步,不要慌,可以再設置一次,請查看“ZeroTier VPN的遠端存取設置”。
6. 使用 OpenVPN 用戶端連接
- 安裝OpenVPN用戶端: 從OpenVPN官方網站下載並安裝適用於你作業系統的OpenVPN用戶端。
- 導入配置檔: 打開OpenVPN用戶端,導入你轉移的openvpn_client.ovpn檔到本地機器。.
- 連接VPN: 選擇導入的配置並點擊「連接」。
7. 驗證關聯
連接后,確認你的IP位址是否更改,這樣你就能訪問網路中的內部資源。 如果你沒有編輯本文開頭提供的OpenVPN_Remote.sh腳本,那麼你可以嘗試用以下IP位址SSH路由器:10.8.0.1
常見問題
- 連接被拒: 確保你的路由器防火牆允許OpenVPN埠的入站連接。
配置錯誤: 檢查OpenVPN日誌是否有配置錯誤:
logread -e openvpn
對於高級使用者,你可以進一步定製OpenVPN配置。 編輯位於 /etc/openvpn/openvpn_server.conf 的伺服器配置檔,並進行必要的修改。
- 使用強密碼: 確保所有密碼都堅固且安全。
- 保持軟體更新: 定期更新OpenWRT和已安裝的套件到最新版本。
- 監控日誌: 定期檢查OpenVPN和系統日誌,尋找異常活動。

