Page 1 of 1

複数のNICを使ったVPN通信の可否について

Posted: Mon Apr 19, 2021 11:07 am
by takker
こんにちは
回答者の皆様にはいつもお世話になっております。
表題の件について確認したい事があり投稿させていただきました。

複数のNICを使ったVPN通信の可否について、伺いたいです。実機を使えばすぐに分かると思うのですが、理由も含めて確認したいため質問させていただいております。
構成を図で表すと以下になります。

           softether SV
 VPN A─────物理NIC A───┐
            仮想HUB──LB接続─物理NIC C
 VPN B─────物理NIC B───┘

VPN A(物理NIC A)とVPN B(物理NIC B)は異なるネットワークアドレスです。
この構成において物理NIC Cから来る通信が、VPN AおよびVPN Bと適切に通信可能かを伺いたいです。
個人的な見解では仮想HUBではMacアドレスとVPNセッションを紐付けでいるので可能だと考えていますが、VPN AまたはVPN Bに適切にルーティングされるのかが気になっています。VPNセッション確立時にルーティングがセットされるのでデフォルトゲートウェイは気にしなくて良いのでしょうか。

何卒よろしくお願いします。

Re: 複数のNICを使ったVPN通信の可否について

Posted: Tue Apr 20, 2021 10:06 am
by cedar
VPN A と VPN B は何を表しているでしょうか?

Re: 複数のNICを使ったVPN通信の可否について

Posted: Tue Apr 20, 2021 10:46 am
by takker
cedar様

ご返事ありがとうございます。
分かりにくいのですが、VPN AとVPN Bは異なるVPNセッションであり、VPN AとVPN Bの先には異なるsoftether クライアントが存在します。
softetherクライアントは、それぞれ物理NIC A と物理NIC BのIPアドレスに向けてVPNセッションを行います。

Re: 複数のNICを使ったVPN通信の可否について

Posted: Tue Apr 20, 2021 7:49 pm
by cedar
根本的な誤解があるような気がします。

VPN Client を導入した PC が仮想 HUB を通じて通信を行うのは仮想 LAN カードです。
一般的な構成であれば、これら仮想 LAN カードには NIC C が接続している LAN のネットワークの IP アドレスを割り当てます。
このため VPN 内の通信では IP のルーティングは生じません。

VPN A の PC では、複数のネットワークに同時に接続する構成となるので、デフォルトゲートウェイの設定には注意する必要があります。
物理 NIC と仮想 LAN カードの、デフォルトゲートウェイへの通信に使用したい方のメトリックを小さくしてください。

Re: 複数のNICを使ったVPN通信の可否について

Posted: Wed Apr 21, 2021 9:04 am
by takker
cedar様

ご回答いただきありがとうございます。

すみません。当方の言い方に語弊ありました。

ここで気になっているのは、仮想LANカードに割り当てるネットワークではなく、物理NIC A や Bで使用するネットワーク、すなわち仮想LANカードから出てくるパケットをTLSでカプセル化した後のネットワークになります。

softether CL1 softether SV
仮想NIC ─ 物理NIC ────── 物理NIC A─┐

softether CL2          仮想HUB─LAN
仮想NIC ─ 物理NIC ────── 物理NIC B─┘

例えば上記で、右側のLANからCL1に対してパケットを送信した場合、
①仮想HUBで宛先仮想LANカードのMacアドレス情報をもとにどのVPNセッション先に送ればいいかsoftetherが判断する
②VPNセッションの情報から宛先IPアドレス(softether CL1の物理NICのIPアドレス)に送信する。ルーティングテーブルを見て物理NIC AからTLSでカプセル化したパケットを送信する

ということができるのかどうかが気になっております。
softether CL1と同様にCL2も同時に接続してる場合でも適切なCLに送信できるのでしょうか。(物理NICAとBのネットワークアドレスは異なります)

よろしくお願い致します。

Re: 複数のNICを使ったVPN通信の可否について

Posted: Wed Apr 21, 2021 9:33 am
by cedar
VPN サーバー側の NIC が省略され、物理 NIC A と仮想 HUB が直結されている図なのが誤解の元なのではないかという気がします。
仮想 HUB には、TCP/IP スタックで TCP が終端され OpenSSL で SSL が終端されて、カプセル化が解除されたパケットが入ってきます。
このため、物理 NIC で使用されている IP アドレスは仮想 HUB のレベルでは通信に関係しません。

①②のような動作となりますが、ルーティングを行うのは VPN サーバー自身ではなく VPN サーバーが動作している OS の TCP/IP スタックとなります。

Re: 複数のNICを使ったVPN通信の可否について

Posted: Wed Apr 21, 2021 10:46 am
by takker
cedar様

ご回答ありがとうございます。

cedar様のおっしゃる通り、物理 NIC A と仮想 HUB の直結が誤解を招いているのかも知れません。以後気をつけたいと思います。ご指摘ありがとうございます。

ご回答いただいた内容の通り、ルーティングがOSによるものであるならば、①②の動きになる事を理解できました。

今回もご回答いただき、誠にありがとうございました。