分散式部署

有時候您可能會遇到這種情況:您的手機在家裡,而人卻在外地,這時該如何使用呢?您可以透過 FIRERPA 內建的 Frp 或 OpenVPN 客戶端來實現分散式部署,以便在任何地點連線到分散式部署的裝置。這兩種方案都需要您擁有一台具備公用網路 IP 的伺服器,並且需要您設定伺服器端的相關軟體才能正常使用。後續的文件將會描述如何部署 Frp 以及 OpenVPN 伺服器。

危險

本章節的相關操作可能會將您的手機暴露於公用網路上,增加安全風險,請務必仔細閱讀。

本章節我們不會提及如何開關防火牆連接埠等基礎操作,我們預設您已了解並按照要求完成設定,且我們預設您對 Frp 以及 OpenVPN 有所了解。關於如何部署這兩種伺服器端,我們在此文和後續的章節裡有詳細介紹。如果您選擇自行部署,我們強烈建議使用 OpenVPN 組網的方式。

透過星火平台 Hub

您也可以自行部署 firerpa/hub + firerpa/hub-bridge 來實現裝置間的 P2P 存取,具體操作請參考專案文件。

透過 Frp 轉送到內部連接埠

您需要先下載 fatedier/frp 的伺服器端程式,並嚴格使用我們提供的以下指令啟動。您可以適當修改連接埠以及 token,需要 frps 版本 > v0.45.0。

危險

轉送到公用網路是非常危險的行為,請勿心存僥倖,不要認為 IP 和連接埠非常隱密,請務必為服務啟用憑證驗證!
frps --token lamda --bind_addr 0.0.0.0 --bind_port 6009 --proxy_bind_addr 127.0.0.1 --allow_ports 10000-15000

根據指令,編寫 properties.local 設定項如下

fwd.host=您的伺服器公用網路位址
fwd.port=6009

fwd.rport=轉送目的連接埠(應在 allow_ports 範圍內)
fwd.token=lamda

fwd.protocol=tcp
fwd.enable=true

將以上設定附加或寫入到 properties.local,然後重新啟動 FIRERPA 服務即可。

透過 Frp 轉送到公用網路連接埠

如果您希望在任何地方都能連線到裝置,基於安全考量我們不建議這麼做。如果確實有此需求,建議使用 OpenVPN 相關功能,將裝置和您的電腦置於同一個網段下來存取。

危險

轉送到公用網路是非常危險的行為,請勿心存僥倖,不要認為 IP 和連接埠非常隱密,請務必為服務啟用憑證驗證!

若您仍準備使用上述 frp 的方法來實現任意存取,請先確保 FIRERPA 服務啟動時已使用服務憑證,並將上述內容中啟動 frps 指令的 --proxy_bind_addr 127.0.0.1 改為 --proxy_bind_addr 0.0.0.0。這將導致上述範例中的 12345 連接埠直接綁定到公用網路。如果您未使用服務憑證啟動 FIRERPA,任何人都能存取,這是非常非常危險的。請做好資料可能被惡意存取或毀損的心理準備。

連線至使用 Frp 轉送的裝置

由於上述文件將轉送的連接埠綁定到伺服器的 127.0.0.1,因此以下內容需要在部署了 frps 的公用網路伺服器本機上進行驗證。我們假設您的 fwd.rport12345 連接埠,以下將示範如何透過 Python 函式庫連線至裝置。

from lamda.client import *
d = Device("127.0.0.1", port=12345)

您也可以在伺服器上的瀏覽器中開啟 http?s://127.0.0.1:12345 來存取該裝置的遠端桌面。

透過 OpenVPN 組網實現

請查看如何部署 OpenVPN 伺服器的相關章節,以了解如何將裝置接入 OpenVPN 網路。

連線至使用 OpenVPN 組網的裝置

OpenVPN 組網後的裝置與您正常使用過程無異,您只需要將您的個人電腦也加入此 OpenVPN 網路,即可透過裝置的 OpenVPN 私有位址直接存取。您可以在 OpenVPN 的官方網站 openvpn.net/client 下載 OpenVPN Connect 客戶端以接入同一個網路。