わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

Ubuntu + VirtualBox + CentOSのネットワーク設定

ほうほうなるほど.とあるUbuntu 13.10のマシンで,ゲストOSとして入れてみることにしました.
まずはhttp://www.centos.org/からCentOS-6.5-x86_64-LiveDVD.isoをダウンロード.
あと仮想化について,VMware PlayerかVirtualBoxか悩むところですが,タイトルのとおり,VirtualBoxを選びました.https://www.virtualbox.org/から入り,ダウンロードしたのはvirtualbox-4.3_4.3.4-91027~Ubuntu~raring_amd64.deb*1Oracle_VM_VirtualBox_Extension_Pack-4.3.4-91027.vbox-extpackです.debファイルはダブルクリックして,管理者として実行するためのパスワードを入れれば,インストールしてくれます.
ここでゲストOSをインストールする前に,やりたいことを整理:

  • ホストOSのウィンドウでVirtualBoxそしてゲストOSを起動する.
  • ゲストOSから外へのアクセスができるようにする.
  • ホストOSからゲストOSへはSSHでログインできるようにする.

「ホストOS」はUbuntu 13.10なので以後「ubuntu1310」と書くことにします.「ゲストOS」はCentOS 6.5なので「centos65」とします.それと,SSHについてですが,普段はWindowsの画面を見て生活していますので,ホストOSにSSHで入ってから,ゲストOSに入ることになります.いわゆる多段SSHについては,ssh -t(http://takuya-1st.hatenablog.jp/entry/2013/03/29/093155)やProxyCommand ssh -W %h:%p(http://d.hatena.ne.jp/kaitoh07/20130905/1378374095)で省力化を図ることができます.
ともあれ,まずは何も考えずに,centos65をインストールしました*2.ネットワーク設定がデフォルトのままだと,外へのアクセスはできますが,ubuntu1310からcentos65へのアクセス(SSHログインを含め)が,どうやらできません.そこで,centos65に「NAT」と「ホストオンリーネットワーク」という,2種類のネットワークを設定しました.手順は次のとおり.

  • ゲストOSをシャットダウンします.
  • Oracle VM VirtualBox マネージャーで「ホストオンリーネットワーク」の追加をします.
    • Oracle VM VirtualBox マネージャー をアクティブにして,メニュー*3>ファイル(F)>環境設定(P)... を選びます.
    • 「ネットワーク」,そして「ホストオンリーネットワーク」をクリックします.
    • 画面右側の「+」を含むアイコンにマウスを当てると,「ホストオンリーネットワークを追加(A)(Ins)」と出ます.それをクリックすると,「vboxnet0」が追加されます.
    • OKのボタンを押して設定を終えます.

*4

  • ゲストOSのネットワーク設定をします.
    • Oracle VM VirtualBox マネージャーでゲストOSを選択しておき,設定(S)をクリックします.
    • ネットワークを選択します.「アダプター1」については有効化されていること,割り当て(A)が「NAT」になっていること(これらはデフォルト設定です)を確認します.
    • 「アダプター2」のタブをクリックします.有効化させ,割り当て(A)は「ホストオンリーアダプター」,名前(N)は先ほどのvboxnet0を選択します.
    • OKのボタンを押して設定を終えます.

  • ゲストOSを起動・ログインし,メニューバーのネットワークアイコン(下図の最も右のアイコン)を右クリックして,編集します.eth1がアダプター2に対応づけられており,IPアドレスを固定にします*5IPアドレスは,シェルを起動して「ifconfig eth1」を実行すれば,見ることができます.


ネットワークと関係ないのですが,centos65上でいくつか,やったことを:

  • 愛用のlvが見当たりません.yum install lvでもダメです.yum install gcc ncurses nsurces-devel ncurses-termを実行しておけば,http://www.ff.iij4u.or.jp/~nrt/lv/index.htmlよりソースを取って来てビルドできました.
  • UbuntuでRubyスナップショットをビルドでは「apt-get install libssl-dev libreadline-dev zlib1g-dev」を書きましたが,CentOSで同様のコマンドは,yum install libssh2-devel readline-devel zlib-develです.あとは,自作の関数をzsh上で実行し,無事にビルドができました.
  • DNSキャッシュに関して,dnsmasqを設定しました./etc/init.d/dnsmasq startを実行し,/etc/resolv.confに「nameserver 127.0.0.1」を書き込みました.次回以降起動させるため,chkconfig --level 2345 dnsmasq onを実行し,chkconfigで設定確認をしました.
  • SSH接続に時間がかかる件は,FAQに書かれている「sshd_config 設定ファイル*6に UseDNS no を加える」をして,再起動したものの,時間が減ったようには見えません.なんでだろ.

*1:apt-get install virtualboxでインストールされるのは少しバージョンが古いようで.

*2:自分用メモ:ISOファイルのドライブ割り当てについて要追加

*3:UbuntuのUnityでは,Oracle VM VirtualBox マネージャーのウィンドウの外,具体的には画面左上になります.Mac使いなら自然かもしれませんが,Windowsや,従来のLinuxのウィンドウマネジャに慣れた者からすると,少しストレスです.

*4:これは設定後の状態です.「vboxnet0」の反転(オレンジ色)表示の右にあるアイコンを押せば,ホストオンリーネットワークを一つ,追加できます.

*5:自分用メモ:実態に合わせて要追加

*6:/etc/ssh/sshd_config