CCNA対策 8回目 [NATについて]
・NAT
NAT[Network Address Translation]は、プライベートIPアドレス(内部のNWで使用)をグローバルIPアドレス(外部、インターネット上で使用)に変換します。
NATテーブル(変換前と後を記録したもの)は[show ip nat translationコマンド]で確認ができます。リアルタイムで確認したい場合は[drbug ip natコマンド]を使用します。
ex)
Router> enable
Router# show ip nat translation
Pro Inside global Inside local Outside local Outside global
--- X.0.0.X XXX.XXX.XXX.X --- ---
<NATの種類>
①スタティックNAT(SNAT)
変換するプライベートIPアドレスと対応するグローバルIPアドレスをあらかじめNATテーブルに登録しておく方法。
[ip nat inside source staticコマンド]で設定できます。
ex)
Router> enable
Router# config t
Router(config)# ip nat inside source static *内部ローカルIP* *内部グローバルIP*
※ローカルアドレスとグローバルアドレスについて
Ciscoの用語です。
内部NWに現れるアドレスをローカルアドレスといいます。外部NWに現れるアドレスをグローバルアドレスといいます。
こちらから送信する場合
送信元アドレスで内部NW側を内部ローカルアドレスといいます。これは内部NWのホストに割り当てられるIPアドレスです。
外部NW側で受け取った送信元アドレスを内部グローバルアドレスといいます。サービスブロバイダなどによって割り当てられるIPアドレスです。
ex)
Router(config)# ip nat inside source static *内部ローカルアドレス* *内部グローバルアドレス*
!--- Inside host is known to the outside host as *内部グローバルアドレス*
受信する場合
外部NW側から送信する宛先用のアドレスを外部ローカルアドレスといいます。内部NWからみた外部ホストのIPアドレスです。
こちらで受信したときの外部NWの送信元アドレスを外部グローバルアドレスといいます。ホスト所有者によって外部NWのホストに割り当てられるIPアドレスです。
NATの仕組みは、ローカルアドレスとグローバルアドレスを変換している
ともとらえることができます。
ex)
Router(config)# ip nat outside source static *外部グローバルアドレス* *外部ローカルアドレス*
!--- Outside host is known to the inside host as *外部ローカルアドレス*
ルータのいずれかを内部ローカル、グローバル側として設定します。
ex)
Router(config)# interface *内部ローカル名。Ethetnetなど*
Router(config-if)# ip nat inside
ex)
Router(config)# interface *内部グローバル名。Ethernetなど*
Router(config-if)# ip nat outside
②ダイナミックNAT(DNAT)
グローバルIPアドレスをあらかじめ複数用意し、その中から選んでプライベートIPアドレスと対応させる方法。グローバルIPアドレスの個数が接続しているプライベートIPアドレスよりも少ない場合、インターネットに接続ができないことがあります。
まず、[ip nat poolコマンド]で変換用アドレスのプール作成してから
[access-listコマンド]で交換の対象を指定します。
ex)
Router> enable
Router# config t
Router(config)# ip nat pool *プール名* *開始IPアドレス* *終了IPアドレス* netmask *サブネットマスク*
Router(config)# access-list *番号* *注1)許可の有無* *送信元IP* *ワイルドカードマスク*
Router(config)# ip nat inside source list *番号* pool *プール名*
注1)許可の有無で、[permit](か[deny])を入力します。
最後のコマンドは、変換するとき使用するアクセスリストとプールを指定しています。
アクセスリストとは、送信元のIPアドレス情報から通信を許可するかどうかを判断している機能です。
許可をすることで、
①同様にルータのいずれかを内部ローカル、グローバル側として設定します。
③PAT[Port Address Translation](Ciscoでの呼び方。一般にはIPマスカレード、NAPT[Network Address Post Translation]と呼ばれる)
インターネットへパケットを送信するとき、グローバルIPアドレスに
変換するのに加えて送信元ポート番号も書き換えます。
そしてこの時、変換前と変換後のIPアドレスとポート番号を変換テーブルに記録しておきます。
変換テーブルからポート番号を基にどのPC宛のパケットなのかを判断し、その宛先のIPアドレスに変換します。
そのため、複数のプライベートIPアドレスを1つのグローバルIPアドレスに変換できます。
設定方法は②と同様ですが、最終コマンドのアクセスリストとプールを指定するコマンドに[overload]を追加します。
ex)
Router(config)# ip nat pool *プール名* *開始IPアドレス* *終了IPアドレス* netmask *サブネットマスク*
Router(config)# ip nat inside source list *アクセス番号* pool *プール名* overload
また、プールを設定せずに
Router(config)# ip nat inside source list *アクセス番号* interface *内部ローカルアドレス* overload
とコマンドを入力しても設定できます。
参考
CCNA対策から学ぶネットワーク運用ガイド2 ほか