【ip redirectって何?】
IPリダイレクト(IP redirects)とは、インターネットプロトコル(IP)を使用して、ネットワーク内のあるコンピューターから別のコンピューターにトラフィックをリダイレクトする方法です。これは、ネットワーク内でトラフィックが最適なルートをたどることを保証するために使用されます。IPリダイレクトは、主にルーターによって実行され、以下のように機能します。
1.ルーターは、ネットワーク内の他のルーターと情報を交換して、ネットワークのトポロジーと最適なルートを知ることができます。
2.ソースコンピューターが宛先コンピューターにデータを送信しようとすると、そのパケットは最初にルーターに送信されます。
3.ルーターは、パケットの宛先に最適なルートがあるかどうかを判断します。最適なルートがルーター自体を経由しない場合、ルーターはIPリダイレクトメッセージをソースコンピューターに送信します。
4.IPリダイレクトメッセージには、新しいルートの情報が含まれています。これにより、ソースコンピューターは、今後の通信でパケットを直接宛先ルーターに送信できるようになります。
IPリダイレクトは、ネットワーク効率を向上させ、遅延を減らすのに役立ちます。ただし、セキュリティ上のリスクがあるため、いくつかのネットワーク管理者はこの機能を無効にすることがあります。例えば、攻撃者が偽のIPリダイレクトメッセージを送信してトラフィックを悪意のあるコンピューターにリダイレクトすることができます。これを防ぐために、ネットワークデバイスは信頼できるルーターからのリダイレクトメッセージのみを受け入れるように設定されることがあります。
【概要】
ルータが「redirect」の動作について記載する。
redirect を有効 / 無効にした場合でそれぞれどのように経路が異なるか。
redirect 設定有無による通信経路
- NW構成
PC1のデフォルトゲートウェイはR1とする。R1では3.3.3.3向けの経路のみnext-hopをR3とし、デフォルトルートをR2に向ける。 - Redirect無効
R1のGi0/0を[no ip redirects]を設定する事により、redirectを無効にする。 - Redirect有効
R1のGi0/0を[ip redirects]を設定する事により、redirectを有効にする。
(ほとんどのIOSでは、デフォルト有効になっている)
redirectにより経路が変わる仕組み(概要)
【概要】
[PC1] → [4.4.4.4]へのICMP通信を考える
- 1発目のICMPパケットは、[PC1]→[R1]→[R2]→[R4]→[4.4.4.4]となる。
- [R1]から[PC1]に対して、redirectメッセージを送信
- 2発目のICMPパケットから、[PC1]→[R2]→[R4]→[4.4.4.4]となる。
redirectにより経路が変わる仕組み(詳細)
【詳細】
[PC1] → [4.4.4.4]へのICMP通信を考える
- 1発目のICMPパケットは、[PC1]→[R1]→[R2]→[R4]→[4.4.4.4]となる。
R1のGi0/0をredirectsを有効にしても上記の経路となる。
PC1の宛先MACアドレスは、R1 Gi0/0を利用して通信される。 - [R1]から[PC1]に対して、redirectメッセージを送信
redirectメッセージは、[ICMP Type5 Code 0] が利用される。Type 5 — Redirect Code Description 0 Redirect Datagram for the Network (or subnet) 1 Redirect Datagram for the Host 2 Redirect Datagram for the Type of Service and Network 3 Redirect Datagram for the Type of Service and Host [ICMP Type5 Code 0]の内には[4.4.4.4]へのゲートウェイをR2する内容が入っている。
- 2発目のICMPパケットから、[PC1]→[R2]→[R4]→[4.4.4.4]となる。
PC1の宛先MACアドレスは、R2 Gi0/0へ変更される事により、経路がredirectされる。
その後も[R1]を経由せず、redirectされた経路が採用される。
R1のdebug ip icmp
R1#debug ip icmp
ICMP packet debugging is on
R1#
*Apr 24 15:32:03.572: ICMP: redirect sent to 10.1.1.100 for dest 4.4.4.4, use gw 10.1.1.2
[PC1]:10.1.1.100 が4.4.4.4への通信する場合は、redirectして、GWが[R2]:10.1.1.2になることが出力される。
PC1からのTraceroute
redirect無効
traceroute to 4.4.4.4 (4.4.4.4), 30 hops max, 46 byte packets 1 10.1.1.1 (10.1.1.1) 7.074 ms 5.275 ms 5.850 ms 2 10.1.1.2 (10.1.1.2) 12.059 ms 3 10.24.1.4 (10.24.1.4) 16.752 ms 8.983 ms
redirect有効
traceroute to 4.4.4.4 (4.4.4.4), 30 hops max, 46 byte packets 1 10.1.1.2 (10.1.1.2) 6.041 ms 11.428 ms 8.779 ms 2 10.24.1.4 (10.24.1.4) 12.662 ms 9.099 ms *
Config (redirect 有効)
R1-config Clinck
hostname R1 ! interface GigabitEthernet0/0 ip address 10.1.1.1 255.255.255.0 duplex auto speed auto media-type rj45 ! interface GigabitEthernet0/1 ip address 10.13.1.1 255.255.255.0 duplex auto speed auto media-type rj45 ! ip route 0.0.0.0 0.0.0.0 10.1.1.2 ip route 3.3.3.3 255.255.255.255 10.13.1.3 ! control-plane ! end
R2-config Clinck
hostname R2 ! interface GigabitEthernet0/0 ip address 10.1.1.2 255.255.255.0 duplex auto speed auto media-type rj45 ! interface GigabitEthernet0/1 ip address 10.24.1.2 255.255.255.0 duplex auto speed auto media-type rj45 ! ip route 0.0.0.0 0.0.0.0 10.12.1.1 ip route 4.4.4.4 255.255.255.255 10.24.1.4 ! control-plane ! end
R3-config Clinck
hostname R3 ! interface Loopback0 ip address 3.3.3.3 255.255.255.0 ! interface GigabitEthernet0/0 ip address 10.13.1.3 255.255.255.0 duplex auto speed auto media-type rj45 ! ip route 0.0.0.0 0.0.0.0 10.13.1.1 ! control-plane ! end
R4-config Clinck
hostname R4 ! interface Loopback0 ip address 4.4.4.4 255.255.255.255 ! interface GigabitEthernet0/0 ip address 10.24.1.4 255.255.255.0 duplex auto speed auto media-type rj45 ! ip route 0.0.0.0 0.0.0.0 10.24.1.2 ! control-plane ! end
redirectのメリット・デメリット
- メリット
余計なルータを経由することが無くなるので、通信効率が良くなる。 - デメリット
自動的に経路が変わるため、認識が無いと混乱する場合がある。