17534


ホストOS：Windows7  
ゲストOS:CentOS6.5（テスト環境）  
VirtualBox: 5.0.6

■ゲスト側ミドルウェア  
httpd  
mysql-server  
php  
php-mbstring  
php-mysql  
php-xml  
Apache  
Perl

要件：  
ゲスト側のwebサーバ上でPHP,PERL(cgi)のプログラムが動かせる。  
ホストPC及びLAN等からつながった他のPCからもゲストPCにアクセスできる。

現状  
・ゲストアダプター１：NAT  
・ゲストアダプター２：ホストオンリー  
・ホストOSからゲストOS(10.0.2.15)へpingが通らない。  
・ゲストOS(10.0.2.15)からホストOSへpingが通る。

ホスト側ネットワーク情報  
[![ホスト側ネットワーク情報](https://i.stack.imgur.com/CwjOB.png)](https://i.stack.imgur.com/CwjOB.png)

ゲスト側ネットワーク情報  
[![ゲスト側ネットワーク情報](https://i.stack.imgur.com/dmRPI.png)](https://i.stack.imgur.com/dmRPI.png)

[![画像の説明をここに入力](https://i.stack.imgur.com/AHFmY.png)](https://i.stack.imgur.com/AHFmY.png)

質問1：どのようにすれば、ホストOSからゲストOS(10.0.2.15)へpingが通る。  
質問2：ゲストOSのIPアドレス(10.0.2.15)を固定IPに変更する方法

ご教示をよろしくお願いします。


CC BY-SA 3.0
2015-10-09T04:38:53.933
17461
2015-10-12T07:40:12.900
2015-10-12T07:40:12.900
12546
12546
question
centos virtualbox
VirtualBoxのネットワーク設定


## 1\. 基本方針

LANの他のPCからもゲストPCへアクセスさせたいということであれば、ゲストPC側のネットワーク設定で **ブリッジアダプター** を選択するようにします。

NATアダプターはそのままでは外部からの接続はできません。ホストオンリーアダプターもその名が示すとおり外部からの接続はできません。NATアダプターにポートフォワーディングの設定をする手もありますが、標準的でないポートでのアクセスを強いられるので、かえって面倒だと思います。

## 2\. VirtualBoxの設定

ゲストboxのネットワーク設定は次のようにします。

  * アダプター1：割り当て「ブリッジアダプター」

もちろん、ネットワークアダプターの有効化およびケーブル接続にチェックを入れておいてください。これ以外の設定はデフォルト値で良いでしょう。  
アダプター2以降は無効化しておいたほうがトラブルのもとが減ります。

## 3\. ゲストCentOSの設定

[NetworkManager](https://access.redhat.com/documentation/ja-
JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-NetworkManager.html)
が有効化されているなら、前項の VirtualBox
ネットワーク設定を行ってゲストPCを再起動するだけで自動的にIPアドレスが振られて有効になる可能性があります。

[code]

    $ service network status
    設定されたデバイス:
    lo eth0
    現在活動中のデバイス:
    lo eth0
    
[/code]

上記コマンドの結果で eth0 が活動中になっていれば

[code]

    $ ip addr
    
[/code]

で eth0 に割り当てられているIPアドレスを確認してみてください。

IPアドレスを固定するため、次にネットワーク設定ファイルを手で修正します。

### ネットワーク設定ファイルを修正する

/etc/sysconfig/network-scripts の下に ifcfg-eth0
というファイルがあるはずです。なければ新しく作ります。設定ファイルの詳しいパラメータについては [9.2 インターフェース設定ファイル Red Hat
Customer Portal](https://access.redhat.com/documentation/ja-
JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-
interfaces.html) を参照してください。  
最低限、以下のような設定が必要になるはずです。

[code]

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=none
    IPADDR=192.168.3.200
    PREFIX=24
    NM_CONTROLLED=no
    
[/code]

  * `IPADDR`には、ゲストPCに固定で割り当てたいIPアドレスを指定します。ホストPCやLAN上の他のPCとは異なる値を設定してください。  
提示されているホスト側ネットワーク情報を見る限り、ホストが 192.168.3.0/24
に接続されているようですので、同じネットワークセグメントに属するようにするのが良いものと思われます。

  * `BOOTPROTO`は`none`にすることで動的なIPアドレス割り当てがされないようになります。
  * `NM_CONTROLLED`は`no`にしておくことでNetworkManagerによる自動設定対象から外れるようになります。

## 4\. ホストWindowsの設定

他のPCからゲストCentOSに割り当てたIPアドレスへの接続が、ホストWindowsのファイアーウォールでせき止められないように、Windows側の設定が必要になる可能性があります。ここの説明は割愛します。

## 5\. その他

ゲストCentOS側にもファイアーウォール等の設定がされているなら、それを解除する必要があるでしょう。そのあたりの設定はもはやVirtualBoxとは独立した話なので、必要ならば新しい質問を起こしてください。

## 6\. 参考情報

  * [[VirtualBox] ネットワーキング構成を理解して選択する : C-through the Mac](http://c-through.blogto.jp/archives/14539119.html)
  * [ネットワーク設定 | VirtualBox Mania](http://vboxmania.net/node/47)


CC BY-SA 3.0
2015-10-11T12:35:43.870
17534
2015-10-11T13:21:58.240
2015-10-11T13:21:58.240
10492
10492
17461
answer