主にステマブログ

ガチャメーカーについてのブログです。つれづれなるままにひぐらし

vitrual boxにcentosを入れる【勝手にNW設定編】

virtualboxにcentos6.4-x86_64を入れてみた

古いデスクトップが1台余ってたんだけど、32bit機なのとスナップショットが簡単にとれないと思ったのでvirtualbox使うことにした。

用途は、開発+ステージング(app+DB)+リポジトリとするつもり

 

事前にvitrualboxのネットワーク設定は、アダプター1をホストオンリーアダプタに、

アダプター2をNATに設定しておく。ネットワークアダプターを有効にしておくとifcfg-ethを自動作成してくれるみたい。

 

f:id:ylang365:20140112110257j:plain

f:id:ylang365:20140112110343j:plain

 

で、次に書く内容がいきなりこれってゆうね・・

老化にはかてません。

f:id:ylang365:20140111111331j:plain

 

とりあえずdesktop選んだ。

データベースとサーバは後で入れるので、インストール時点ではパス

f:id:ylang365:20140111113802j:plain

インストール完了。 

 

マウス統合機能のインストール

ゲストとホストの間をいったりきたりするときにつらい。

ubuntuとかだと標準で入っているので不要らしい。

 

virtualboxメニューの<デバイス>-<Guest AdditionsのCDイメージ挿入>を選択。

起動後に上記操作すると、GUIからインストールできるのでラク。

 

アカウント設定

一般ユーザでsudoが使えなかったので設定。

  • visudoで、以下の設定を追加する

   user_name ALL=(ALL) ALL 

   user_name ALL=(ALL) NOPASSWD:ALL 

ユーザじゃなくグループ指定にしたかったが、なぜかうまく設定できんかった・・

 

ネットワーク設定

とりあえず、

・ゲストOSから外につなげる

teratermでゲストにssh接続できる

ようにしたかったんですが、sshの認証で詰まり(詰み)ほぼ丸1日かかってしまった・・

 

まずゲストOSのネットワーク設定

eth0はホストオンリー

デフォルトゲートウェイは設定しないのがミソらしい。

  • /etc/sysconfig/network-scripts/ifcfg-eth0

   ONBOOT=yes

   BOOTPROTO=static

         IPADDR=10.0.3.16

         NETMASK=255.255.255.0

         NETWORK=10.0.3.0

 

 

eth1はNAT

  • /etc/sysconfig/network-scripts/ifcfg-eth1

     ONBOOT=yes

 

設定後、sudo service network restart でネットワーク再起動。

pingとばしてみて、外部に接続できることを確認する。

 

次にvirtualboxの設定

<設定>ー<ネットワーク>ー<アダプター2>で、ポートフォワーディングボタンおす。

ゲストOSのSSHポートは22から変更しないのでそのまま設定。

IPは空欄でいいみたい。

f:id:ylang365:20140112113646j:plain

 

ここからの設定にかなりつまった。

どれくらいつまったかというと、気付いたら日が暮れていた。おつ

 

余談ですが、途中SELinuxを無効にしようとして設定に失敗し、centosが起動しなくなりました(kernel panic?)。シングルユーザモードで起動を試みたが、「SELinuxを無効にするときは、setenforceを設定してね」的な(もう忘れた)メッセージが出て無理でした。

推測の域をでないのですが、/etc/sysconfig/selinuxで設定変更した SELINUX=disabled が影響したのかと思います(タイプミスした?)。スナップショットも当然とってなかったので一から環境作り直し・・おそろしい。スナップショットとろ(まだとってない)

 

sshでホストOSから接続を試みたのですが、以下のエラー

  • ssh_exchange_identification: Connection closed by remote host

他サイトを参考にさせてもらって、

$ sudo vi /etc/hosts.allow
sshd:ALL

のように設定し(sshd再起動)してみたのですが、同じエラーで接続できず。

 

結局、以下の設定にしたら接続できるようになった。

$ sudo vi /etc/hosts.allow
ALL: 127.0.0.1 sshd: ALL

hosts.denyは、初期では何も設定されてなかった(以下追加)

$ sudo vi /etc/hosts.deny
sshd: ALL

 

あと、/etc/ssh/sshd_configで、MaxStartupsのコメントアウトはずす。

10に設定されてたので、100くらいに適当に変更しといた・・

 sudo service sshd restart

 sudo network sshd restart

とやると、ようやくつながるようになりました。

 

teratermの設定は、以下を参考にさせていただきました。

ありがとうございます。

Tera Termで公開鍵認証 | CentOSサーバー構築マニュアル

 

と言っている間に昼になった。

あと、DBとアプリサーバとgitいれたい。(追々。さきなが)

無知なのでいちいち勉強になっていい。と思うことにする。