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`を編集する
```shell-session
$ 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  &nbsp;|&nbsp; Google Developers](https://developers.google.com/speed/public-dns/)

**GATEWAY** : ホストOSのデフォルトゲートウェイを記載しました。
[Macで自分のゲートウェイを確認する方法](http://qiita.com/ponsuke0531/items/3a559ffc08aed8b19281)


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

```shell-session
# 状態を確認する
$ 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. ネットワークサービスを再起動する
```shell-session
$ sudo systemctl restart network.service
$ curl ifconfig.co
{グローバルIPアドレス}
```
インターネットにつながりました:confetti_ball:



## 対応に至るまでの経緯
### 1. インターネットに繋がらない:cold_sweat:
```shell-session
$ curl ifconfig.co
curl: (6) Could not resolve host: ifconfig.co; 不明なエラー
```

### 2. 状態を確認するがなんだかわからない・・・:sob:
![Screen Shot 2017-07-13 at 22.19.03.png](https://qiita-image-store.s3.amazonaws.com/0/159761/008e0a29-4c28-904c-14b8-ebdce453c5ba.png)

```shell-session
$ 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:
```shell-session
# 起動していることを確認する
$ 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](https://qiita-image-store.s3.amazonaws.com/0/159761/1b975e53-da81-06cf-b675-45d53e382eb8.png)

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

![Screen Shot 2017-07-13 at 22.23.13.png](https://qiita-image-store.s3.amazonaws.com/0/159761/241bd05a-c3c4-8487-46ef-a89aaa06fd1f.png)

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