/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

Vagrantでパブリックネットワークを設定する

f:id:yatta47:20190720134254p:plain

前回、VagrantでAmazonLinuxのBoxを使ってOSを立ち上げました。

本当にやりたかったのは

外部からVagrant上に立ち上げたBoxに対してアクセスがしたい

でした。

今回はそれをやってみようと思います。

 

そもそもなぜこのようなことを?

先ほど書いた通り、LAN内の他のPCから自分のPC内の仮想OSにアクセスしたいということをしたくてやっていたのですが、出来なかったのが事の発端です。

改めて家のPCで確認してみるかという流れから今に至ります。

 

やりかた

やり方自体は結構簡単で、Vagrantfileの以下の部分をコメントインするだけです。

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  config.vm.network "public_network"★←ここ

config.vm.network "public_network"をコメントインしたら、あとはvagrant up起動中にやってしまった場合はvagrant reloadするだけです。

ただ、これは特に設定も変えておらずやりだした場合にはスムーズにいきます。

すでにネットワークの設定を変えたりしていると、立ち上がったOS側でのネットワーク設定が残っていたりしてうまくいかない場合があります。

その場合は最初にOSにログインして、ネットワーク設定を消してから実施してあげましょう。

 

ちゃんと設定できたか確認する

では、ちゃんとできたかどうか確認。

OSが立ち上がったら、ifconfigで確認します。

[vagrant@localhost ~]$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:11:71:AE
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe11:71ae/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:656 errors:0 dropped:0 overruns:0 frame:0
          TX packets:721 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:74803 (73.0 KiB)  TX bytes:75741 (73.9 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:C4:EE:01
          inet addr:192.168.33.72  Bcast:192.168.33.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fec4:ee01/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:519 (519.0 b)  TX bytes:1048 (1.0 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:12:06:DB
          inet addr:192.168.11.9  Bcast:192.168.11.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe12:6db/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:79 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18381 (17.9 KiB)  TX bytes:5134 (5.0 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:565 errors:0 dropped:0 overruns:0 frame:0
          TX packets:565 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:49684 (48.5 KiB)  TX bytes:49684 (48.5 KiB)

[vagrant@localhost ~]$

eth2 として追加されていますね。

ついでにrouteも確認。

[vagrant@localhost ~]$
[vagrant@localhost ~]$ route
route        route53      route53-2.7  routef       routel
[vagrant@localhost ~]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG    0      0        0 eth2
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.33.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
[vagrant@localhost ~]$

routeも設定されていますね。問題なさげ。

 

終わりに

今回は、public_network・・・・VirtualBox的にはBridgeの設定をしたことになります。

うーむ・・・・出来てしまった。

ほかのLAN内にいるPCでやったときはできなくて、家のLANだとできる・・・・

家でできるということは、LANを束ねているルータのほうでDHCPが無効になっているとかそういう理由な気がしてきました。

Box側の問題なのかどうかの切り分けをするという意味でも今回の検証は無意味なものではなかったのかなと思っています。

 

ちなみに、Vagrantのネットワーク設定は、BridgeだったりPrivateだったりpublicだったりNATだったりいろいろとあります。

その辺の違いは以下のサイトが一番わかりやすかったです。

labs.septeni.co.jp

出来なかった環境のほうで実現しようと考えたら、DHCPが無効になっているとしたら、これはもうポート転送でどうにかするしかないな。

それではー。