VPN 到家庭 LAN

VPN 到家庭 LAN

TL博士:我在 VPS 上安裝 Wireguard,從 OpenWRT 上的家庭路由器連接到它,並從手機存取我的家庭子網路。

如果您將個人基礎設施保存在家庭伺服器上,或者家中有許多 IP 控制的設備,那麼您可能希望在工作場所、巴士、火車和地鐵上存取它們。 大多數情況下,對於類似的任務,IP 是從提供者購買的,然後將每個服務的連接埠轉送到外部。

相反,我設定了一個可以存取我的家庭 LAN 的 VPN。 此解決方案的優點:

  • 透明度: 在任何情況下我都有賓至如歸的感覺。
  • 簡單:設定好後就不用管了,無需考慮轉送每個連接埠。
  • Цена:我已經有一個 VPS;對於此類任務,現代 VPN 的資源幾乎是免費的。
  • 安全:沒有什麼突出的,你可以在沒有密碼的情況下離開 MongoDB,沒有人會竊取你的資料。

一如既往,也有缺點。 首先,您必須單獨配置每個客戶端,包括伺服器端。 如果您有大量想要存取服務的設備,這可能會很不方便。 其次,您可能有一個相同工作範圍的區域網路 - 您必須解決這個問題。

我們需要:

  1. VPS(在我的例子中是 Debian 10)。
  2. OpenWRT路由器。
  3. 電話。
  4. 帶有一些用於測試的 Web 服務的家庭伺服器。
  5. 直臂。

我將使用的 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 協議,將開啟一個帶有四個選項卡的設定表單。

VPN 到家庭 LAN

在「常規設定」標籤上,您需要輸入為 OpenWRT 準備的私鑰和 IP 位址以及子網路。

VPN 到家庭 LAN

在「防火牆設定」標籤上,將介面連接到本機網路。 這樣,來自 VPN 的連線將自由進入本地區域。

VPN 到家庭 LAN

在「對等點」標籤上,按一下「唯一」按鈕,然後以更新的形式填寫 VPS 伺服器資料:公鑰、允許的 IP(您需要將整個 VPN 子網路路由到伺服器)。 在端點主機和端點連接埠中,分別輸入 VPS 的 IP 位址以及先前在 ListenPort 指令中指定的連接埠。 檢查要建立的路由的路由允許 IP。 並且一定要填寫Persistent Keep Alive,否則如果後者位於NAT之後,從VPS到路由器的隧道將會被破壞。

VPN 到家庭 LAN

VPN 到家庭 LAN

之後,您可以儲存設置,然後在介面清單頁面上按一下「儲存並套用」。 如有必要,請使用「重新啟動」按鈕明確啟動該介面。

設定智慧型手機

您將需要 Wireguard 客戶端,它可以在 F-的Droid, Google Play 和應用程式商店。 打開應用程式後,按加號,然後在「介面」部分輸入連接名稱、私密金鑰(公鑰將自動產生)和帶有 /32 遮罩的電話地址。 在對等部分中,指定 VPS 公鑰、位址對:作為端點的 VPN 伺服器端口,以及到 VPN 和家庭子網路的路由。

粗體的手機截圖
VPN 到家庭 LAN

點擊角落裡的軟盤,將其打開並...

完成

現在您可以存取家庭監控、變更路由器設定或在 IP 層級執行任何操作。

本地截圖
VPN 到家庭 LAN

VPN 到家庭 LAN

VPN 到家庭 LAN

來源: www.habr.com

添加評論