【ネットワーク:Cisco】スタティックルート、DHCPリレーエージェント、スタティックNATの構成を検証

今回の検証では、DHCPリレーエージェント設定された環境でPCがDHCPサーバからIPアドレスを自動取得し、PCでWEBサーバのWEBページが閲覧できることを確認します。さらにスタティックNATが正しく設定されているかWEBサーバのログに設定したIPアドレス(10.0.0.*)が記載されていることを確認します。ルータ、スイッチの初期設定やトランク、サブインターフェイス設定は、完了しているものとします。
繰り返しとなりますが今回の検証で確認したかった事は以下の3つです。
・スタティックルートはルータへどのように設定すればよいか
・DHCPリレーエージェントは何か所設定すればよいか
・スタティックNATを設定した時、WEBサーバのログにスタティックNAT設定したIPアドレスが記載されるのか
目次
環境
・Ciscoルータ
型番:C891FJ-K9
・Cisco catalyst 2960 8ポートスイッチ
型番:WS-C2960C-8TC-L
・VLAN
VLAN10(192.168.10.0)
VLAN20(192.168.20.0)
・Windows Server 2022 評価版
DHCP 兼 IISサーバ

スタティックルート追加
この環境でPCがDHCP 兼 WEBサーバと通信するためにはルータ(RT01、RT02)へスタティックルートを追加する必要があるため追加していきます。
ルータ(RT01)へスタティックルート追加
ルータ(RT01)へ 172.16.0.0 へのスタティックルート追加します。ルータ(RT01)から見たら 10.0.0.253 がネクストホップとなります。
RT01#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT01(config)#ip route 172.16.0.0 255.255.255.0 10.0.0.253
RT01(config)#end
RT01#
ルータ(RT01)のルーティングテーブルに 172.16.0.0 へのスタティックルートが追加されました。

この時点ではPC 192.168.10.1から10.0.0.253へPINGしてもNGとなります。理由は、スタティックルート追加でルータ(RT01)は10.0.0.253へ送ればよいことを認識しましたがルータ(RT02)は受信した通信の返し先を認識してないのでPINGはNGとなります。
ルータ(RT02)へスタティックルート追加
ルータ(RT02)へ 192.168.10.0 と 192.168.20.0 へのスタティックルート追加します。ルータ(RT02)から見たら 10.0.0.254 がネクストホップとなります。
RT02#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT02(config)#ip route 192.168.10.0 255.255.255.0 10.0.0.254
RT02(config)#ip route 192.168.20.0 255.255.255.0 10.0.0.254
RT02(config)#end
RT02#
ルータ(RT02)のルーティングテーブルに 192.168.10.0 と 192.168.20.0 へのスタティックルートが追加されました。

※この時点ではDHCPリレーエージェントを設定してないためPCへ固定でIPアドレスを設定しています
上記スタティックルートを設定することで PC 192.168.10.1 から 10.0.0.253 や 172.16.0.100 へPING疎通できるようになりました。また、WEBサーバのWEBページも表示することができました。

DHCPリレーエージェント設定
ルータが複数台になった時、DHCPリレーエージェントは何か所設定すればよいかわからなかったため検証してみました。
結果、最初に DHCP Discover(ブロードキャスト)を受信する RT01のポート1箇所だけ設定するとDHCPサーバからIPアドレスを自動取得することができました。今回の環境はサブインターフェースを設定しているので各サブインターフェースごとにDHCPリレーエージェントを設定する必要があります。
ルータ(RT01)のFa0に作成したvlan10用のサブインターフェース「Fa0.10」へDHCPリレーエージェント設定を追加します。
RT01#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT01(config)#int Fa0.10
RT01(config-subif)#ip helper-address 172.16.0.100
RT01(config-subif)#end
RT01#
ルータ(RT01)のFa0に作成したvlan20用のサブインターフェース「Fa0.20」へDHCPリレーエージェント設定を追加します。
RT01#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT01(config)#int Fa0.20
RT01(config-subif)#ip helper-address 172.16.0.100
RT01(config-subif)#end
RT01#

スタティックNAT設定
NATを設定した時、WEBサーバのログにスタティックNAT設定したIPアドレスが記載されるのか検証します。ルータ(RT01) とルータ(RT02) は、インターネット回線を介して接続されているイメージです。(あくまでイメージです。。)
今回は内部から外部へ出ていく際の送信元IPアドレスをNATで変換したいと思います。まず内部と外部を指定する必要があり、図のNAT(インサイド)が内部、NAT(アウトサイド)が外部となります。
コマンド構文は、インターフェースコンフィグレーションモードで実行します。
内部を指定:ip nat inside
外部を指定:ip nat outside
次に内部から外部への送信元アドレス変換を行うためのコマンド構文は、コンフィグレーションモードで「ip nat inside source static 送信元IPアドレス 変換するIPアドレス」を実行します。
今回送信元は PCの 192.168.10.1 となり外部へ出る際 10.0.0.1 へ変換されるよう設定します。
手動で変換を設定するためスタティックNATと表現されるようです。

内部、外部を指定
それでは内部と外部を指定します。サブインターフェースの場合は、各サブインターフェースへの設定が必要となります。
RT01#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT01(config)#interface FastEthernet0.10
RT01(config-subif)#ip nat inside
RT01(config-subif)#exit
RT01(config)#
RT01(config)#interface GigabitEthernet8
RT01(config-if)#ip nat outside
RT01(config-if)#end
RT01#
スタティックNATを設定
次に内部から外部への送信元アドレス変換を行うためのコマンドを実行します。192.168.10.1を10.0.0.1へ変換するように設定します。
RT01#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT01(config)#ip nat inside source static 192.168.10.1 10.0.0.1
RT01(config)#end
RT01#
スタティックNATが正しく設定されているか確認します。変換テーブルに存在することが確認できました。

VLAN20用のスタティックNAT設定も入れておきます。外部となるポートは「ip nat outside」をすでに設定ずみのため、ここでは不要となります。
RT01#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT01(config)#interface FastEthernet0.20
RT01(config-subif)#ip nat inside
RT01(config-subif)#exit
RT01(config)#
次に内部から外部への送信元アドレス変換を行うためのコマンドを実行します。192.168.20.1を10.0.0.2へ変換するように設定します。
RT01#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT01(config)#ip nat inside source static 192.168.20.1 10.0.0.2
RT01(config)#end
RT01#
スタティックNATが正しく設定されているか確認します。変換テーブルに存在することが確認できました。

動作確認
動作確認はWEBサーバ(winsv01)のログを確認します。
1行目がスタティックNAT設定前、2行目がスタティックNAT設定後のアクセスログです。
想定どおりスタティックNATで定義したIPアドレスが送信元IPアドレスとなりWEBサーバへアクセスしていることが確認できました!

まとめ
今回の検証はごちゃごちゃした内容となりましたが、いろいろな設定を複合的に設定した時の状況を残しておきたかったのであえて記載させていただきました。