2013/01/20

VirtualBox でゲストの CentOS に SSH で接続したい。

所謂ホストオンリーネットワーク。

ホスト: MacOS X 10.8.2
ゲスト: CentOS 6.3
VirtualBox: 4.2.6



ホストオンリーネットワークの追加

[Command + ,] で [環境設定] を出します。
[ネットワーク]の項目を選択し、[+] のアイコンで追加します。(vboxnet0 が追加されたはず)
次に[ドライバー]のアイコンで設定を確認します。

192.168.56.1/255.255.255.0 がこのネットワークアドレスのようです。

作成が終わったらOKで閉じます。

仮想マシンの設定

[ネットワーク] -> [アダプター2]
[ネットワークアダプターを有効化]にチェックを入れる。
割り当て: [ホストオンリーアダプター]を選択(名前:vboxnet0 になったはず)


ゲストOSの設定

# root の前提で。
setup
# コマンドない場合は
# yum install setuptool ntsysv sytem-config-network-tui system-config-firewall-tui
# でインストール出来ます。

ネットワークの設定 -> デバイス設定 -> eth1
静的IP: 192.168.56.10
サブネットマスク: 255.255.255.0
デフォルトゲートウェイ: 空のまま

[OK] -> [保存] -> [保存して終了] -> [終了する]
で setup 保存して終了させる。

vim /etc/sysconfig/network-scripts/ifcfg-eth1
ONBOOT=yes
にする。
service network restart
で再起動。

これで ssh user@192.168.56.10 で接続できるようになったはずです。

外に出られないし、中に入れない。

eth1 の設定をしてから、ゲストOS が外に出られない。
[root@centos ~]# ping google.co.jp
ping: unknown host google.co.jp
[root@centos ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         192.168.56.1    0.0.0.0         UG    0      0        0 eth1
こんな感じ。

setup コマンドでネットワークの設定をしちゃう罠にハマった。
ホストオンリーネットワークの設定を確認した時に、192.168.56.1 にネットワークアドレスが設定されていた。
その流れで eth1 のデフォルトゲートウェイに 192.168.56.1 にしてしまうと、外に出られなくなるようだ。
setup コマンドで eth1 のデフォルトゲートウェイを消すか、
/etc/sysconfig/network-scripts/ifcfg-eth1 の GATEWAY の行を削除して
service network restart で大丈夫っぽい。

ちなみに eth0 は dhcp にしてある。