スタティックNATは、内部IPアドレスと外部IPアドレスを1対1で固定的に変換する技術です。外部からのアクセスを特定の内部デバイスに許可する際に、重要な役割を果たします。
本記事では、Ciscoルーターを用いたスタティックNATの基本設定から動作確認までを具体的な手順で解説します。
NATに関する基本用語は下記のサイトを参考にしてください。
>> 参考記事 :NATの基本と用語整理:Inside / OutsideとLocal / Globalの違いを理解するスタティックNATとは
スタティックNATは、内部と外部のIPアドレスを1対1でマッピングし、固定的にアドレスを変換する技術です。
特に、内部ネットワーク上の特定デバイスに外部からのアクセスを可能にする場合などに使用されます。例えば、外部から内部のWebサーバやデータベースにアクセスさせたいときに用いることで、内部リソースを外部に公開することができます。
スタティックNATの基本設定
今回の構成では、R3ルーターでスタティックNATを設定し、内部(Inside)と外部(Outside)のインターフェースを定義します。R2は内部ネットワークのデバイス、R4は外部ネットワークのデバイスとして動作します。
インターフェースの設定(Inside、Outside)
R3ルーターで内部と外部のインターフェースを指定します。これにより、R3がNAT変換の境界として動作します。
R3(config)#interface FastEthernet0/0.23 R3(config-subif)#ip nat inside R3(config)#interface FastEthernet0/0.34 R3(config-subif)#ip nat outside
上記のコマンドにより、R3は内部(Inside)と外部(Outside)の境界を認識し、内部から外部へのパケットに対してNATを適用できるようになります。
スタティックNATエントリーの設定
次に、スタティックNATの変換エントリーを設定します。内部のIPアドレス 192.168.23.2 を外部のIPアドレス 192.168.34.3 に固定的に変換します。
R3(config)# ip nat inside source static 192.168.23.2 192.168.34.3
このコマンドは、ip nat inside source staticを使って、内部の送信元アドレスを外部の特定アドレスに変換する設定を行います。変換は内部のトラフィックに対して適用され、外部からのアクセスも逆方向に同じアドレス変換を行います。
では、R2にデフォルトルートを設定します。R4は何もルーティングを設定しません。すなわち、内部ネットワーク(192.168.23.0/24)へのルーティング情報はありません。
R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.23.3
R4(config)#no ip routing R4#sh ip route Default gateway is not set Host Gateway Last Use Total Uses Interface ICMP redirect cache is empty
動作確認
NAT設定が正しく機能するか、以下の手順で確認します。
R2からR4へのPingテスト
R3のNATテーブルをshow ip nat translations で確認します。
R3#sh ip nat translations Pro Inside global Inside local Outside local Outside global --- 192.168.34.3 192.168.23.2 --- ---
設定したスタティックNAT情報が表示されます。では、R2からR4にPingを送信し、通信が成功するかを確認します。
R2#ping 192.168.34.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.34.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/26/40 ms
Pingの応答が全て成功すれば、NAT設定が正しく動作していることが確認できます。
NATテーブルの確認
R3のNATテーブルを確認し、どのように変換が行われたかを確認します。
R3#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 192.168.34.3:3 192.168.23.2:3 192.168.34.4:3 192.168.34.4:3
--- 192.168.34.3 192.168.23.2 --- —
Outside local と Outside global は R4(192.168.34.4)で、プロトコルはicmpとして、エントリが登録されます。R3で デバックを取得し、どのようにアドレス変換されているか確認します。
デバッグによるアドレス変換の詳細
NATの動作をさらに詳細に確認するために、R3でデバッグを有効にし、パケットのアドレス変換プロセスを確認します。
R3#debug ip nat
ICMP通信に対するNAT変換
前章で発生させたPing通信のデバッグログは次のようになります
R3#debug ip nat *Jun 6 02:02:30.055: NAT*: s=192.168.23.2->192.168.34.3, d=192.168.34.4 [25] *Jun 6 02:02:30.087: NAT*: s=192.168.34.4, d=192.168.34.3->192.168.23.2 [25]
1行目は、R2からR4へのパケットで、送信元アドレスが192.168.23.2->192.168.34.3に変換されています。
2行目は、R4からR2への戻りパケットで、宛先アドレスが192.168.34.3->192.168.23.2に変換されています。
このログから、R2からR4へのパケットが送信される際に送信元アドレスが変換され、R4からR2への戻りパケットでは宛先アドレスが変換されていることが分かります。
TCP通信に対するNAT変換
スタティックNATの動作をさらに詳しく確認するために、R3でデバッグを有効にし、Telnetの通信がどのように変換されるかをチェックします。R2からR4にTelnet接続を実行することで、TCPベースの通信に対するNAT変換を確認できます。
R2#telnet 192.168.34.4 Trying 192.168.34.4 ... Open User Access Verification Password:
Telnet接続が開かれた場合、R3でのNATテーブルに新たなTCPエントリーが追加されます。Telnet通信後に、R3のNATテーブルを再度確認します。
R3#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 192.168.34.3:4 192.168.23.2:4 192.168.34.4:4 192.168.34.4:4
tcp 192.168.34.3:60102 192.168.23.2:60102 192.168.34.4:23 192.168.34.4:23
--- 192.168.34.3 192.168.23.2 --- ---
このエントリーは、プロトコルがTCPで、ポート番号23(Telnet用)で通信が行われていることを示しています。NAT変換が正しく機能し、R2からR4へのTelnet通信が期待通りに変換されていることがわかります。
まとめ
スタティックNATは、特定の内部IPアドレスを外部IPアドレスに固定的にマッピングすることで、外部からのアクセスを可能にする重要な技術です。この記事の手順により、基本的なスタティックNATの設定と動作確認が行えます。
コメント