特定のIP /ネットワークインターフェイスから商用VPNラインバッカーインターフェイスにトラフィックをルーティングする方法は?

特定のIP /ネットワークインターフェイスから商用VPNラインバッカーインターフェイスにトラフィックをルーティングする方法は?

私のデバイスは、TailscaleネットワークのVPSにルーティングされるTailscaleネットワークを持つ設定を実装しようとしています。出口ノードただし、出口ノードは ProtonVPN ラインマントンネルを介して関連トラフィックを転送できます。これに対する主な動機は、私のAndroidクライアントが一度に1つの「常時接続」VPN接続しか持てないことです。これを行うには、次の中から選択する必要があります。誰でもTailscaleまたはProtonVPNに接続します。

同時に、出口ノードで「終了」するトラフィック(たとえば、VPSのTailscale IPへのSSH接続)がアップストリームVPNに転送されないようにしたいと思います。 Tailscaleに慣れていない人のためにtailscale0Tailscaleと呼ばれるツールを提供します。100.64.0.0/10 デバイス範囲。さらに、VPSホストにはHTTP / HTTPSを介してパブリックインターネットにWebサービスを公開する複数のDockerコンテナがあり、これらのサービスに引き続きアクセスできるようにしたいです。

次の図は、必要な設定(およびVPSのネットワークインターフェイス)をまとめたものです。 必須 Tailnet、VPS、VPN の設定

net.ipv4.ip_forward = 1VPS出口ノードでIP転送を設定して有効にしましたnet.ipv6.conf.all.forwarding = 1。私はufwが有効なUbuntu 22.04を実行しており、ポート80、443、およびSSHを許可しています。

ProtonVPNが提供するワイヤガードの構成は次のとおりです。

[Interface]
PrivateKey = <REDACTED>
Address = 10.2.0.2/32
DNS = 10.2.0.1

[Peer]
PublicKey = <REDACTED>
AllowedIPs = 0.0.0.0/0
Endpoint = <PROTON VPN SERVER>:51820

この設定を設定しましたが、/etc/wireguard/wgpvpn0.conf実行するとwg-quick up wgpvpn0VPSにSSHで接続できなくなり(パブリックインターネットインターフェイスまたはTailscaleインターフェイスを介して)、パブリックインターフェイスを介して公開されたポート80/443でホストされているすべてのサービスにアクセスできなくなります。私はこれがすべてのトラフィックのデフォルトゲートウェイになるインターフェイスのAllowedIPs = 0.0.0.0/0ためだと思います。wgpvpn0

解決策はファイアウォール/ルーティングルールを追加するためにwireguard設定を使用することだと思いますPreUp/PostDownが、iptablesに慣れていないので、何を追加するのかわかりません。私に必要なルールは次のとおりです。

  • 次の特性を持つすべてのトラフィック最終目的地100.64.0.0/10 の範囲のネットワークは、Tailscale ネットワークインターフェイスで管理する必要があります。
  • 何でも最終目的地Tailscale出口ノードIP情報は出口ノードで処理する必要があります。私は上記のルールがTailscaleインターフェイスを介してこれを処理すると思います。
  • 次の特性を持つすべてのトラフィック最終目的地VPSのパブリックIPに関する情報は、VPSによって処理されなければなりません(たとえば、インターフェイスを介して受信され、ens3私のVPSで実行されるリバースプロキシによって処理されます)。
  • 私のTailscaleネットワーク(Tailscaleインターフェイスによって受信されることを意味します)からVPS出口ノードに転送されるすべてのトラフィックは次のとおりです。最終目的地パブリックインターネット上のネットワークはProtonVPN Linemanインターフェイスを介してルーティングする必要があります。そのため、反対方向の反応が流れなければなりません。 (たとえば、Tailscaleネットワーク経由でgoogle.comのAndroidクライアントにログインするリクエスト - > tailscaleネットワークのVPS - > VPSのProtonVPNトンネル - >インターネット経由でGoogleサーバーにログインする応答 - > VPSのProtonVPNトンネル - > tailscaleネットワークVPSをオンにする-> Android Tailscaleネットワークのクライアント)
  • VPSのすべてのトラフィックはProtonVPNトンネル(現在0.0.0.0 / 0が使用されている)を使用する必要があります。

誰でも助けることができますか?

ベストアンサー1

おすすめ記事