この現代のビジネス世界では、ネットワーキングはインタラクティブなコンピューター操作の重要な要素です。すべてが急速に変化する世界で、コンピューター間でデータをやり取りする方法をネットワークなしで想像するのは難しいです。ハードウェア仮想化の中心的なアイデアの1つは、物理コンピューターが使用される場合とほぼ同じ場合に仮想マシンを使用できる可能性です。
したがって、仮想マシンは仮想ネットワークアダプターを使用して物理および仮想ネットワークに接続できる必要があります。VirtualBoxで実行されている仮想マシンは、異なるネットワークに接続できます。VirtualBoxは仮想マシンのために複数のネットワークモードを提供します。このブログ投稿では、VirtualBoxネットワーク設定について説明し、必要に応じてVirtualBoxを最適に構成するのに役立つ情報を提供します。
仮想ネットワークアダプター
各VirtualBox VMは最大8つの仮想ネットワークアダプターを使用できます。それぞれがネットワークインターフェイスコントローラー(NIC)として参照されます。VirtualBox GUI(グラフィカルユーザーインターフェイス)で4つの仮想ネットワークアダプターを設定できます。すべての仮想ネットワークアダプター(最大8つ)はVBoxManage modifyvmコマンドで構成できます。VBoxManageはVirtualBoxのコマンドライン管理ツールであり、VirtualBoxネットワーク設定を含むすべてのVirtualBox設定の構成に使用できます。VirtualBoxのネットワークアダプター設定には、仮想マシン設定(VMを選択して設定をクリックし、VM設定ウィンドウのネットワークセクションに移動します)。
四つのアダプタータブが表示されます。仮想マシンの作成後、1つの仮想ネットワークアダプターがデフォルトで有効になります。アダプターを有効にするには「ネットワークアダプターを有効にする」チェックボックスをオンにし、アダプターを無効にするにはチェックボックスをオフにします(このチェックボックスは、仮想ネットワークアダプターデバイスがVMに接続されているかどうかを定義します)。
「詳細」をクリックして、高度なVirtualBoxネットワークアダプター設定を展開します。
VirtualBoxの仮想ネットワークアダプターの種類
A virtual network adapter is a software-emulated physical device. There are six virtual adapter types that can be virtualized by VirtualBox.
- AMD PCnet-PCI II (Am79C970A)。このネットワークアダプターは、AMDチップに基づいており、多くの状況で使用できます。Windowsゲストに関しては、このネットワークアダプターは古いWindowsバージョン(Windows 2000など)に使用できますが、Windows 7、8、10などの新しいWindowsバージョンにはこのアダプターのための組み込みドライバーが含まれていません。もともと、Am79C970A PCIデバイスには単一チップの10-Mbitコントローラーが含まれており、DMAエンジンが統合されていました。このネットワークアダプターは、AMDのマジックパケット技術もサポートしています。
- AMD PCnet-FAST III (Am79C973)。この仮想化されたネットワークアダプターは、VirtualBoxで実行できるほとんどすべてのゲストオペレーティングシステムに対応しています。GRUB(ブートローダー)は、ネットワークブート用にこのアダプターを使用できます。前述のネットワークアダプターと同様に、これもAMDチップに基づいています。
- Intel PRO/1000 MT Desktop (82540EM)。このアダプターは、Windows Vistaおよびそれ以降のWindowsバージョンと完全に動作します。ほとんどのLinuxディストリビューションもこのアダプターをサポートしています。
- Intel PRO/1000 T サーバー (82543GC)。Windows XP は追加のドライバをインストールせずにこのアダプタを認識します。
- Intel PRO/1000 MT サーバー (82545EM)。このアダプタモデルは、他のプラットフォームから OVF テンプレートをインポートするのに便利で、インポートプロセスを容易にすることができます。
- Paravirtualized Network Adapter (virtio-net) は特殊なケースです。ほとんどのオペレーティングシステムでサポートされているネットワークハードウェアを仮想化する代わりに、ゲストオペレーティングシステムは仮想化された環境用の特別なソフトウェアインターフェースを提供する必要があります。このアプローチにより、ネットワークハードウェアのエミュレートの複雑さを回避し、その結果、ネットワークパフォーマンスを向上させることができます。
業界標準の virtIO ネットワークドライバは、VirtualBox でサポートされています。VirtIO ネットワークドライバは、KVM プロジェクトの一部であり、オープンソースです。これらのドライバは、カーネル 2.6.25 以降の Linux および Windows (Windows 2000、XP、Vista を含む) に利用可能です。
Jumbo フレームのサポート
VirtualBox は、ジャンボフレーム (パケットのサイズが 1,500 バイトを超えるイーサネットフレーム) に対して限られたサポートを提供しています。ジャンボフレームを使用する必要がある場合は、Intel 仮想化ネットワークアダプタを選択し、そのアダプタをブリッジモードで動作するように構成してください。AMD ベースの仮想ネットワークアダプタはジャンボフレームをサポートしていません。AMD ベースの仮想ネットワークアダプタでジャンボフレームを有効にしようとすると、入力および出力トラフィックのジャンボフレームは静かに破棄されます。ジャンボフレームはデフォルトで無効になっています。
VirtualBox ネットワークモード
VirtualBoxは、さまざまなネットワークモードを提供しており、これはVirtualBoxネットワーク設定の最も興味深い機能の1つです。各仮想ネットワークアダプタは、異なるネットワークモードで動作するように個別に構成できます。たとえば、アダプタ1にはNATモードを設定し、アダプタ2にはHost-onlyモードを設定できます。ネットワークモードはAttached toドロップダウンメニューで選択できます。
それでは、それぞれのVirtualBoxネットワークモードを詳しく考えてみましょう。
Not attached
A virtual network adapter is installed in a VM, but the network connection is missing, much like when you unplug the Ethernet network cable when using a physical network adapter. This mode can be useful for testing. For example, you can enable this network mode for a short time to emulate unplugging the cable. When you disable the Not Attached mode by switching to another network mode, the network connection becomes available again. You can also check whether a DHCP client obtains the IP address correctly, whether the appropriate application can resume downloading after link interruption or packet loss, and so on.
Not Attachedネットワークモードを使用する代わりに、Cable Connectedチェックボックスをオンにせずに他のネットワークモードを使用できます。VMが実行中の状態でチェックボックスのオン/オフを切り替えることができます(上記のスクリーンショットを参照)。VMネットワーク構成の変更を適用するには、OKをクリックしてください。
NAT
このネットワークモードは、仮想ネットワークアダプタにデフォルトで有効になっています。VM上のゲストオペレーティングシステムは、仮想NAT(Network Address Translation)デバイスを使用して物理的なローカルエリアネットワーク(LAN)内のホストにアクセスできます。外部ネットワーク(インターネットを含む)は、ゲストOSからアクセスできます。ゲストマシンは、VirtualBoxのネットワークにNATモードが使用されている場合、ホストマシンやネットワーク内の他のマシンからアクセスできません。このデフォルトのネットワークモードは、たとえばインターネットアクセスのためだけにVMを使用したいユーザーには十分です。
VMネットワークアダプターのIPアドレスはDHCP経由で取得され、このネットワークモードで使用されるネットワークのIPアドレスはGUIで変更できません。VirtualBoxには組み込みのDHCPサーバーとNATエンジンがあります。仮想NATデバイスは、VirtualBoxホストの物理ネットワークアダプターを外部ネットワークインターフェースとして使用します。NATモードで使用される仮想DHCPサーバーのデフォルトアドレスは10.0.2.2です(これはVMのデフォルトゲートウェイのIPアドレスでもあります)。ネットワークマスクは255.255.255.0です。
2台以上のVMのネットワークアダプターをNATモードで構成すると、各VMはプライベート仮想NATデバイスの背後に独自の分離されたネットワークで10.0.2.15 IPアドレスを取得します。各VMのデフォルトゲートウェイは10.0.2.2です。VirtualBoxでは、NATモードを使用するとIPアドレスが変更されません。
VMのVBoxManageでNATモードを有効にするには、次のコマンドを実行します:
ここで:
- VM_nameは仮想マシンの名前です;
- nic1は仮想ネットワークアダプターの番号です;
- natは設定する必要のあるVirtualBoxネットワークモードの名前です。
ポートフォワーディングは、VirtualBox VMネットワーク設定ウィンドウからポートフォワーディングボタンをクリックすることで直接設定できます(上のスクリーンショットで確認できます)。VirtualBoxネットワーク設定でポートフォワーディングを構成する方法の詳細については、ネットワークモードセクションの後に以下で説明します。
NATネットワーク
このモードは、ルーターを設定する際に使用するNATモードに類似しています。複数の仮想マシンにNAT Networkモードを使用すると、それらはネットワークを介して互いに通信できます。VMは物理ネットワークの他のホストにアクセスし、インターネットを含む外部ネットワークにアクセスできます。ホストマシンに接続されている物理ネットワークまたは外部ネットワークからの任意のマシンは、NAT Networkモードを使用するように構成されたVMにアクセスできません(自宅ネットワークからのインターネットアクセスを構成する場合と同様)。NAT Networkモードを使用する場合、ホストマシンからゲストマシンにアクセスすることはできません(グローバルVirtualBoxネットワーク設定でポートフォワーディングを構成していない限り)。組み込みのVirtualBox NATルーターは、VirtualBoxホストの物理ネットワークインターフェースを外部ネットワークインターフェースとして使用します(NATモードの場合と同様)。
ネットワークアドレスと名前は、グローバルVirtualBoxの設定(ファイル>設定)で変更できます。 設定ウィンドウの左側のペインで、ネットワークを選択してグローバルVirtualBoxネットワーク設定にアクセスし、既存のNATネットワークをダブルクリックして設定を編集します(+アイコンまたはxアイコンをクリックして新しいネットワークを追加または既存のネットワークを削除することもできます)。
表示される小さなポップアップウィンドウでは、DHCP、IPv6の有効化/無効化、ポートフォワーディングの構成も可能です。
NatNetworkのデフォルトアドレスは10.0.2.0/24です。
デフォルトゲートウェイのIPアドレスは10.0.2.1です(x.x.x.1のテンプレートがデフォルトゲートウェイIPを割り当てるために使用されます)。例えば、VirtualBoxでNATネットワークモードの新しい仮想ネットワークを作成し、192.168.22.0/24のネットワークアドレスを設定した場合、このネットワークのゲートウェイのIPアドレスは192.168.22.1になります。NATネットワークモードで使用されるネットワークのゲートウェイのIPアドレスを変更したり、DHCPサーバーによって発行されるIPアドレスの範囲を変更することはできません。同様に、DHCPサーバーのIPアドレスはデフォルトで10.0.2.3です(x.x.x.3のテンプレートが使用されます)。
VirtualBox上で動作するWindows 7 VMのNATネットワークモードで設定された仮想ネットワークアダプタのIP設定はスクリーンショットに表示されています。
GUIでVirtualBoxのネットワーク設定を編集したくない場合は、次のコマンドを使用してVBoxManageで新しいNATネットワークを追加できます:
ここで:
- natnet1はNATネットワークの名前です;
- 192.168.22.0/24はそのNATネットワークのアドレスです。
VBoxManageでVMのネットワークアダプタをNATネットワークモードで使用するように設定する場合は、次のコマンドを実行します:
ここで:
- nic1は最初の仮想ネットワークアダプタ(ネットワークインターフェースコントローラ)です;
- natnetworkはVirtualBoxのネットワークモードの名前です。
これらの設定を適用する前にVMをシャットダウンする必要があるかもしれません。
仮想ネットワークアダプタのネットワークモードを選択する際に、各セクションでVBoxManageを繰り返し使用するのを避けるために、すべての可能なVirtualBoxネットワークモードの名前を考慮してください:none、null、nat、natnetwork、bridged、intnet、hostonly、generic。
ポートフォワーディングは、このウィンドウからアクセスして設定できるもう1つのオプションです。ポートフォワーディングは、ゲストOS内のVMで実行されているサービスへのホストマシンおよび同じ物理ネットワークの他のホストからのアクセスを構成するために使用できます(詳細は以下を参照)。ポートフォワーディング設定は、VirtualBox GUI内のNATモードおよびNAT ネットワークモードの場所が異なります。NATモードのポートフォワーディング設定は、VM > 設定 > ネットワークで利用できますが、NAT Networkモードのポートフォワーディング設定はファイル > プリファレンス > ネットワークで構成できます。これは、NATモードのポートフォワーディングルールが各VMごとに個別であるのに対し、NAT Networkモードのポートフォワーディングルールが適切なNATネットワークに接続されている複数のVMに共通であるためです。ポートフォワーディングの構成の詳細については、ポートフォワーディングセクション以下を参照してください。
ブリッジアダプタ
このモードは、仮想ネットワークアダプターを仮想ボックスホストマシンの物理ネットワークアダプターに接続するために使用されます。 VMの仮想ネットワークアダプターは、ネットワーク接続のためにホストネットワークインターフェースを使用します。 単純に言えば、ネットワークパケットは追加のルーティングなしに仮想ネットワークアダプターから直接送信および受信されます。 仮想ボックスでは、特別なネットフィルタードライバーがホストの物理ネットワークアダプターからのデータをフィルタリングするためにブリッジドネットワークモードで使用されます。
このネットワークモードは、物理ローカルエリアネットワークから完全にアクセスできる必要があるVM上でサーバーを実行するために使用できます。 仮想ボックスでブリッジドネットワークモードを使用すると、VMからホストマシン、物理ネットワークのホスト、およびインターネットを含む外部ネットワークにアクセスできます。 VMには、ホストマシンおよび物理ネットワークに接続された他のホスト(およびVM)からアクセスできます。
ホストマシンに複数の物理ネットワークアダプターがある場合は、VirtualBoxのネットワーク設定で正しいアダプターを選択する必要があります。以下のスクリーンショットでは、イーサネットアダプターとWi-Fiアダプターの2つの物理ネットワークアダプターが表示されています。無線ネットワークアダプターに対してブリッジモードを使用する場合、ゲストオペレーティングシステムでそのWi-Fiアダプターの低レベルの機能を使用することはできません。たとえば、Wi-Fiネットワークを選択して接続したり、監視モードを有効にしたりすることはできません。その代わりに、ホストマシンでWi-Fiネットワークに接続する必要があります。VMのゲストOSでWi-Fiアダプターのすべての機能を使用する必要がある場合は、USB Wi-FiアダプターとUSBパススルー機能を使用します。これについてのブログ記事を参照してください。Kali LinuxをVirtualBoxにインストールする。
VirtualBoxでは、ブリッジモードを使用すると、VM仮想ネットワークアダプターのIPアドレスは、ホストマシンの物理ネットワークアダプターのIPアドレスと同じネットワークに属することがあります。物理ネットワークにDHCPサーバーがある場合、VMの仮想ネットワークアダプターはブリッジモードで自動的にIPアドレスを取得します(ゲストOSのネットワークインターフェース設定で自動的にIPアドレスを取得するように設定されている場合)。したがって、ブリッジモードで動作する仮想ネットワークアダプターのデフォルトゲートウェイは、ホストマシンと同じです。IPアドレスを使用した簡単な例を見てみましょう。
物理ネットワークのアドレス:10.10.10.0/24
物理ネットワークのデフォルトゲートウェイのIPアドレス:10.10.10.1
物理的なネットワーク内のDHCPサーバーのIPアドレス: 10.10.10.1
ホストマシンのIP設定: IPアドレス – 10.10.10.72; ネットマスク – 255.255.255.0; デフォルトゲートウェイ – 10.10.10.1。
ゲストマシンのIP設定: IPアドレス – 10.10.10.91; ネットマスク – 255.255.255.0; デフォルトゲートウェイ – 10.10.10.1。
時に、您的物理的なネットワークに複数のゲートウェイがあるかもしれません。必要なネットワークに接続するためには、ホストマシンを使用し、1つのゲートウェイを通じて、ゲストマシンを使用して、2つ目のゲートウェイを通じて他のネットワークに接続することもできます。また、VM上で routing tableを編集し、両方のゲートウェイを使用して適切なネットワークに接続するルートを追加することもできます。ご覧のように、ブリッジされたネットワークモードは、VirtualBoxのネットワーク設定において多くの用途がある強力なオプションです。
混同行列モード。このモードでは、ネットワークアダプターが受信したトラフィックを、トラフィックがアダプターに割り当てられるかどうかに関わらず、すべてを通過させることができます。通常のモードでは、ネットワークアダプターは、この特定のネットワークアダプターのMACアドレスをヘッダーに目的アドレスとして含むフレームしか受信しません。この選択されたアダプターのMACアドレスと異なるMACアドレスに割り当てられた(トラフィックがブロードキャストではない)フレームは、通常のモードでは捨てられます。混同行列モードは、物理的なネットワークアダプターに複数のMACアドレスを持つことができるため、ホストマシンの物理的なネットワークアダプターを通じて受信するすべてのトラフィックが、VMの仮想ネットワークアダプターに达到することができます。これにより、特定のVMの仮想ネットワークアダプターに対するトラフィックが送信されていないとも関係なく、送信元のMACアドレスがホストアダプターに代表されるVMの仮想ネットワークアダプターに届けることができます。
ほとんどの無線ネットワークアダプタはプロミスキャスモードをサポートしていません。Wi-Fiアダプタへのブリッジは次のように行われます – VirtualBoxは、仮想ネットワークアダプタに配信する必要のあるイーサネットフレームのヘッダー内の適切なMACアドレスを置換します(そのトラフィックにはホストのWi-FiアダプタのMACアドレスを使用する必要があります)。プロミスキャスモードはネットワークテストやセキュリティ監査に役立ちます。VirtualBoxのネットワーク設定でプロミスキャスモードを有効にし、スニッファでネットワークトラフィックを監視することができます。
プロミスキャスモードの使用方法には3つのオプションがあります。
- 拒否。仮想ネットワークアダプタには意図されていないトラフィックは表示されません。このオプションはデフォルトで設定されています。
- VMを許可。他のVMとの間で送受信されるトラフィックを除き、すべてのトラフィックがVMネットワークアダプタから非表示にされます。
- すべてを許可。このモードでは制限はありません。VMネットワークアダプタはすべての入出力トラフィックを見ることができます。
プロミスキャスモードは、ブリッジネットワークモードだけでなく、NATネットワーク、内部ネットワーク、ホスト専用アダプタモードでも使用できます。
内部ネットワーク
VirtualBoxの内部ネットワークモードで動作するようにアダプターが設定された仮想マシンは、隔離された仮想ネットワークに接続されます。このネットワークに接続されたVMは相互に通信できますが、VirtualBoxホストマシン、または物理ネットワークまたは外部ネットワーク内の他のホストとは通信できません。内部ネットワークに接続されたVMには、ホストまたは他のデバイスからアクセスできません。VirtualBox内部ネットワークは実際のネットワークをモデル化するために使用できます。
たとえば、それぞれが内部ネットワークに接続された仮想ネットワークアダプター(アダプター1)を備えた3つのVMを作成できます。これらのネットワークアダプターのIPアドレスは、VirtualBox内部ネットワークに使用されるサブネットから定義されます(サブネットは手動で定義する必要があります)。これらのVMの1つ(VM1)には、NATモードで動作するように設定された2番目の仮想ネットワークアダプターもあります。VM1はルーターとして設定されます(ルーターを作成するための最良のソリューションの1つはLinuxをインストールしてIPTABLESを設定することですが、初めての場合はVirtualBoxネットワークテストの場合に、より簡単なルーティングソリューションを使用できます)。
A VM2 and VM3 whose network adapters are connected only to the VirtualBox internal network can have access to external networks if the IP address of the internal network adapter of the VM1 are set as a gateway in the network settings of VM2 and VM3.
この例で使用されるネットワーク構成:
VM1。IPアドレス– 192.168.23.1(内部ネットワークモード); 10.0.2.15(NATモード)、ゲートウェイ10.0.2.2(組み込みVirtualBox NATデバイスのIPアドレス)。
VM2。IPアドレス– 192.168.23.2(内部ネットワーク)、ゲートウェイ– 192.168.23.1
VM3。IPアドレス– 192.168.23.3(内部ネットワーク)、ゲートウェイ– 192.168.23.1
VirtualBox内部ネットワークサブネット: 192.168.23.0/24
下の図を見て、より明確になります。
注意: 実際のネットワークインフラストラクチャに実装する前に、IPTABLESでファイアウォールルールをテストするために、このような仮想インフラストラクチャを展開することもできますが、外部ネットワークへの接続時にブリッジモードを使用し、NATモードを使用しないことが好ましいです。
Host-only Adapter
このネットワークモードは、ホストとゲスト間の通信に使用されます。VMは、ホスト専用ネットワークに接続された他のVMと、ホストマシンと通信できます。VirtualBoxホストマシンは、ホスト専用ネットワークに接続されたすべてのVMにアクセスできます。
VirtualBox Host-Only仮想ネットワークアダプタは、ホスト専用ネットワークで使用するためにホストオペレーティングシステムに作成されます。このVirtualBoxネットワークの設定を編集するには、ファイル>ホストネットワークマネージャに移動します。
この場合、ホスト専用ネットワークのデフォルトネットワークアドレスは192.168.56.0/24であり、ホストマシン上の仮想ネットワークアダプタのIPアドレスは192.168.56.1です。これらのIPアドレスをアダプタタブで手動で編集できます。DHCPサーバは適切なチェックボックスをオンにすることで有効または無効にできます。DHCPサーバタブでは、DHCPクライアント用に発行されるIPアドレスの範囲、ネットマスク、およびDHCPサーバのIPアドレスを設定できます。
仮想マシンの仮想ネットワークアダプターには、ホスト専用モードではホスト専用ネットワークの外部のデバイスに接続することができないため、IP構成にゲートウェイがありません。異なるホスト専用ネットワークを使用するために、複数のVirtualBoxホスト専用ネットワークアダプターを作成することも可能です。単に削除ボタンを押して、ホスト専用ネットワークが不要になった場合、アダプターを選択します。
一般ドライバー
このネットワークモードでは、一般的なネットワークインターフェースを共有できます。ユーザーは拡張パックに含めるために適切なドライバーを選択するか、VirtualBoxに含めることができます。
VirtualBox 一般ドライバーモードには、UDPトンネルとVDE(Virtual Distributed Ethernet)ネットワーキングの2つのサブモードがあります。
UDPトンネル。異なるホストで実行されている仮想マシンは、既存のネットワークインフラストラクチャを使用して透過的に通信できます。
VDEネットワーキング。仮想マシンはLinuxまたはFreeBSDホスト上の仮想分散スイッチに接続できます。VDEネットワーキングを使用するには、VirtualBoxをソースからコンパイルする必要があります。標準のVirtualBoxパッケージにはこの機能が含まれていないためです。
VirtualBoxネットワークモードの比較
VirtualBoxがサポートするネットワークモードのすべての情報を、以下の表にまとめます:
ポートフォワーディング
ポート転送は、適切なIPアドレスとポートに向けられたトラフィックを傍受し、そのトラフィックを異なるIPアドレスや/またはポートにリダイレクトするプロセスです。特別なアプリケーションを使用して、コンピュータや他のルータデバイスでポート転送を設定することができます。ポート転送の最も一般的な用途の1つは、外部ネットワークからNATに隠された特定のネットワークサービスへのアクセスを提供することです。ポート転送ルールを設定した後、クライアントはルータ(ホスト)の外部IPアドレスと指定されたポートに接続することで、外部から適切なサービスにアクセスできます。
パケットはまず、ルータ上のアプリケーションによって傍受され、次にそのアプリケーションは適切なヘッダ(IPパケットヘッダ、TCPまたはUDPセグメントのヘッダ)の宛先IPアドレスとポート番号を読み取ります。ヘッダ内の宛先IPアドレスおよび/またはポート番号の組み合わせがポート転送ルールで設定された条件と一致する場合、ルーティングアプリケーションはヘッダ情報(IPアドレスおよび/またはポート番号)を書き換え、ポート転送ルールに従って別のネットワークインターフェースにパケット/セグメントを送信します。
デフォルトでは、ネットワークアダプタがNATまたはNAT Networkモードで動作するVirtualBox VMに接続することはVirtualBoxホストやLAN内の他のホストから不可能ですが、VirtualBoxはそのようなアクセスを有効にするための組み込みのポート転送機能を提供しています。
例1 – SSHアクセス
以下は、ネットワークに接続されたUbuntu Linux VM上で実行されているSSHサーバーに接続するためのポートフォワーディングを構成する例を考えてみましょう。これは、NATモードで接続されているVirtualBox VMに接続する際の例です。UbuntuをVirtualBoxにインストールする方法については、このブログ記事をご覧ください。
入力データ:
ホストIP: 10.10.10.72(物理NIC)。
Ubuntu VM IP: 10.0.2.15(NATモード)
ユーザー名: user1
1. Ubuntu VMにSSHサーバーをインストールします。
apt-get install openssh-server
2. SSHサーバーの設定ファイルを編集します。
vim /etc/ssh/sshd_config
3. パスワードでの認証を有効にするための文字列のコメントを外します。
PasswordAuthentication yes
4. SSHデーモン(サービス)を再起動します。
/etc/init.d/ssh restart
5. SSHサーバーが動作していることを確認し、localhost(Ubuntu VM)からSSHサーバーに接続を試みます。
6. すべてが正常に動作している場合は、VirtualBoxでポートフォワーディングの構成を開始できます。
次のように、VMの設定を開き、ネットワークセクションを選択してください。NATモードで構成された仮想ネットワークアダプターを選択し、詳細 設定を展開し、ポートフォワーディングボタンをクリックしてください。VirtualBoxネットワーク設定のVMで新しいポートフォワーディングルールを追加するために+アイコンをクリックしてください。
SSHサーバーはデフォルトで22番目のTCPポートでリスンしています。ポート8022へのすべての接続を、SSHサーバーでリスンしているUbuntu VMのポート22に転送するルールを作成しましょう。まず、VirtualBoxホストからの接続のみを許可するルールを作成できます。
名前 | プロトコル | ホストIP | ホストポート | ゲストIP | ゲストポート |
Ubuntu-SSH | TCP | 127.0.0.1 | 8022 | 10.0.2.15 | 22 |
VirtualBox GUIのポートフォワーディングルールウィンドウの表示は、以下のスクリーンショットに示されています。
SSHクライアント(Windowsを使用している場合は、例えばPuTTY)をVirtualBoxホストで開き、ポート8022に対して127.0.0.1に接続してください。
他のホストは、VirtualBoxホストマシンの物理ネットワーク経由で、ポート8022で接続することで、Ubuntu VMにSSH経由でアクセスできます。これは、localhostのIPアドレス(127.0.0.1)の代わりに、VirtualBoxホストの物理ネットワークアダプタの実際のIPアドレスが定義されている類似のポートフォワーディングルールを作成する場合のものです。この例では、VirtualBoxホスト上の物理NICのIPアドレスは10.10.10.72です。
名前 | プロトコル | ホストIP | ホストポート | ゲストIP | ゲストポート |
Ubuntu-SSH | TCP | 10.10.10.72 | 8022 | 10.0.2.15 | 22 |
VirtualBoxホストまたはLANに接続された別のホストでSSHクライアントを開き、ポート8022でVirtualBoxホストIPに接続します。
例2 – HTTPアクセス
VMでWebサーバを展開し、外部からWebサイトにアクセスできるようにする場合は、別のポートフォワーディングルールを追加できます。この例では、VirtualBoxホストマシンと物理的なローカルエリアネットワーク(LAN)に接続された他のマシンから、Ubuntu VMに展開されたWebサイトにアクセスするためのポートフォワーディングルールを構成する方法を考えてみましょう。この例では、WebサーバとしてApacheを使用しています。
まず、VirtualBox上で実行されているUbuntu VMにApacheをインストールします。
apt-get install apache2
ufwファイアウォールは、Ubuntuではデフォルトで無効になっています。Ubuntu VMでファイアウォールが有効になっている場合は、TCP 80ポートへのアクセスが許可されていることを確認してください。
Apacheをインストールした後、Ubuntu VM上のウェブブラウザを開き、アドレスバーにhttp://127.0.0.1を入力してデフォルトのApacheページにアクセスします。すべてが正常であれば、ウェブブラウザでApache2 Ubuntuデフォルトページが表示されます。
これにより、Ubuntu VMでホストされているウェブサイトにアクセスするためのVirtualBoxネットワーク設定でポート転送ルールを設定できるようになりました。次の手順でポート転送設定ウィンドウを開きます:VM設定 > ネットワーク > [アダプタを選択] > ポート転送(上述の方法と同様)。次のように新しいルールを追加できます:
名前 | プロトコル | ホストIP | ホストポート | ゲストIP | ゲストポート |
Ubuntu-HTTP80 | TCP | 10.10.10.72 | 8080 | 10.0.2.15 | 80 |
ホストマシンまたは物理ネットワークに接続された他のマシンでウェブブラウザを開き、上記で作成したポート転送ルールで定義されたVirtualBoxホストマシンのIPアドレスとポートを入力します:
http://10.10.10.72:8080
現在の例では、10.10.10.72はVirtualBoxホストマシンのIPアドレスであり、8080はVirtualBoxホストマシンでリッスンされているTCPポートです。ポート転送を構成した結果が、以下のスクリーンショットに示されています。
また、VMにRDP、FTP、およびその他のプロトコルを介してアクセスするための類似のルールを作成することもできます。
仮想ネットワークアダプタがNAT Networkモードで動作するVMのポート転送を構成することは、同様に機能します(NAT Networkモードの説明がNAT Networkモードのポート転送設定の場所を見つけるためのセクションで説明されています)。
結論
VirtualBoxは、柔軟で幅広いネットワーク設定を提供する強力な仮想化ソリューションです。各VMは最大8つの仮想ネットワークアダプタを使用でき、各ネットワークアダプタを実際のIntelおよびAMDネットワークインターフェースコントローラ(NIC)の適切なモデルとしてエミュレートできます。VirtualBoxのネットワークアダプタ設定では、各仮想NICのMACアドレスを変更したり、仮想ネットワークケーブルを接続または切断したり、ネットワークモードを選択したりできます。仮想ネットワークアダプタのネットワークモードを設定することは、VirtualBoxネットワーク設定の最も興味深く重要な部分の1つです。 6つのネットワークモードがあり、それぞれが異なるユースケースに使用できます。ネットワークアダプタがNATまたはNAT Networkモードで動作するVMへの外部アクセスのためにポート転送を構成できます。
Source:
https://www.nakivo.com/blog/virtualbox-network-setting-guide/