Linux (openSUSE) 上のトンネル自体を介して OpenVPN サーバーを実行しているホストにアクセスすることは可能ですか?
たとえば、OpenVPN ホスト* の VPN IP が で10.125.0.1
、パブリック IP が の場合1.2.3.4
、 に送信されるトラフィックがトンネルを通過するようにしたいです(SSH 制限ファイアウォールをバイパスしようとしています)。ただし、 VPN がオンであっても、1.2.3.4
と の両方への SSH 接続は失敗します。10.125.0.1
1.2.3.4
OpenVPN ホスト上のtun
/tap
インターフェース ( )からの SSH 接続は単にブロックされているだけだと思いますが、これは問題ありません。ただし、 への接続は確実に通過するはずです。10.125.0.1
1.2.3.4
SSH クライアント マシン* のルーティング テーブルを確認したところ、デフォルト ルートは実際には VPN インターフェイスですが、接続は1.2.3.4
引き続き LAN ゲートウェイ ルートを経由しています。
// Route to VPN Server
user@host:~> sudo ip route get <OpenVPN Host IP>
<OpenVPN Host IP> via <LAN Gateway IP> dev wlan0 src <LAN Host IP> uid 0
cache
// Route to Google's DNS
user@host:~> sudo ip route get 8.8.8.8
8.8.8.8 via <VPN Gateway IP> dev vpn src <VPN Host IP> uid 0
cache
(わかりやすくするために、クライアントマシン上の VPN インターフェイスは と呼ばれますvpn
)
OpenVPN アプリで動作 (SSH) するため、電話 (Android) でこれを行うことが可能であることはわかっていますが、可能でしょうか。また、可能であれば、デスクトップではどのように実行できますか。
私の質問は、OpenVPN モバイル アプリとデスクトップ (Linux) バージョンの違いは何ですか?
*追加情報
OpenVPN サーバー:
- Ubuntu 18.04 マシン
- 技術的に実行する
SoftEther
VPN サーバーですが、OpenVPN エミュレーションを使用しています。モバイルでは OpenVPN アプリを使用して目的の結果を達成できるため、これが問題の原因である可能性はありません。 - パブリック IP
1.2.3.4
とプライベート (VPN) IP10.125.0.1
- VPNゲートウェイは
OpenVPN クライアント:
- openSUSE Leap 15.1 マシン
- OpenVPNサーバーに正常に接続しました
- IP以外のすべてのトラフィックは
OpenVPN Server
VPNを経由します - NetworkManager を通じて作成および管理される接続
- OpenVPN サーバー ホスト (両方の IP) に ping を実行できますが、これは VPN ではなく LAN ルート経由で発生します。
質問の言い回しが複雑すぎるように感じますので、必要であればコメントで説明を求めてください。
よろしくお願いします
答え1
技術的には可能ですが、うまく動作しません。
あなたの提案は、OpenVPN によって生成されたトラフィックをトンネル自体に送り込み、自分の尻尾を食べる蛇を生み出すことになります。
OpenVPNホスト*のVPN IPは10.125.0.1で、パブリックIPは1.2.3.4です。トラフィックを1.2.3.4に送信したいです。
パケットを 10.125.0.1 に送信したい場合、最終的には 1.2.3.4 宛ての別のパケットでラップすることになります。 パケットを 1.2.3.4 に送信するには、そのパケットを 10.125.0.1 にルーティングする必要があり、1.2.3.4 にパケットを送信する必要があり、これで循環が閉じられ、永久に繰り返されます。
Android では、アプリによって生成されたトラフィックは、携帯電話の OS によって実際にルーティングされる前にキャプチャされますが、ここではアプリと OS の間にレイヤーがありません。