Posted at

virtualboxのIPアドレスを変更する

More than 3 years have passed since last update.


CentOSのIPアドレスを変更したい!

centOSだとデフォルトのIPアドレスはhttp://192.168.33.10でアクセスできるけどHPらしいアドレスにしたいとか、複数の仮想環境を実行するなど、vagrantでIPアドレスを変更したいときにどうやって変更すればいいのか。


そもそもURLはどうやって管理されているのか

PC内の/etc/hostsでURLは管理されています


/etc/hosts

##

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost

この9行目はhttp://localhostというURLを書くと、http://127.0.0.1にアクセスせよという指示になります。

じゃあ、http://192.168.33.10がcentOS6.7のデフォルトのIPアドレスなのでこのコードの下に192.168.33.10 stevejobsと書けばhttp://stevejobsで仮想環境が動かせる?????

たしかにこれは動くかもしれませんが、vagrantを立ち上げてないときも仮想環境にアクセスすることになってしまうのでよくありません。


正しいIPアドレス設定

vagrantfileをエディターで開くと


Vagrantfile

# Create a private network, which allows host-only access to the machine

# using a specific IP.
config.vm.network "private_network", ip:"192.168.33.10"

というコードがあると思います。

ここのIPアドレスを変更すれば仮想環境にアクセスするIPアドレスを変更できます。

また、config.vm.networkの前の行に

オプションとして追加してやるとサイトアドレスのようにアクセスできるようになるのです!

# Create a private network, which allows host-only access to the machine

# using a specific IP.
config.vm.hostname = "local.stevejobs"
config.vm.network "private_network", ip: "192.168.33.10"

とすると

http://local.stevejobshttp://192.168.33.10を見ることになるのです!

さあ、実行してみよう!

、、、おそらくうまくいかないでしょう。

僕はうまくいきませんでした。


モジュールのインストール

このままではPC内の/etc/hostsに仮想環境のvagrantfileの情報を読み込ませることができていないのです。

そこでその情報を読み込ませてくれるvagrant-hostupdaterというモジュールをインストールします。

vagrantfileがあるファイルにいって下のコマンドを叩きます。

$vagrant plugin install vagrant-hostsupdater

あとは$vagrant reloadで一回再起動してからsshでログインすればうまくいくはず!

暇なときに自分のやる気がでるようなドメイン名にしてみてください!


参考URL

vagrant使うときのipアドレスをドメインにしたい!

Vagrantで仮想マシンに接続&Webサーバを立ち上げてみよう