読者です 読者をやめる 読者になる 読者になる

virtualboxとmacをホストオンリーアダプターで接続し、ターミナルから操作する

最近ブログに書くことがOculus関連ばかりですが、実は細々と別の分野の勉強もしています。ペースは遅いですが、、

例えばこの間、延期がちだったPostgresqlの勉強のために、11月に買ったばかりの新しいmacvirtualboxの環境を入れました。

ただ、ネットワーク接続のところでちょっとつまづいたので、備忘録のために手順を書いておきます。

[背景]

VirtualBoxをインストール時そのままの設定で使うと、NAT(Network Access Transition)が適用されているので、

通信できる :VirtualBox->Mac
通信できない:Mac->VirtualBox

となります。

VirtualBoxは非常に便利ですが、今回のPostgreSQLの勉強ではGUIを使わないし、なんとなくMacのターミナルを使いたかったので、ターミナルからVirtualBoxを使えるようにしました。

[環境]

今回のネットワーク接続の概念図は下記です。

f:id:Takyu:20140211133038p:plain

また、以下を使っています。

Mac : Mervericks(10.9)
Virtualbox : 4.3.6
Linux : CentOS6.4 (VirtualBoxにインストール)

[手順]

(VirtualBoxCentOSをインストール済みであることが前提です)

1.
VirtualBox->環境設定->ネットワーク / ホストオンリーネットワークを選択
 “+”アイコンをクリックする。すると”vboxnet0”が出る。

2.
自分で作成した仮想マシンの設定からネットワークを選択する。
(ここではアダプター1を選択)
割り当てを”ホストオンリーアダプター”にして、”名前”をvboxnet0にする。

3.
 “高度”をクリックして、MACアドレスをメモしておく。
ここで、”ケーブル接続”にチェックをつけておくこと

f:id:Takyu:20140211134539p:plain


4.
CentOSのネットワーク設定を変更する。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
あるいはNetworkManagerのGUIを開いて、
IPAddress : 192.168.56.10
NETMASK :255.255.255.0
GATEWAY : 192.268.56.1
HWADRR : さっきメモしたMACアドレス
を入力する。

(2015/3/5 HWADDRを書き漏れてたので追記しました)

注)192.168.56.1がVMCentOSが識別するネットワークアドレス。
CentOSは192.168.56.XXのアドレスを持つ必要がある。
これでeth0に192.168.56.10が割り当たる。

5.
Mac上でターミナルを開き、sshで接続する。

 $ ssh root@192.168.56.10
  ->これでMacからCentOSに接続できます。
必要に応じて公開鍵の設定を行ってください。


この状態だと、CentOSは外部と接続できないため、yumなどが使えません。

そのため、もう一つネットワークを増やし、それをNAT接続します。

6.
(もしCentOSが起動中の場合、shutdownで終了してください)
ネットワーク設定から、アダプター2の「ネットワークを有効化」にチェックを付ける。

7.
NATになっていることを確認したら、OKをクリックする。

f:id:Takyu:20140211135454p:plain

あとはCentOSを起動すれば、ssh接続可+NAT接続の状態になっています。