Help us understand the problem. What is going on with this article?

Vagrantfileで指定してはいけないIPアドレス

TL;DR

VagrantゲストOSとの接続をプライベートネットワークとするときに、指定してはいけないアドレスがあるという話

本文

TL;DRにある通りですが、指定してはいけないアドレスがあります。以前はまったことを思い出したので、メモしておきます。

前提

VagrantゲストOSとの間にプライベートネットワークを構築するときは、以下のようになります。(経験則上のものなので違ってたらごめんなさい・・・)
- ネットワークアドレス長は24
- ホストOSが持つIPアドレスの第4オクテットは固定で1

本題、指定してはいけないアドレス

ホストOSが属しているネットワークと同じネットワークアドレスになるようなアドレス

うまいことやってくれないかなーと期待しましたが、だめでした。

  • 条件
    • ローカルPCが属するネットワークは192.168.11
    • Vagrantfileの記述は config.vm.network "private_network", ip: "192.168.11.50"

vagrant upの結果はこちら

The specified host network collides with a non-hostonly network!
This will cause your specified IP to be inaccessible. Please change
the IP or name of your host only network so that it no longer matches that of
a bridged or non-hostonly network.

Bridged Network Address: '192.168.11.0'
Host-only Network 'Intel(R) Ethernet Connection I218-LM': '192.168.11.0'

メッセージを読んでみれば致命的なのは明らかですが、特に[ERROR]とかわかりやすい表示もなく、ひっそりとvagrant upが終了してしまうので、見落としてしまうとはまるかもしれません。

第4オクテットが1のアドレス

前述の「前提」にあるように、第4オクテット1は、ホストOSが使います。なのでだめです。
この場合、なんだかいびつな状況になります。

  • vagrant ssh は通ります
  • ゲストOSから外部ネットワークへの接続もなぜか可能です。
  • ホストOS、ゲストOSともに、同一のIPアドレスが設定されています。(ぉぃ
  • できないことは多分、ホストOSからゲストOSへsshクライアントで接続すること、くらいでしょうか。

私はこれをやって「ssh接続だけなぜかできないな・・・まあいいか」という状態で仮想OSをしばらく使ってました。その後偶然、IPアドレスの重複に気づきました。

あとがき

見当たらなかったけど、VirtualboxかVagrantの資料のどこかに書いてあるのかなあ・・・

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away