VirtualBoxのネットワーク設定　NATとNATネットワーク設定について。

VirtualBoxのネットワーク設定がいまいち理解してるのかわからない…

ので自分なりにまとめ。
※全然理解してない人なので、間違えあればごめんなさい。参考にする場合は自己責任で。

#ステップ1　（何もないとき）
## 初期段階を見てみた

CentOS7.2でサーバー（GUI）でインストール。
初期設定でネットワーク設定なし。
仮想NICは何も差していない状況です。

_CentOSインストール_
![イメージ005.png](https://qiita-image-store.s3.amazonaws.com/0/77622/0631d7b7-7462-c3aa-80da-cf23b9299b72.png)

_ネットワーク設定なし_
![イメージ010.png](https://qiita-image-store.s3.amazonaws.com/0/77622/8a269899-8344-7060-6341-a3244b9df37b.png)

_Virtual Boxの仮想NICなし_
![イメージ001.png](https://qiita-image-store.s3.amazonaws.com/0/77622/aa31c307-b3c6-425a-12cd-895ede521415.png)


こんな感じで仮想マシンを起動してあげると
中身はこうなります。

![イメージ016.png](https://qiita-image-store.s3.amazonaws.com/0/77622/d549e36e-d1a7-259f-122d-aa8ab29efe47.png)

![イメージ017.png](https://qiita-image-store.s3.amazonaws.com/0/77622/3619b981-d39c-03e9-dfa5-b0910fa373ee.png)

virbr0という接続情報がデバイスvirbr0に紐づいている。
早速、これなに。

Google先生に聞くと以下のサイトで分かりやすい図があり。
http://www.orangetakam.com/blog/archives/1034

RedHat公式。
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/Virtualization_Getting_Started_Guide/chap-Virtualization_Getting_Started-Tools.html#idp3336016

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典はわかった気になれる。
http://wa3.i-3-i.info/word12032.html


## virbr0を消してきれいにする

この仮想ブリッジを消すには以下。

![イメージ025.png](https://qiita-image-store.s3.amazonaws.com/0/77622/75dddaf3-ac58-dfe6-b78d-5aed5ed5d3c5.png)

![イメージ026.png](https://qiita-image-store.s3.amazonaws.com/0/77622/8a469336-24e3-1381-6f1c-78535363a2be.png)

![イメージ027.png](https://qiita-image-store.s3.amazonaws.com/0/77622/4962085e-7a3f-7b4f-b8a3-6c068c386382.png)


なくなった～。


#ステップ2　(NATのとき）
## NAT

まずはNATを割り当ててみます。
![イメージ029.png](https://qiita-image-store.s3.amazonaws.com/0/77622/f80e20d6-7c04-2938-78c5-84a88580202d.png)

NATってなーにを確認。以下Google翻訳使用。
https://www.virtualbox.org/manual/ch06.html#network_nat

1. NATを有効にした仮想マシンは、ルータ経由でインターネットに接続する実際のコンピュータのように機能する。

2. 「ルータ」はVirtualBoxネットワークエンジンで、仮想マシンとの間でトラフィックを透過的にマッピングします。

3. NATモードの欠点は、仮想マシンは外部から見えず、到達不能であること。（ポートフォワーディング設定により回避可能）

4. ゲストオペレーティングシステムによって送信されたネットワークフレーム
   ↓
   VirtualBoxのNATエンジンによって受信。TCP / IPデータを抽出。
   ↓
   ホストオペレーティングシステムを使用して再送信
   (VirtualBoxがホスト上の特定のポートをリッスンし、そこに到着するすべてのパケットを同じポートまたは別のポート上で再送信することを意味)

5. 仮想マシンは、VirtualBoxに統合されたDHCPサーバーからプライベートネットワーク上のネットワークアドレスと構成を受信します。最初のカードはプライベートネットワーク10.0.2.0に接続されます。

![イメージ031.png](https://qiita-image-store.s3.amazonaws.com/0/77622/3e531a26-f3da-5f8e-5604-334b668f0f29.png)

NATの説明の通りですね。

イメージこんな感じ？
![Inkedイメージ032_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/77622/87f4760c-060e-db3d-e7b6-80314453d516.jpeg)


このWiFiのネットワーク設定はこのようになってます。
![イメージ015.png](https://qiita-image-store.s3.amazonaws.com/0/77622/bd7d1ada-ab35-d378-bf43-01449e5722ec.png)


先ほどの説明にあったようにこの時、ゲストマシンからホストのアドレスにping疎通でき、インターネットに接続可能。
![イメージ034.png](https://qiita-image-store.s3.amazonaws.com/0/77622/0fe9ed4b-0134-23ec-fe3d-e4c5c9abf7aa.png)

しかし、ホストからは10.0.2.15/24には到達しない。

##NAT設定で、ホストからゲストにSSH接続

https://www.virtualbox.org/manual/ch06.html#natforward

ということで、ポートフォワーディングを設定する。
![イメージ037.png](https://qiita-image-store.s3.amazonaws.com/0/77622/0aa8255c-a7b5-3a72-30ce-085772f912c0.png)

ホストからtelnet localhost 1024で、tcpdumpでパケットが来てることを確認。
![イメージ041.png](https://qiita-image-store.s3.amazonaws.com/0/77622/2d201735-b474-3660-ee41-350fa147becf.png)

TeraTermでSSH
![イメージ043.png](https://qiita-image-store.s3.amazonaws.com/0/77622/2ff551c5-c700-0b59-1645-9b5faff1a678.png)

![イメージ046.png](https://qiita-image-store.s3.amazonaws.com/0/77622/ac897314-0973-41c4-2044-1a397929813b.png)

入れた～。


#ステップ3 (NATネットワークのとき）
##NATネットワーク

https://www.virtualbox.org/manual/ch06.html#network_nat_service

1. NATサービスは、内部ネットワークに接続されています。
2. ネットワークアドレス変換（NAT）サービスは、ホームルータと同様に動作し、ネットワークを使用してシステムをグループ化
3. 仮想マシンを使用する仮想マシンは、その内部ネットワークに接続する必要があります。

NATサービスの名称やIPアドレスの設定は以下のよう。
![イメージ048.png](https://qiita-image-store.s3.amazonaws.com/0/77622/66f07cd9-3bdd-280a-1958-ddd8b2bbe2bc.png)


NATと違いは、VirtualBoxのほかの仮想マシンとも疎通が取れること。
同じNATサービスに接続しているため、論理的に同じネットワークに属する。

仮想マシンをクローンして、Host1とHost2を作成。
以下のようなネットワーク設定になり、両方のゲストマシンから疎通が取れる。

**[Host1]**
![イメージ049.png](https://qiita-image-store.s3.amazonaws.com/0/77622/73ac9653-decf-30c1-5287-0a8e35b20e5e.png)

**[Host2]**
![イメージ050.png](https://qiita-image-store.s3.amazonaws.com/0/77622/f70d3bb0-0ddf-93cf-9590-0fea3a1425c4.png)