VirtualBoxのCentOS7(CUI)でブリッジ接続でインターネットに繋がらない時の対応

環境

  • ホストOS : macOS Sierra Virsion 10.12.5
  • VirtualBox : Version 5.1.22 r115126 (Qt5.6.2)
    • ゲストOS : CentOS Linux 7.3.1611(Core)
    • ネットワーク : Bridged Adapter

原因 : GATEWAYとDNSが設定されていないから

対応 : GATEWAYとDNSを設定する

1. network-scripts/ifcfg-enp0s3を編集する

$ ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-enp0s3  /etc/sysconfig/network-scripts/ifcfg-lo
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 
------▼設定ファイルの中身▼-----------------------
BOOTPROTO=none
DEVICE=enp0s3
DNS=8.8.8.8 <<<<<<<<<<<<<< 追記
GATEWAY=192.168.0.1 <<<<<<< 追記
IPADDR=192.168.0.6
NAME=enp0s3
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
--------------------------

DNS : Googleの Public DNS を記載しました

Configure your network settings to use the IP addresses 8.8.8.8 and 8.8.4.4 as your DNS servers.
Public DNS  |  Google Developers

GATEWAY : ホストOSのデフォルトゲートウェイを記載しました。
Macで自分のゲートウェイを確認する方法

2. NetworkManagerを動かないようにする

なぜ動かないようにするか・・・の理由はまた今度勉強します。

# 状態を確認する
$ systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since 木 2017-07-13 22:00:27 JST; 3h 26min ago
     Docs: man:NetworkManager(8)
 Main PID: 2313 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           └─2313 /usr/sbin/NetworkManager --no-daemon
<省略>

# 停止する
$ systemctl stop NetworkManager.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: mana
Password: 
==== AUTHENTICATION COMPLETE ===

# 自動起動設定を無効にする
$ sudo systemctl disable NetworkManager.service
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.

# 停止していることを確認する
$ systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
   Active: inactive (dead) since 金 2017-07-14 01:27:37 JST; 42s ago
     Docs: man:NetworkManager(8)
 Main PID: 2313 (code=exited, status=0/SUCCESS)
<省略>

3. ネットワークサービスを再起動する

$ sudo systemctl restart network.service
$ curl ifconfig.co
{グローバルIPアドレス}

インターネットにつながりました:confetti_ball:

対応に至るまでの経緯

1. インターネットに繋がらない:cold_sweat:

$ curl ifconfig.co
curl: (6) Could not resolve host: ifconfig.co; 不明なエラー

2. 状態を確認するがなんだかわからない・・・:sob:

Screen Shot 2017-07-13 at 22.19.03.png

$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:67:e7:fc brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.6/24 brd 192.168.0.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 2408:210:9080:4000:a00:27ff:fe67:e7fc/64 scope global mngtmpaddr dynamic 
       valid_lft 2591634sec preferred_lft 604434sec
    inet6 fe80::a00:27ff:fe67:e7fc/64 scope link 
       valid_lft forever preferred_lft forever

3. NetworkManagerにenp0s3が表示されなかった:scream:

# 起動していることを確認する
$ service NetworkManager status
Redirecting to /bin/systemctl status  NetworkManager.service
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since 木 2017-07-13 22:00:27 JST; 20min ago
     Docs: man:NetworkManager(8)
 Main PID: 2313 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           └─2313 /usr/sbin/NetworkManager --no-daemon

 7月 13 22:00:28 localhost.localdomain NetworkManager[2313]: <info>  [1499950828.0063] Loaded device plugin: NMEt...al)
<省略>
 7月 13 22:00:28 localhost.localdomain NetworkManager[2313]: <info>  [1499950828.0183] manager: startup complete
Hint: Some lines were ellipsized, use -l to show in full.

# NetworkManagerを立ち上げる
$ nmtui

Screen Shot 2017-07-13 at 22.09.45.png

いろんなサイトを見ると、ここでenp0s3が表示されるはずだった・・・が、何もない・・・・。

Screen Shot 2017-07-13 at 22.23.13.png

NetworkManagerを諦めて設定手段を変えることにしました。