質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.12%

VirtualBOX、Vagrant上で仮想ルータ&仮想マシンを作りたい

受付中

回答 0

投稿

  • 評価
  • クリップ 1
  • VIEW 882
退会済みユーザー

退会済みユーザー

VirtualBOX、Vagrant上で以下のような構成を作りたいと思います

CentOS6(ホストOS)
|
仮想ルータ(ゲストOS)
IP:10.12.1.251(対ホストOS用
IP:10.40.0.0(対仮想マシン用
|
+----------------+--------------+
|         |       |
仮想マシンA 仮想マシンB 仮想マシンC
(ゲストOS)(ゲストOS) (ゲストOS)
IP:10.41.0.0 IP:10.42.0.0 IP:10.43.0.0

・仮想マシン同士の通信はできなくてよい(できてもよい)
・各仮想ルータ、仮想マシンは静的にIPを振る

上記の条件から、仮想ルータには
・ホストOSとの通信用に「ホストオンリーアダプター」、
・仮想マシンとの通信用に「内部ネットワーク」
上記2個のNICが必要と想定しました。

が、Vagrantfileでのネットワーク設定をググってみたところ
「public_networkならゲストOS間・ホストOSとゲストOS間での通信が可能になる」
とあったので、
仮想ルータのVagrantfile設定を

Vagrant.configure(2) do |config|
config.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2298
config.vm.network "public_network"
end

としました。

この状態でまずは仮想ルータを「vagrant up」したところ下記のような問い合わせがあったので、

==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Available bridged network interfaces:
1) eth0
2) eth1
3) eth2
4) eth3
5) virbr0
==> default: When choosing an interface, it is usually the one that is
==> default: being used to connect to the internet.
default: Which interface should the network bridge to? 

よくわからなかったので、とりあえず1を選びました。
すると以下のように続き、正常終了しました。

==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: bridged
==> default: Forwarding ports...
default: 22 (guest) => 2298 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2298
default: SSH username: vagrant
default: SSH auth method: private key

「vagrant ssh」でsshログインし、「ifconfig」でIPアドレスを確認しました。

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 10.12.1.251  netmask 255.0.0.0  broadcast 10.255.255.255
ether 08:00:27:d9:83:35  txqueuelen 1000  (Ethernet)
RX packets 611  bytes 58713 (57.3 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 479  bytes 55924 (54.6 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

続いて、仮想マシンAのvagrantfileを以下のようにし、「vagrant up」が正常終了するところまで確認しました。

Vagrant.configure(2) do |config|
config.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2241
config.vm.network "private_network", ip: "10.41.0.0"
end

仮想マシンAは仮想ルータとだけ通信できればよいので、"private_network"でOKと思いました。

「vagrant ssh」でsshログインし、「ifconfig」でIPアドレスを確認しました。

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 10.41.0.0  netmask 255.0.0.0  broadcast 10.255.255.255
ether 08:00:27:d9:83:35  txqueuelen 1000  (Ethernet)
RX packets 661  bytes 64498 (62.9 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 521  bytes 63361 (61.8 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


ここで問題なのですが、
・ホストOSから仮想ルータへの「ping 10.12.1.251」で反応が帰ってきません。
タイムアウトやDestination Host Unreachableもない。
・仮想ルータから仮想マシンAへの「ping 10.41.0.0」でDestination Host Unreachableになってしまう。
・仮想マシンAから仮想ルータへの「ping 10.40.0.0」でDestination Host Unreachableになってしまう。

なにかVagrantfileに設定がたりないのでしょうか?あるいは間違っているのでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • fu7mu4

    2018/09/09 17:53

    Vagrantfileを公開できませんか?

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる