久しぶりにGNS3（その２：リアルネットワークへ接続その２）

# NATを使ってリアルネットワークへ接続
[その１](https://qiita.com/infinite1oop/items/6b176d63704823a6b88b)では、ブリッジ接続を用いて、GNS3内ネットワークをリアルネットワークに接続していた。この場合、GNS3をインストールしているWindows PCにスタティックルートを設定しないと、ブリッジ接続されているGNS3ルーター以外のサブネットとリアルネットワークとが接続できない。ここでは、NATを用いてリアルネットワークに接続することにより、Windows PCでのスタティックルート設定を不要とすることにトライする。参考にしたサイトは[こちら](https://www.youtube.com/watch?v=2zeoC2Q4mW0)である。

## GNS3設定
### NAT
GNS3にてネットワーク作成時にNATを選択する。このNATがリアルネットワークへの接続となる。
![VMからNATを選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/0e6874bf-7f58-64c8-60fb-612d467a7f0b.png)
「GNS3 VM」かローカルPCかを選べるが、ここでは前者を選択した。

### GNS3内ルーターのNAT化
上記NATと接続するルーターをNAT化することにより、Windows PCでのスタティックルート設定を不要とする。

### ネットワーク構成
最終的に作成するネットワークは次のようなもの。
![topology_nat.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/291ed50e-c432-6f11-b6bb-ef87bf2f814a.png)
右下にあるものが、リアルネットワークに接続されるCloudであり、NAT設定をおこなったRouterに接続されている。Routerの左側にPCが接続されたネットワークが存在している。

### Routerの設定
#### 基本設定
f0/0の設定。リアルネットワークと接続されるNATから、DHCPでIPアドレスを取得する。

```
RouterWithNAT#conf t
RouterWithNAT(config)#interface fastEthernet 0/0
RouterWithNAT(config-if)#ip addr dhcp
RouterWithNAT(config-if)#no shut
```

名前解決を行う。

```
RouterWithNAT(config)#ip domain-lookup
```

f0/1には、固定IPアドレス「10.1.1.254」を設定する。

```
RouterWithNAT(config)#interface fastEthernet 0/1
RouterWithNAT(config-if)#ip addr 10.1.1.254 255.255.255.0
RouterWithNAT(config-if)#no shut
```

#### RouterのNAT化
すべてのIPアドレス許可、f0/0が外側、f0/1が内側としている。

```
RouterWithNAT(config)#access-list 1 permit any
RouterWithNAT(config)#$ip nat inside source list 1 interface fastEthernet 0/0 overload
RouterWithNAT(config)#interface fastEthernet 0/0
RouterWithNAT(config-if)#ip nat outside
RouterWithNAT(config-if)#exit
RouterWithNAT(config)#interface fastEthernet 0/1
RouterWithNAT(config-if)#ip nat inside
RouterWithNAT(config-if)#end
```

### GNS3内PCの設定
先ほどの構成図のPC1の設定である。

```
PC1> ip 10.1.1.1 255.255.255.0 10.1.1.254
Checking for duplicate address...
PC1 : 10.1.1.1 255.255.255.0 gateway 10.1.1.254
PC1> ip dns 8.8.8.8
```

ここでは、DNSサーバーとして、「8.8.8.8」を選択。

## 実験
PC1からのpingである。

```
PC1> ping google.co.jp
google.co.jp resolved to 142.250.207.3

84 bytes from 142.250.207.3 icmp_seq=1 ttl=113 time=20.719 ms
84 bytes from 142.250.207.3 icmp_seq=2 ttl=113 time=17.921 ms
84 bytes from 142.250.207.3 icmp_seq=3 ttl=113 time=18.325 ms
84 bytes from 142.250.207.3 icmp_seq=4 ttl=113 time=29.138 ms
84 bytes from 142.250.207.3 icmp_seq=5 ttl=113 time=19.633 ms
```

成功。また、GNS内ルーターでのNATの状況は下記のとおり。

```
RouterWithNAT#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.122.144:25942 10.1.1.1:25942 142.250.207.3:25942 142.250.207.3:25942
icmp 192.168.122.144:26198 10.1.1.1:26198 142.250.207.3:26198 142.250.207.3:26198
icmp 192.168.122.144:26454 10.1.1.1:26454 142.250.207.3:26454 142.250.207.3:26454
icmp 192.168.122.144:26710 10.1.1.1:26710 142.250.207.3:26710 142.250.207.3:26710
icmp 192.168.122.144:26966 10.1.1.1:26966 142.250.207.3:26966 142.250.207.3:26966
udp 192.168.122.144:63770 10.1.1.1:63770  8.8.8.8:53         8.8.8.8:53
udp 192.168.122.144:17171 10.1.1.2:17171  8.8.8.8:53         8.8.8.8:53
icmp 192.168.122.144:31318 10.1.1.2:31318 172.217.175.46:31318 172.217.175.46:31318
icmp 192.168.122.144:31574 10.1.1.2:31574 172.217.175.46:31574 172.217.175.46:31574
icmp 192.168.122.144:31830 10.1.1.2:31830 172.217.175.46:31830 172.217.175.46:31830
icmp 192.168.122.144:32086 10.1.1.2:32086 172.217.175.46:32086 172.217.175.46:32086
icmp 192.168.122.144:32342 10.1.1.2:32342 172.217.175.46:32342 172.217.175.46:32342

RouterWithNAT#show ip nat statistics
Total active translations: 6 (0 static, 6 dynamic; 6 extended)
Outside interfaces:
  FastEthernet0/0
Inside interfaces:
  FastEthernet0/1
Hits: 14  Misses: 10
CEF Translated packets: 20, CEF Punted packets: 7
Expired translations: 6
Dynamic mappings:
-- Inside Source
[Id: 1] access-list 1 interface FastEthernet0/0 refcount 6
Appl doors: 0
Normal doors: 0
Queued Packets: 0
```

このようなケースでのリアルネットワークとの接続に関しては、NATの方がブリッジより簡単である。