次の設定でUbuntu 14.04 LTSのVirtulBox 5にNATネットワークを作成しました
Natework Name:NatNetwrok1
ネットワークCIDR:10.0.2.0/24
DHCPのサポート:有効
IPv6のサポート:無効
ポート転送なし
さらに、2つのVM(Xubuntuクローンの両方)があり、4つのアダプターすべてで次の設定でVMのそれぞれで2つのNICを有効にするようにネットワーク設定を設定しました。
添付先:「NATネットワーク」
名前:「NatNetwrok1」
両方のVMを実行すると、ifconfigコマンドの実行に関する次の設定が表示されます
xubuntu1でのifconfigの結果
eth0 Link encap:Ethernet HWaddr 08:00:27:00:8c:03
inet addr:10.0.2.9 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12133 (12.1 KB) TX bytes:8517 (8.5 KB)
eth1 Link encap:Ethernet HWaddr 08:00:27:9e:20:e8
inet addr:10.0.2.8 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10294 (10.2 KB) TX bytes:8798 (8.7 KB)
xubutracentu2でのifconfigの結果
eth0 Link encap:Ethernet HWaddr 08:00:27:00:8c:03
inet addr:10.0.2.9 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12133 (12.1 KB) TX bytes:8517 (8.5 KB)
eth1 Link encap:Ethernet HWaddr 08:00:27:9e:20:e8
inet addr:10.0.2.8 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10294 (10.2 KB) TX bytes:8798 (8.7 KB)
これら4つのIP間のpingは正常に動作します
しかし、これらのVMのいずれでもインターネットにアクセスできません
「NATネットワーク」を「NAT」に変更すると、ネットワークにアクセスできますが、別の仮想ネットワークの一部になり、相互にpingできません
誰でも問題の特定と修正を手伝ってくれますか
誰もNATとNATネットワークの違いを説明できますか
16.04(おそらく14.04)では、VirtualBox(5.0.36)のメインパッケージバージョンのNATネットワーク機能は- バグあり 。
自分で確認できます。ls /usr/lib/virtualbox/VBoxNetNAT
実行可能ファイルが存在する場合は、他の種類の問題が発生している可能性があります。
このバグは新しいバージョンで修正されています。したがって、新しいバージョンをインストールする必要があります。
たとえば、apt
を使用してインストールした場合、次を実行できます。
Sudo apt remove virtualbox --auto-remove
この修正は、新しいバージョン(Ubuntu yakkety +)で利用可能です。古いバージョンの場合:
次のスクリプトを使用します。
# add the official repository
wget -q -O - https://www.virtualbox.org/download/Oracle_vbox_2016.asc | Sudo apt-key add -
echo deb http://download.virtualbox.org/virtualbox/debian `lsb_release -cs` non-free contrib | Sudo tee /etc/apt/sources.list.d/virtualbox.org.list
# install the newer version
Sudo apt install virtualbox-5.1
デフォルトのaptリポジトリからVirtualBox 5.0.40を使用してこれに遭遇しました。それを回避するために、2つのネットワークインターフェイスを使用するように各VMを構成しました。
Guets OS(Ubuntu 16.04)では、2番目のインターフェイスが表示されるように/etc/network/interfaces
を微調整する必要があります。私の場合、NATネットワーク内で静的IPを使用するためにVMが必要だったため、これが得られました。
## Bridge to Internet
auto enp0s3
iface enp0s3 inet dhcp
## NAT Network among VMs
## Static is optional
## DHCP if you don't need it
auto enp0s8
iface enp0s8 inet static
address 10.10.11.100
netmask 255.255.255.0
もちろん、これは私のNATネットワークがサブネット10.10.11.0/24
を使用することを前提としています。シナリオに合わせて数値を調整するか、必要に応じてdhcpにそのままにしてください。
注:静的構成で注意すべき重要なことは、この特定のシナリオでは、デフォルトゲートウェイを割り当てることができないということです。 enp0s8
にデフォルト(10.10.11.1など)を指定すると、OSがこのゲートウェイへのルートを作成し、そのルートもインターネットアクセスを台無しにする可能性があります。これを行う必要があるのは、この特定のインターフェースが、それに設定されたものとは別に、他のネットワークへのルートを必要とする場合のみです。
Ubuntuが環境に割り当てたインターフェイス名を見つけるには、dmesg | grep eth
を使用できます。
VirtualBoxのマニュアルによると、これらはVMのネットワークの可能性です。
NAT:VMとホスト間の内部ネットワーク。また、インターネットにアクセスできます。 NATモードの2つ以上のVMは、ホストとインターネットのみで接続できません。
Internal:この構成のすべてのVMは、それらの間で接続できますが、ホストやインターネットとは接続できません。
ホストのみ:ホストとこの構成のすべてのVMの間に仮想ネットワークが作成されますが、インターネットにアクセスできません。
NATネットワーク:同じ事前定義されたNATネットワークおよびホスト内のすべてのVMに到達できますが、できませんインターネットに接続します。
Bridged:あなたのVMは、ホストと同じネットワーク内にあり、このネットワーク内の他のコンピューター/サーバーであるかのように、したがって、ホストが持っている場合、インターネットアクセスがあります。
汎用:高度でより具体的な設定はほとんど使用されません。
したがって、ホストに接続できる内部ネットワークを作成する場合は、NAT Networkを選択しますが、インターネットにアクセスできないことに注意してください。 NATは、VMからのみインターネットにアクセスしたい場合にのみ設定されます。
ただし、両方のVMとインターネット間で接続を行いたい場合、これらの設定はいずれも大丈夫です。私の知る限り、唯一の選択肢は両方の仮想マシンをブリッジモードで構成することです。したがって、ホストネットワーク内の「異なる」コンピューターになり、すべての仮想マシンとインターネットからpingを実行できます。
一方、両方のマシンが同じMACアドレス(HWaddrのifconfigコマンド情報)を持っているため、一方からVMをクローンしたようです。クローンを作成するときに「すべてのネットワークカードのMACアドレスを再初期化する」というチェックボックスをオンにする必要があります。同じMACアドレスを持つ2つのデバイスは常に問題を引き起こします。
私はVirtualBoxの専門家ではないので、おそらく他のユーザーが他の可能な構成を教えて、あなたが望むものを手に入れることができます。この情報がお役に立てば幸いです。
詳細については、 this を参照してください。
これはVirtualBoxのバグである可能性があります。同じことを経験しました(Ubuntu 16.04.2 LTS、VirtualBox 5.0.32_Ubuntu r112930):NATネットワークをセットアップし、2つのUbuntu VM用に構成しました。各VMは、相手にping/SSHでき、ポート転送を介して、ホストから各VMにSSHで接続できました。ただし、VM内部からのインターネットアクセスはありません。同僚がWindowsホスト、VirtualBox(未知のバージョン)、および同じVMで同じことを試みましたが、うまくいきました。
回避策として、各VMに2番目のネットワークカードを構成しました。最初のネットワークカードはNATを使用してインターネットにアクセスし、2番目は「NATネットワーク」を使用して他のゲストにアクセスします。最初の(NAT)カードでSSHポートフォワーディングを設定し、1つのVM(つまり、VM1で2222-> 22-VM2で2223-> 23)に別のSSHポートを構成する必要がありました。
ドキュメント に基づいて、NATとNATネットワークの両方がインターネットにアクセスできる必要があります。違いは、最初のホストはホスト↔ゲスト接続を分離しているため、ゲストは相互にアクセスできず、ホストのみにアクセスできることです。後者は、すべてのゲストを単一のネットワークにプールし(そしてDHCPなどのサービスを提供します)、お互いにアクセスできるようにします。