VirtualBox で CentOS7 を扱うときののネットワーク設定ポイント
- 仮想マシンからインターネットへの接続は VirtualBox の NAT で設定し、CentOS7 の
nmtui
コマンドを使って/etc/sysconfig/network-scripts/ifcfg-enp0s3
に書き込まれる。 - ホストマシンから仮想マシンへの接続は VirtualBox のホストオンリーアダプターで設定し、CentOS7 の
nmtui
コマンドを使って/etc/sysconfig/network-scripts/ifcfg-enp0s8
に書き込まれる。
1. 使用する IP アドレスを決めるためのアドレスを (場合によっては生成して) 取得
- VirtualBox > 環境設定… > ネットワーク > ホストオンリーネットワーク
- 一覧に何もなければプラスアイコンの [追加]、[vboxnet0] という名前で生成された。
- 選択して右のドライバーアイコンの [編集]
- [アダプター] タブの [IPv4 アドレス] をメモ。例えば [192.168.56.1] となる。
Mac ではホストオンリーネットワークはございませんでしたので新規追加いたしました。一方、Windows では最初から存在しておりました。
2. 仮想マシン作成
仮想マシン作成時のポイントのみメモいたします。
- 仮想マシンの [設定] > [ネットワーク]
- [アダプター1] に [NAT] が設定されているはず。設定されていることを確認
- [アダプター2] の [ネットワークアダプターを有効化] にチェックし、[割り当て] に [ホストオンリーアダプター] を、[名前] に [vboxnet0] などのホストオンリーネットワークを指定。
3. CentOS インストール
GUI 画面で進んでいきました。ここでも、ポイントのみ記載いたします。
- [インストールの概要] 画面の [インストールソース] には入るものの、デフォルトのまま変更しないで [完了] とした。
- [インストールの概要] 画面の [ネットワークとホスト名] は特に設定しない。
- [設定] 画面 では、[ROOT パスワード] のみ設定した。[ユーザーの作成] 行わなかった。
インストールが完了しましたら、CentOS7 を再起動いたします♪
4. ネットワーク設定
ログインしてから、CUI での操作となります。
nmtui
で NetworkManagert TUI を起動- [Edit a connection]
- enp0s3 (NAT に対応)
- [IPv4 CONFIGURATION] <Automatic>
- [IPv6 CONFIGURATION] <Ignore>
- [X] Automatically connect
- [X] Available to all users
- enp0s8 (ホストオンリーアダプターに対応)
- [IPv4 CONFIGURATION] <Manual>
- Addresses 192.168.56.111/24 ← 192.168.56.XXX/24 とする。
- ほかはデフォルトの空白のまま
- [IPv6 CONFIGURATION] <Ignore>
- [X] Automatically connect
- [X] Available to all users
- [IPv4 CONFIGURATION] <Manual>
- <Quit> で nmtui を終了
systemctl restart NetworkManager
で NetworkManager を再起動して反映
enp0s8 の IPv4 アドレスをプレフィックスの /24 を設定しないで終了し、再度設定画面へと進むと、192.168.56.111/32 となっておりました。詳細な説明は省きますけれども、このままですとネットワークにつながりませんので注意ですの!
なお、nmtui によって編集されるファイルは次のようになりました。CentOS5 や 6 の場合は、これらのファイルを直接編集して network を restart していたのでした。
# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=enp0s3 UUID=261e9f21-3fb7-4201-89b1-5a7efcc37652 DEVICE=enp0s3 ONBOOT=yes PEERDNS=yes PEERROUTES=yes # # cat /etc/sysconfig/network-scripts/ifcfg-enp0s8 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=enp0s8 UUID=3841f40c-1fea-43fb-aeb1-839bace13773 DEVICE=enp0s8 ONBOOT=yes IPADDR=192.168.56.111 PREFIX=24 #
5. 仮想マシンへ SSH 接続できることを確認
- Mac ではターミナルを起動し、
ssh root@192.168.56.111
- Windows では、 Teraterm などから IP アドレスを指定して接続
enp0s8 (ホストオンリーアダプター) の設定が正しく行われていれば、上記の操作で仮想マシンの CentOS7 へと SSH 接続することができます。
6. 仮想マシンから yum で外部へ接続できることを確認
yum update
でパッケージをアップデートする。
yum update で仮想マシンから外部の環境のデータを取得できない場合は、enp0s3 (NAT) の設定が原因の可能性がございます。以前次の投稿で体験いたしました。
おわりに
[virtualbox centos7 ssh] で検索した内容を元に、本投稿はできあがりました。
最初、これらのページのやり方だとダメでした><。
一方、このページのやり方ではできました。
後々振り返って整理いたしますとどちらも正しく、ただわたくしたちの設定に漏れがあっただけでしたの!それでもこれら 2 種類の設定方法を比較し並べてみて、大分ネットワーク設定がすっきりと理解出来たように思います。
以上です。