そして、CentOS7をインストールして環境準備したけど。。
ホスト→ゲストに繋がらない。。
WindowsでVMware使ってたときは、ゲストOSのネットワーク設定をブリッジにしたら、ちゃんと別のIPアドレスが割り当てられたのに、VirtualBoxだと別セグメントのIPアドレスが割り当てられている。
色々調べてみると、2種類のNICを準備する必要があることが判明。
- NAT
- ホストオンリーアダプター(ネットワーク)
ホストオンリー〜のNICで、【VMゲスト(CentOS)】ー【VMホスト(Mac)】の通信を行う。
詳細は以下で行うが、ネットワークのイメージはこんな感じ。
(IPアドレス、NIC名はウチで試した結果なので、環境によって異なります)
ホストオンリーアダプターの作成
まずVirtualBoxの設定で、ホストオンリーアダプターを準備する。- VirtualBoxの「環境設定」メニューを選択
- 「ネットワーク」⇒「ホストオンリーネットワーク(H)」をクリック
- 右側にある一番上のボタンをクリックし、ホストオンリーネットワークを作成
仮想マシンにNICを割り当てる
次に、VMゲストの設定で、NICを2つ割り当てる。- VirtualBoxで作成したVMを選択し、「設定」ボタンをクリック
- 「ネットワーク」をクリック
(デフォルトでアダプター1にNATが割り当てられていることを確認、なければNATを割り当てる) - アダプター2を選択し、ネットワークアダプターを有効化を選択。名前は先程作成したホストオンリーネットワークを選ぶ
仮想マシン上のOSでNICを有効化
最後に、VMゲストのOS上の設定で、NICを有効化する。
ただ、うまく行ってれば、自動的に認識され、有効化されているはず。
確認はifconfigを実行してみる。
# ifconfig
enp0s3: flags=4163 mtu 1500
ether 08:00:27:4c:ef:c2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163 mtu 1500
inet 192.168.56.101 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80::a00:27ff:fe8e:fbd2 prefixlen 64 scopeid 0x20
ether 08:00:27:8e:fb:d2 txqueuelen 1000 (Ethernet)
RX packets 48 bytes 7479 (7.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 42 bytes 7737 (7.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
一瞬、3つ認識されているから大丈夫かと思ったが、インターネットへの通信に失敗している。
よくみると、NATのNIC(enp0s3)がIPアドレス割り当てられていない。
NICの設定を見る。
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
すると、「ONBOOT=no」となっており、有効化されていなかった。
「ONBOOT=yes」に書き換えてネットワークを再起動。
すると、今度はちゃんとIPアドレスが割り当てられており、インターネットへの接続も成功した。
# ifconfig
enp0s3: flags=4163 mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe4c:efc2 prefixlen 64 scopeid 0x20
ether 08:00:27:4c:ef:c2 txqueuelen 1000 (Ethernet)
RX packets 2 bytes 1180 (1.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9 bytes 1254 (1.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163 mtu 1500
inet 192.168.56.101 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80::a00:27ff:fe8e:fbd2 prefixlen 64 scopeid 0x20
ether 08:00:27:8e:fb:d2 txqueuelen 1000 (Ethernet)
RX packets 578 bytes 51817 (50.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 334 bytes 57715 (56.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ちなみに、ルーティングテーブルはこんな感じになってるはず。
# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 enp0s3
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s8
以上、VirtualBoxでVM作った際のネットワーク設定についてでした。
0 件のコメント:
コメントを投稿