
TL; DR: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ルーブル月のも、最も惨めなVPSの場合、あなたは幸運Aのであればスナッチ。
クリーンなマシンのルートからサーバー上ですべての操作を実行し、必要に応じて `sudo`を追加して、指示を調整します。
Wireguardは、安定をもたらすために時間を持っていないので、私は`のapt-編集sources`バックポートをやっていると、ファイルに2行を追加します。 パッケージは、通常の方法でインストールされています。 次に、キーペアを生成します。スキームに参加しているデバイスごとに、この操作をさらに2回繰り返します。別のデバイスのキーファイルへのパスを変更し、秘密キーのセキュリティを忘れないでください。 現在、構成を準備しています。構成はファイルに配置されます: セクション内
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プロトコルを選択すると、4つのタブがある設定フォームが開きます。

[一般設定]タブで、OpenWRT用に準備された秘密鍵とIPアドレスをサブネットとともにドライブする必要があります。

[ファイアウォール設定]タブで、インターフェイスをローカルネットワークに接続します。したがって、VPNからの接続はLANに自由にアクセスできます。

[ピア]タブで、唯一のボタンを押します。その後、更新されたフォームで、VPSサーバーデータ(公開キー、許可されたIP)を入力します(VPNサブネット全体をサーバーにルーティングする必要があります)。[エンドポイントホスト]と[エンドポイントポート]に、ListenPortディレクティブで指定されたポートを使用してVPSのIPアドレスをそれぞれ入力します。ルートを作成するには、[ルート許可IP]をオンにします。また、必ずPersistent Keep Aliveに入力してください。そうしないと、VPSからルーターへのトンネルトンネルがNATの背後にある場合に壊れます。


その後、設定を保存し、インターフェイスのリストが表示されているページで[保存して適用]をクリックします。必要に応じて、[再起動]ボタンを使用してインターフェイスを明示的に開始します。
スマートフォンのセットアップ
Wireguardクライアントが必要になります。これは、F-Droid、Google Play、およびAppStoreで入手できます。アプリケーションを開いた後、プラス記号を押し、[インターフェイス]セクションで、接続名、秘密鍵(公開鍵は自動的に生成されます)、およびマスク/ 32を使用した電話アドレスを入力します。[ピア]セクションで、VPS公開キーとアドレスのペアを指定します。エンドポイントとしてのVPNサーバーポートと、VPNおよびホームサブネットへのルーティングです。
電話からの太字のスクリーンショット

隅にあるフロッピーディスクをクリックし、電源を入れて...
完了
これで、ホームモニタリングにアクセスしたり、ルーター設定を変更したり、IPレベルで必要な操作を実行したりできます。
ローカルスクリーンショット


