静的 IP (NAT?) 経由で VM にアクセスする

静的 IP (NAT?) 経由で VM にアクセスする

マシン 62: Ubuntu 16.04、インターネットにアクセス可能、インターネット経由でアクセスできます。62 マシンには、VM (Ubuntu) を備えた VirtualBox があります。

VM を「通常の」マシン (IP 要求) のように動作させたいと思います。そのために静的 IP を予約しましたが、通常ホスト マシンに ping するのと同じように (62 ではなく予約済み IP 経由で) ゲスト マシンに ping できるようにホストとゲストのインターフェイスを構成する方法がわかりません。

ReverseProxy はしばらくは機能していましたが、その後、事前にわからないポートを介した Websocket が必要になりました。そこで、次に思いつくのは NAT でしょうか? IP 転送でしょうか? ブリッジ ネットワークでしょうか? マスカレードでしょうか?

答え1

ホストと VM の間にブリッジ ネットワークを作成する必要があります。構成はハイパーバイザー ベンダーによって異なります。

Oracle Virtual Boxを使用している場合

  1. を開きOracle VM VirtualBox Manager、VM を選択して、ネットワーク セクションに移動します。
  2. タブでAdopter 1デフォルトを変更しNAT、ドロップダウンBridged Adopterからホストのネットワーク アダプターを選択します。適用します。Name
  3. 次に、静的、動的などの ISP の構成に従って、VirtualBox 内でネットワークを構成します。

使用している場合QEMU-KVM

  1. GUIツールを開くVirtual Machine Manager(GUIを使用している場合)
  2. 特定の仮想マシンを選択しOpenNIC
  3. デフォルトを変更しNATHost Device xxxxxx: macvtap適用し、ISP の構成に従って仮想マシン内のネットワークを構成します。
  4. GUI ツールがない場合は、virsh edit virtual-machine-name前述のように構成を使用して変更します。

3 番目の代替案は、iptable NATホストでルールを作成することです。次に、その IP (VM に割り当てる IP) へのすべてのトラフィックを VM の内部 IP アドレスに転送します。数行記述する必要があります。Google でiptables検索してください。ただし、私にとっては、これは最も好ましくない方法です。

注-1 Bridged Networkホスト内のmacvtapほとんどのアダプタでは動作しません。WiFi

注-2ホストは VM からアクセス不能になりmacvtap、その逆も同様です。両方とも外部ネットワークからはアクセス可能です。さらに、複数の VM がある場合、それらは相互にアクセス可能なままです。これがmacvtap動作方法です。ホストから VM にアクセスし、その逆を行うには、Oracle VirtualBox の場合は NAT アダプタをもう 1 つ作成し、QEMU-KVM の場合は NAT 付きの NIC をもう 1 つ作成します。

注3すでに質問で述べたように、ホストのネットワーク アダプタの両方Bridged Networkで、 VM ごとに IP アドレスが予約されている必要があります。macvtap

関連情報