6. NAT・DHCPの設定とDNSの確認
6.1. NATの設定
NATはプライベートIPアドレスをグローバルIPアドレスに変換する仕組み。
6.1.1. NATの確認
NATの確認はshow ip nat statistics
やshow access-lists
、show runnning-config
で確認可能。
NATテーブルの確認
NATテーブルにNAT変換情報が登録されるタイミングはNAT方式によって異なる。 Static NATの場合は設定を行った時点でNATテーブルへNAT変換情報が登録される。 一方、Dynamic NAT/NAPTの場合はNAT変換を行う通信が発生した時点で、NATテーブルへNAT変換情報が登録される。
NATのアドレス変換の統計情報確認
NATの変換情報のリアルタイムでの確認
NATテーブルの削除
6.1.2. Static NATの設定
Static NATを設定する場合以下のことを行う必要がある。
- ルータのインターフェイスにinside/outsideの設定
- 内部ローカルアドレスと内部グローバルアドレスの組み合わせをNATテーブルに登録
以下に設定例のコマンド手順を記載する。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat inside
(config-if)#exit
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat outside
(config-if)#exit
# NATテーブルに内部ローカルアドレスと内部グローバルアドレスの組み合わせを登録
(config)# ip nat inside source static <内部ローカルアドレス> <内部グローバルアドレス>
6.1.3. Dynamic NATの設定
Dynamic NATを設定する場合以下のことを行う必要がある。
- ルータのインターフェイスにinside/outsideの設定
- 変換対象の内部ローカルアドレスのリストの作成
- アドレスプールの作成
- 内部ローカルアドレスリストとアドレスプールの紐づけ
変換対象の内部ローカルアドレスのリストの作成はACLを使用する。 ACLのpermitとなっているアドレスはNAT変換される。 一方でdenyとなっているアドレスはNAT変換が行われない。
以下に設定例の手順を記載する。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat inside
(config-if)#exit
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat outside
(config-if)#exit
# 変換対象の内部ローカルアドレスのリストをACLで作成
(config)# access-list <ACL番号> permit <送信元IPアドレス> <ワイルドカードマスク: 0.0.0.255など>
# アドレスプールの作成
(config)#ip nat pool <プール名> <開始アドレス> <終了アドレス> netmask <サブネットマスク>
# NATテーブルに内部ローカルアドレスリストとアドレスプールの紐づけ
(config)#ip nat inside source list <ACL番号> pool <プール名>
6.1.4. NAPT(PAT, IPマスカレード)の設定
NAPTをを設定する場合以下のことを行う必要がある。
- ルータのインターフェイスにinside/outsideの設定
- 変換対象の内部ローカルアドレスのリストの作成
- アドレスプールを利用する場合は作成(任意)
- 内部ローカルアドレスリストとアドレスプールまたは外部インターフェイスの紐づけ
NAPTはアドレスプールの設定は必須ではなく任意。 また外部インターフェイスに設定されたIPアドレスを変換するための内部グローバルアドレスとして使える。
以下に設定例(アドレスプールを使用しない場合)の手順を記載する。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat inside
(config-if)#exit
(config)# interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat outside
(config-if)#exit
# 変換対象の内部ローカルアドレスのリストをACLで作成
(config)#access-list <ACL番号> permit <送信元IPアドレス> <ワイルドカードマスク: 0.0.0.255など>
# 外部インターフェイスとアクセスリストの紐づ(overloadでNAPTとなる)
(config)#ip nat inside source list <ACL番号> interface <ポートの規格: fastEthernetなど> <ポート番号> overload
6.1.5. NAT変換がうまくいかない場合の確認事項
- 内部インターフェイス/外部インターフェイスの指定ミスがないか
- 変換対象の内部ローカルアドレスを指定するACLの間違えていないか
- 内部ローカルアドレス/内部グローバルアドレスの紐づけ間違いがないか
- NATのアドレスプールで指定する内部グローバルアドレスの間違いがないか
- NAPTの場合は
overload
の指定忘れがないか
6.2. DHCPの設定
DHCPはクライアントやネットワーク機器に自動でプライベートIPアドレスを付与する仕組み。
DHCPはDHCPサーバとDHCPクライアントから成り立つ。 ルータはDHCPサーバ、DHCPクライアントどちらにも動作させることができる。
具体的にはDHCPの設定は以下2つのパターンのいずれかで行える。
- DHCPサーバを用意する
- ルータ自身にDHCPサーバ機能を持たせる
6.2.1. DHCPの確認
DHCPクライアントか確認する
show ip interface brief
、show interfaces
、show dhcp lease
等で確認が可能。
DHCPのアドレスプールの確認
IPアドレスの割り当て状況確認
重複が発生したIPアドレスの確認と削除
6.2.2. DHCPサーバとしての設定
ルータをDHCPサーバにするには以下ステップを踏む必要がある。
- アドレスプールの作成
- 配布するIPアドレスのネットワーク/サブネットの指定
- デフォルトゲートウェイの指定
- IPアドレスのリース期間の指定
- DNSサーバの指定
- 除外するアドレスの指定
(config)#ip dhcp pool <プール名>
(dhcp-config)#network <ネットワーク> <サブネットマスク または /プレフィックス>
(dhcp-config)#default-router <IPアドレス>
(dhcp-config)#lease <日数>
(dhcp-config)#dns-server <DNSサーバのIPアドレス>
(dhcp-config)#exit
(config)#ip dhcp excluded-address <開始アドレス> [<終了アドレス>]
6.2.3. DHCPクライアントとしての設定
ルータのインターフェイスのIPアドレスをDHCPサーバに割り当ててもらう場合、そのルータをDHCPクライアントにする必要がある。
なお以下はルータのポートはDHCPサーバのブロードキャストを受け取る側で実行する必要がある。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip address dhcp
(config-if)#no shutdown
6.2.4. DHCPリレーエージェントの設定
DHCPリレーエージェントはブロードキャストされたDHCP要求をユニキャストで転送する機能。 DHCPサーバとクライアント間にルータがある場合、ルータはブロードキャストを行わない。 そのためクライアントにIPアドレスを割り当てることができない。 この問題の解決のためにはルータにDHCPリレーエージェントを設定する必要がある。
なおクライアント側のポートで以下は実行する必要がある。
6.3. DNSの確認
6.3.1. DNSサーバとして使用する
CiscoルータはDNSサーバとして動作させることができる。
6.3.2. DNSクライアントとして使用する
Ciscoのルータは名前解決を行うDNSクライアントとすることができる。 DNSクライアントとして動作させるには以下のコマンドを使用する。