web-dev-qa-db-ja.com

Windows-単一の物理インターフェイスを介した仮想インターフェイスの作成

少し背景(なぜ私がこれをしたいのか)

My Local Cable Operator(LCO)は、2つの異なるISPにラストマイルインフラストラクチャを提供しています。たとえば、ISP-1とISP-2です。顧客は任意の優先ISPの料金を支払い、そのISPを使用できます(物理ファイバー回線は、両方のISPのLCOスイッチからカスタマーホームまで同じです。ユーザーがISPを変更した場合、物理接続を変更する必要はありません)。私は両方のISPの料金を支払い、両方のISPから接続の詳細を入手しました。イーサネットインターフェイスで任意のISPIP /サブネットを指定でき、データはそのISPを通過します。現在、LCOの元のトポロジはありませんが、単純化された可能性のあるトポロジを次に示します。

Simplified network topology

今、私のコンピューター(OS-Windows)にはイーサネットが1つしかありませんNICですが、両方のISPを使用し、1つのISPがダウンした場合に備えて自動フェイルオーバーを実装したいと思います。基本的な手順I考えは:

  1. IP /サブネットの両方を単一のイーサネットインターフェイスに割り当てることができ、静的ルートを指定することができました。これは機能しますが、どのISPがアップ/ダウンしているかを検出するための洗練されたソリューションではありません。

  2. 2つの異なるネットワークインターフェイス(1つは物理インターフェイスと1つは仮想インターフェイス)がある場合、両方のISPにping -S <interfaceIP> 8.8.8.8を使用して、UP/DOWNステータスを検出できます。

これが、物理NIC上に仮想インターフェイスを作成する必要がある理由です。

私がこれまでにしたこと

  1. 提案されているようにTAP仮想アダプタを使用しようとしました ここ しかし、「ネットワークケーブルが接続されていません」と表示されます。物理インターフェイスにブリッジしようとしましたが、機能しませんでした。ブリッジに指定できるIPは1つだけで、インターフェイス(物理および仮想)の両方のIPが消えました。

  2. この回答 に従い、Hyper-V外部仮想スイッチを使用しようとしました。仮想スイッチ->プロパティ-> IPV4で2番目のISPIP /サブネットに入りました。そして、物理的なメインイーサネットインターフェイスで最初のISP IP /サブネットに入りました(仮想スイッチがIPV4を無効にしたため、このインターフェイスでIPV4を有効にする必要がありました。理由はわかりません)。今、それは魅力のように機能します。

Final status

助けが必要なもの

これまでHyper-V仮想スイッチを使用したことがないため、少し混乱しています。

  1. スイッチにIPアドレスがあるのはなぜですか?スイッチはL2デバイスであり、仮想スイッチと呼ばれます。

  2. 仮想スイッチを作成した後、元の物理インターフェイスでIPV4、Microsoftネットワークのクライアントなどを無効にするのはなぜですか?プロパティから手動で再度有効にしましたが、このセットアップは2番目の仮想インターフェイスを作成しなくても機能しました。

  3. 上記の answer (私が解決策を得たところから)について、その人は「同じ仮想スイッチの下に2つの仮想インターフェイスを作成できます」とコメントしました。どうやってやるの?

  4. 仮想TAPアダプターに同じ物理イーサネットNICを使用させる方法はありますか?

  5. 私がやろうとしていることを達成するためのより簡単な方法はありますか?

現在、受け入れられた回答は質問1と3を説明しています。他の質問についてのヘルプは大歓迎です。

1
Sourav Ghosh

基本的な概要:

  • Hyper-V機能を有効にします。
  • 管理OS(別名)に仮想ネットワークインターフェイス(vNIC)を自動的に追加するHyper-V仮想スイッチを追加します。ホストOS。
  • 必要に応じて、管理OSに別のvNICを追加します。
  • 両方のvNICでIPアドレスを構成します。実際のネットワークインターフェイスでIPアドレスを追加/構成しないでください。これについては後で詳しく説明します。

ネットワーク設定:

たとえば、ネットワークアダプタの詳細は次のとおりです。インターフェイス名は他のシステムでは異なります。

  • Ethernet0:デフォルトのネットワークインターフェース。
  • vEthernet(デフォルトスイッチ):Hyper-Vはこれをデフォルトでインストールします。現在のQ&Aではこれを無視してください。
  • S1:仮想ネットワークスイッチ名。
  • vEthernet(S1):仮想スイッチS1に接続された最初のvNIC。
  • vEthernet(S1)2:コマンドラインから作成された仮想スイッチS1に接続された2番目のvNIC。

手順:

  • Hyper-V機能を有効にする このコマンド_OptionalFeatures.exe_を使用してPowershellを管理者として(または_Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All_を使用して)、システムを再起動します。

  • Hyper-V仮想ネットワークスイッチ を追加するには、スタートメニューまたは[ファイル名を指定して実行]ダイアログボックスからHyper-Vマネージャーを開き、_virtmgmt.msc_と入力します。 [仮想スイッチマネージャー]> [新しい仮想ネットワークスイッチ]> [外部タイプの選択]> [仮想スイッチの作成]> [OK]に移動します。

  • その仮想ネットワークスイッチに外部タイプを選択することが重要です。詳細については、 この記事 を参照してください。外部スイッチタイプは、物理アダプタに接続する必要があります。これにより、物理ネットワークと管理オペレーティングシステムおよび仮想マシン上のvNIC間の通信が可能になります。

External_Type_Virtual_Switch

  • 「管理オペレーティングシステムにこのネットワークアダプタの共有を許可する」オプションを有効にします。これにより、Hyper-Vホスト/管理OSが仮想スイッチの使用を共有できるようになります。

Allow_Management_OS

  • [OK]を押して、その仮想スイッチを作成します。ネットワークコントロールパネル(_ncpa.cpl_)には、S1仮想スイッチに接続されたvEthernet (S1)仮想ネットワークインターフェイスがあります。 Hyper-Vマネージャーでは、別のvNICを作成できません。別のコマンドを作成するには、Powershellで管理者_Add-VMNetworkAdapter_としてこのコマンド( _Add-VMNetworkAdapter -Switch S1 -ManagementOS_ )を実行します。 vEthernet (S1) 2が作成されます。このスクリーンショットを参照してください:

List_Of_Network_Interfaces

  • vEthernet (S1)vEthernet (S1) 2を2つの異なるISP提供のIPアドレスで構成します。実際のNICでIPv4またはIPv6設定を追加/構成/有効にしないでください。このスクリーンショットを参照してください。 _Ethernet0_では、「Hyper-V拡張可能仮想スイッチ」コンポーネントのみが有効になっています。

Real_NIC_Configurations

ネットワークトポロジは次のとおりです。

_    Physical Network Interface
            |
            |
    Hyper-V Virtual Switch (S1)
            |
            |
+-----------+------------------+------------------- other vNIC in VM
|                              |
vEthernet (S1)                 vEthernet (S1) 2
(172.22.36.151/25)             (172.30.138.151/24)
Host OS                        Host OS
_
3
Biswapriyo