VirtualBox CentOS6.7 64bitでNAT、ホストオンリーアダプターを使用
VirtualBoxでゲストOSをホストOSと同じネットワークに参加させたくないが、ゲストOSからインターネットやホストOSと同じネットワークに接続を行いたい場合、ネットワークのアダプターにNATを使用することで、ゲストOSへの外部からの接続は不可能とし、ゲストOSからはインターネットやホストOSと同じネットワークへの接続を可能にすることができます。
外出先等で、ホストOSでスマートフォンのテザリングを使用してインターネットに接続している場合にも、NATを使用することで、ゲストOSからインターネットに接続することができるようになります。
尚、NATを使用時のゲストOSから外部への接続は、ホストOSが接続元として扱われるようになります。
また、NATの使用時に、SSH等でホストOSからゲストOSへの接続を行いたい場合、ネットワークのアダプターにホストオンリーアダプターを別途使用することで、ゲストOSへホストOSから接続可能とすることができます。
※複数のゲストOSでホストオンリーアダプターに同じホストオンリーネットワークを使用することで、ゲストOS同士も接続可能にすることができます。
ここでは、VirtualBoxの仮想マシンにインストールしたCentOS6.7 64bitで、NAT、ホストオンリーアダプターを使用する手順を以下に示します。
※VirtualBoxは、Mac用のバージョン4.3.30を使用しています。
※CentOS7 64bitをご使用の場合は、当サイトのVirtualBox CentOS7 64bitでNAT、ホストオンリーアダプターを使用のページをご覧ください。
VirtualBoxにホストオンリーネットワークを作成
ホストオンリーアダプターを使用するには、事前にVirtualBoxにホストオンリーネットワークを作成しておく必要があります。
以下のような手順で、ホストオンリーネットワークを作成します。
- (1)
-
VirtualBoxのメニューから、「環境設定」を開きます。
- (2)
-
設定画面で「ネットワーク」を選択し、「ホストオンリーネットワーク」の設定画面を開き、「ホストオンリーネットワークを追加」ボタン(右にある緑のプラスのアイコン)をクリックします。
- (3)
-
「vboxnet0」というホストオンリーネットワークが追加されます。
これを選択した状態で、「ホストオンリーネットワークを編集」ボタン(右にあるドライバーのアイコン)をクリックします。
- (4)
-
「アダプター」の設定画面を開くと、デフォルトでIPアドレスの設定が行われています。
このIPアドレスは、ホストOSに追加される「vboxnet0」というネットワークインターフェイスに設定されるものになります。
特に指定したいものがなければ、このままの設定で使用します。
-
IPv4 アドレス:ホストOSに設定するIPv4のアドレスを指定
(ここでは「192.168.56.1」と入力)
-
IPv4 ネットマスク:ホストOSに設定するIPv4のアドレスのネットマスクを指定
(ここでは「255.255.255.0」と入力)
-
IPv6 アドレス:ホストOSに設定するIPv6のアドレスを指定
(ここでは空とし、IPv6のアドレスは使用しない)
-
IPv6 ネットマスク長:ホストOSに設定するIPv6のアドレスのネットマスク長を指定
(ここでは「0」と入力)
「DHCPサーバー」の設定画面を開き、ゲストOSにDHCPを使用してIPアドレスを割り当てるときの設定を以下のように行い、「OK」ボタンをクリックします。
※「アダプター」の設定画面で設定したIPアドレスと、同じネットワークになるように設定します。
- サーバーを有効化:チェックを入れる
-
サーバーアドレス:VirtualBoxに作成されるDHCPサーバーのIPアドレスを指定
(ここでは「192.168.56.100」と入力)
-
サーバーマスク:ゲストOSにDHCPで割り当てるIPアドレスのネットマスクを指定
(ここでは「255.255.255.0」と入力)
-
アドレス下限:ゲストOSにDHCPで割り当てるIPアドレスの範囲の最小値を指定
(ここでは「192.168.56.101」と入力)
-
アドレス上限:ゲストOSにDHCPで割り当てるIPアドレスの範囲の最大値を指定
(ここでは「192.168.56.254」と入力)
-
CentOS6 64bitのインストール時にNATとホストオンリーアダプターを使用する場合
VirtualBoxにCentOS6 64bit用の仮想マシンを作成のページでは、CentOSのインストール前のネットワークの設定で、ブリッジアダプターを使用するようにしていますが、NATとホストオンリーアダプターを使用する場合は、以下のような設定を行います。
※仮想マシンの作成と、ネットワークの設定後のOSのインストールメディアの設定については、当サイトのVirtualBoxにCentOS6 64bit用の仮想マシンを作成のページをご覧ください。
※CentOS6 64bitのインストールの手順については、当サイトのCentOS6 64bitのインストールページをご覧ください。
CentOS6 64bitのインストール前のVirtualBoxでのネットワークの設定
- (1)
-
「Oracle VM VirtualBox マネージャー」で作成された仮想マシンを選択して、「設定」ボタンをクリックします。
- (2)
-
設定画面で「ネットワーク」を選択し、「アダプター1」の設定画面を開き、以下の設定を行います。
- ネットワークアダプターを有効化:チェックを入れる
- 割り当て:「NAT」を選択
「アダプター2」の設定画面を開き、以下の設定を行い、「OK」ボタンをクリックします。
- ネットワークアダプターを有効化:チェックを入れる
- 割り当て:「ホストオンリーアダプター」を選択
- 名前:前述の手順でVirtualBoxに作成したホストオンリーネットワーク「vboxnet0」を選択
CentOS6 64bitのインストール後のCentOSでのネットワークの設定
CentOS6 64bitのインストール後には、NAT用のネットワークインターフェイスとして「eth0」が、ホストオンリーアダプター用のネットワークインターフェイスとして「eth1」が作成されています。
※「/etc/sysconfig/network-scripts/」に作成されているネットワークインターフェイスの設定ファイル「ifcfg-eth0」、「ifcfg-eth1」のHWADDRに記載されているMACアドレスと、VirtualBoxのネットワークの設定で、高度な設定を開いたときに確認できるMACアドレスが一致していることで、NAT用、ホストオンリーアダプター用の区別が付きます。
NAT用のネットワークインターフェイスの設定ファイル「/etc/sysconfig/network-scripts/ifcfg-eth0」を、以下のように編集します。変更を行う箇所のみ示します。
以下の変更を行い、ネットワークの接続が自動で行われるようにします。
ONBOOT=no ↓変更 ONBOOT=yes
ホストオンリーアダプター用のネットワークインターフェイスの設定ファイル「/etc/sysconfig/network-scripts/ifcfg-eth1」を、以下のように編集します。変更を行う箇所のみ示します。
以下の変更を行い、ネットワークの接続が自動で行われるようにします。
ONBOOT=no ↓変更 ONBOOT=yes
ネットワークの設定を有効化するには、以下のコマンドを実行してネットワークサービスを再起動します。
# service network restart
CentOS6 64bitのインストール後にNATとホストオンリーアダプターを使用する場合
VirtualBoxにCentOS6 64bit用の仮想マシンを作成のページの手順と同様に、CentOSのインストール時はネットワークのアダプターにブリッジアダプターを使用するようにしていたが、インストール後にNATとホストオンリーアダプターを使用するように変更したい場合は、以下のような設定を行います。
VirtualBoxでのネットワークの設定
- (1)
-
「Oracle VM VirtualBox マネージャー」で設定を行いたい仮想マシンを選択して、「設定」ボタンをクリックします。
- (2)
-
設定画面で「ネットワーク」を選択し、「アダプター1」の設定画面を開き、以下の設定を行います。
- ネットワークアダプターを有効化:チェックをはずす
※元々使用していたブリッジアダプターを無効化します。
「アダプター2」の設定画面を開き、以下の設定を行います。
- ネットワークアダプターを有効化:チェックを入れる
- 割り当て:「NAT」を選択
「アダプター3」の設定画面を開き、以下の設定を行い、「OK」ボタンをクリックします。
- ネットワークアダプターを有効化:チェックを入れる
- 割り当て:「ホストオンリーアダプター」を選択
- 名前:前述の手順でVirtualBoxに作成したホストオンリーネットワーク「vboxnet0」を選択
CentOS6 64bitでのネットワークの設定
VirtualBoxでネットワークの設定後、CentOS6 64bitを起動すると、NAT用とホストオンリーアダプター用のネットワークインターフェイスが認識されるようになっています。
これは以下のコマンドで確認することができます。
# ip addr 1: lo: <,LOOPBACK,UP,LOWER_UP>, mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth1: <,BROADCAST,MULTICAST>, mtu 1500 qdisc noop state DOWN qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff 3: eth2: <,BROADCAST,MULTICAST>, mtu 1500 qdisc noop state DOWN qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
「eth1」がNAT用、「eth2」がホストオンリーアダプター用となります。
※「xx:xx:xx:xx:xx:xx」の部分に表示されているMACアドレスと、VirtualBoxのネットワークの設定で、高度な設定を開いたときに確認できるMACアドレスが一致していることで、NAT用、ホストオンリーアダプター用の区別が付きます。
元々使用していたブリッジアダプターは使用しませんので、ブリッジアダプター用のネットワークインターフェイスの設定ファイル「/etc/sysconfig/network-scripts/ifcfg-eth0」を、以下のように編集します。変更を行う箇所のみ示します。
以下の変更を行い、ネットワークの接続が自動で行われないようにします。
ONBOOT=yes ↓変更 ONBOOT=no
NAT用、ホストオンリーアダプター用のネットワークインターフェイスの設定ファイルは作成されていませんので、以下のように作成します。
NAT用のネットワークインターフェイスの設定ファイル「/etc/sysconfig/network-scripts/ifcfg-eth1」を、以下のように作成します。
DEVICE=eth1 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp
ホストオンリーアダプター用のネットワークインターフェイスの設定ファイル「/etc/sysconfig/network-scripts/ifcfg-eth2」を、以下のように作成します。
DEVICE=eth2 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp
ネットワークの設定を有効化するには、以下のコマンドを実行してネットワークサービスを再起動します。
# service network restart
尚、ブリッジアダプターのみを使用するように戻すときは、VirtualBoxのネットワークの設定で、ブリッジアダプターのみを有効化、NATとホストオンリーアダプターは無効化し、CentOSのネットワーク設定で、ブリッジアダプター用のネットワークインターフェイスの設定ファイルのみ「ONBOOT=yes」とし、NAT用とホストオンリーアダプター用は「ONBOOT=no」とします。
VirtualBox CentOS6.7 64bitでNAT、ホストオンリーアダプターを使用については、以上です。
Linuxの基礎知識に関するおすすめの書籍
当サイトの書籍紹介ページで、Linuxの基礎知識に関するおすすめの書籍の紹介も行っておりますので、ご覧ください。