家庭用LANへのVPN





TL; DR: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ルーブル月のも、最も惨めな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サブネット対応するピアに追加します。ではPrivateKeyPublicKey、それぞれ、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-DroidGoogle Play、およびAppStoreで入手できますアプリケーションを開いた後、プラス記号を押し、[インターフェイス]セクションで、接続名、秘密鍵(公開鍵は自動的に生成されます)、およびマスク/ 32を使用した電話アドレスを入力します。[ピア]セクションで、VPS公開キーとアドレスのペアを指定します。エンドポイントとしてのVPNサーバーポートと、VPNおよびホームサブネットへのルーティングです。



電話からの太字のスクリーンショット




隅にあるフロッピーディスクをクリックし、電源を入れて...



完了



これで、ホームモニタリングにアクセスしたり、ルーター設定を変更したり、IPレベルで必要な操作を実行したりできます。



ローカルスクリーンショット











All Articles