TL博士:我在 VPS 上安裝 Wireguard,從 OpenWRT 上的家庭路由器連接到它,並從手機存取我的家庭子網路。
如果您將個人基礎設施保存在家庭伺服器上,或者家中有許多 IP 控制的設備,那麼您可能希望在工作場所、巴士、火車和地鐵上存取它們。 大多數情況下,對於類似的任務,IP 是從提供者購買的,然後將每個服務的連接埠轉送到外部。
相反,我設定了一個可以存取我的家庭 LAN 的 VPN。 此解決方案的優點:
- 透明度: 在任何情況下我都有賓至如歸的感覺。
- 簡單:設定好後就不用管了,無需考慮轉送每個連接埠。
- Цена:我已經有一個 VPS;對於此類任務,現代 VPN 的資源幾乎是免費的。
- 安全:沒有什麼突出的,你可以在沒有密碼的情況下離開 MongoDB,沒有人會竊取你的資料。
一如既往,也有缺點。 首先,您必須單獨配置每個客戶端,包括伺服器端。 如果您有大量想要存取服務的設備,這可能會很不方便。 其次,您可能有一個相同工作範圍的區域網路 - 您必須解決這個問題。
我們需要:
- VPS(在我的例子中是 Debian 10)。
- OpenWRT路由器。
- 電話。
- 帶有一些用於測試的 Web 服務的家庭伺服器。
- 直臂。
我將使用的 VPN 技術是 Wireguard。 這個解決方案也有優點和缺點,我不會描述它們。 對於 VPN,我使用子網 192.168.99.0/24
,還有我家 192.168.0.0/24
.
虛擬專用伺服器配置
即使是最慘的 VPS,每月 30 盧布也足夠做生意了,如果你夠幸運擁有一個的話
我在乾淨的機器上以 root 身份執行伺服器上的所有操作;如有必要,請添加“sudo”並調整說明。
Wireguard 沒有時間進入穩定狀態,因此我運行 apt edit-sources 並在文件末尾的兩行中添加向後移植:
deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main
該軟體包以通常的方式安裝: apt update && apt install wireguard
.
接下來,我們產生密鑰對: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public
。 對參與電路的每個設備再重複此操作兩次。 更改另一台裝置的金鑰檔案的路徑,不要忘記私鑰的安全性。
現在我們準備配置。 至文件 /etc/wireguard/wg0.conf
配置放置:
[Interface]
Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=
[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24
[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32
在該部分 [Interface]
指示機器本身的設置,並在 [Peer]
— 對於那些將連接到它的人的設定。 在 AllowedIPs
以逗號分隔,指定將路由到對應對等方的子網路。 因此,VPN 子網路中「客戶端」設備的對等點必須具有遮罩 /32
,其他一切都將由伺服器路由。 由於家庭網路將透過 OpenWRT 進行路由,因此 AllowedIPs
我們加入對應對等點的歸屬子網路。 在 PrivateKey
и PublicKey
相應地分解為VPS產生的私鑰和對等點的公鑰。
在 VPS 上,剩下的就是執行開啟介面並將其新增至自動執行的命令: systemctl enable --now wg-quick@wg0
。 可以透過命令查看目前連線狀態 wg
.
OpenWRT配置
此階段所需的一切都在 luci 模組(OpenWRT Web 介面)中。 登入並開啟「系統」選單中的「軟體」標籤。 OpenWRT 不會在電腦上儲存快取,因此您需要透過點擊綠色的更新清單按鈕來更新可用軟體包的清單。 完成後,駛入過濾器 luci-app-wireguard
然後,查看具有漂亮依賴關係樹的窗口,安裝此軟體包。
在“網路”選單中,選擇“介面”,然後按一下現有介面清單下的綠色“新增介面”按鈕。 輸入姓名後(也 wg0
在我的例子中)並選擇 WireGuard VPN 協議,將開啟一個帶有四個選項卡的設定表單。
在「常規設定」標籤上,您需要輸入為 OpenWRT 準備的私鑰和 IP 位址以及子網路。
在「防火牆設定」標籤上,將介面連接到本機網路。 這樣,來自 VPN 的連線將自由進入本地區域。
在「對等點」標籤上,按一下「唯一」按鈕,然後以更新的形式填寫 VPS 伺服器資料:公鑰、允許的 IP(您需要將整個 VPN 子網路路由到伺服器)。 在端點主機和端點連接埠中,分別輸入 VPS 的 IP 位址以及先前在 ListenPort 指令中指定的連接埠。 檢查要建立的路由的路由允許 IP。 並且一定要填寫Persistent Keep Alive,否則如果後者位於NAT之後,從VPS到路由器的隧道將會被破壞。
之後,您可以儲存設置,然後在介面清單頁面上按一下「儲存並套用」。 如有必要,請使用「重新啟動」按鈕明確啟動該介面。
設定智慧型手機
您將需要 Wireguard 客戶端,它可以在
粗體的手機截圖
點擊角落裡的軟盤,將其打開並...
完成
現在您可以存取家庭監控、變更路由器設定或在 IP 層級執行任何操作。
本地截圖
來源: www.habr.com