Hierarchical Navigation |
目次概要 概要ポリシーベース ルーティングでは、ネットワーク管理者によって定義されたポリシーに基づいてデータ パケットの転送とルーティングを行うためのツールが提供されます。 事実上、この方法によって、ポリシーはルーティング プロトコルによる決定を無効にすることができます。 ポリシーベースのルーティングには、アクセス リスト、パケット サイズ、あるいは他の基準に基づいたポリシーを選択的に適用するメカニズムが含まれます。 実行できる処置には、ユーザが定義したルート上でのパケットのルーティング、優先順位やタイプ オブ サービス ビットの設定などがあります。 この文書では、ファイアウォールを使用して、10.0.0.0/8 のプライベート アドレスをインターネットにルーティング可能なアドレス(サブネット 172.16.255.0/24 に属するアドレス)に変換しています。 次のダイアグラムを参照してください。 詳細は、「ポリシーベース ルーティング」を参照してください。 はじめに表記法文書の表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。 前提条件この文書に関する特別な前提条件はありません。 使用するコンポーネントこの文書は特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。 この文書で紹介する情報は、次のバージョンのソフトウェアとハードウェアに基づいて作成されました。
この文書の情報は、特定のラボ環境にあるデバイスに基づいて作成されています。 この文書内で使用されているデバイスはすべて、クリアな状態(デフォルト)から設定作業を始めています。 コマンドを実行する前に、実稼動中のネットワークに与える影響について理解しておいてください。 設定例この例では、通常のルーティングが使用され、10.0.0.0/8 ネットワークからインターネットに送信されるすべてのパケットは、(172.16.187.0/24 サブネットを介して)Cisco WAN ルータのインターフェイス ethernet 0/0 を経由するルートを通ります。このルートが最小メトリックの最善パスだからです。 ポリシーベースのルーティングでは、対象パケットをファイアウォールを経由するパスを通してインターネットに送信することが望ましいため、ポリシー ルーティングを設定することにより、通常のルーティング動作を無効にしなければなりません。 ファイアウォールによって、10.0.0.0/8 ネットワークからインターネットへ送信されるすべてのパケットが変換されますが、ポリシールーティングを使用する場合、この処理は不要です。 ネットワーク ダイアグラム
ファイアウォールの設定次に示すファイアウォールの設定は、全体像を提示する目的で記載されています。 ただし、この設定は、この文書で説明するポリシー ルーティングの問題とは関係ありません。 この例のファイアウォールは、PIX またはその他のファイアウォール デバイスと容易に置き換えることができます。 ! ip nat pool net-10 172.16.255.1 172.16.255.254 prefix-length 24 ip nat inside source list 1 pool net-10 ! interface Ethernet0 ip address 172.16.20.2 255.255.255.0 ip nat outside ! interface Ethernet1 ip address 172.16.39.2 255.255.255.0 ip nat inside ! router eigrp 1 redistribute static network 172.16.0.0 default-metric 10000 100 255 1 1500 ! ip route 172.16.255.0 255.255.255.0 Null0 access-list 1 permit 10.0.0.0 0.255.255.255 ! end ip nat 関連コマンドの詳細は、「IP アドレッシングとサービス コマンド」を参照してください。 この例では、10.0.0.0/8 ネットワークから発信された IP パケットが必ずファイアウォール経由で送信されるようにするため、Cisco WAN ルータでポリシー ルーティングを実行しています。 次の設定では、10.0.0.0/8 ネットワークから発信されたパケットをファイアウォールに送信するアクセス リストが設定されています。 Cisco_WAN_Router の設定! interface Ethernet0/0 ip address 172.16.187.3 255.255.255.0 no ip directed-broadcast ! interface Ethernet0/1 ip address 172.16.39.3 255.255.255.0 no ip directed-broadcast ! interface Ethernet3/0 ip address 172.16.79.3 255.255.255.0 no ip directed-broadcast ip policy route-map net-10 ! router eigrp 1 network 172.16.0.0 ! access-list 111 permit ip 10.0.0.0 0.255.255.255 any ! route-map net-10 permit 10 match ip address 111 set interface Ethernet0/1 ! route-map net-10 permit 20 ! end route-map 関連コマンドの詳細は、「route-map コマンド」文書を参照してください。 Cisco-1 Router の設定! version 12.3 ! interface Ethernet0 !-- 10.0.0.0 ネットワークに接続されているインターフェイス ip address 10.1.1.1 255.0.0.0 ! interface Ethernet1 !-- Cisco_Wan_Router に接続されているインターフェイス ip address 172.16.79.4 255.255.255.0 ! router eigrp 1 network 10.0.0.0 network 172.16.0.0 no auto-summary ! !--- 出力削除 インターネット ルータの設定! version 12.3 ! interface Ethernet1 !-- ファイアウォールに接続されているインターフェイス ip address 172.16.20.1 255.255.255.0 interface Serial0 !-- インターネットに接続されているインターフェイス ip address 192.1.1.2 255.255.255.0 clockrate 64000 no fair-queue ! interface Ethernet0 !-- Cisco_Wan_Router に接続されているインターフェイス ip address 172.16.187.1 255.255.255.0 ! ! router eigrp 1 redistribute static !--- インターネットにアクセスするため、ほかのルータへのスタティック デフォルト ルートの再分配 network 172.16.0.0 no auto-summary ! ip classless ip route 0.0.0.0 0.0.0.0 192.1.1.1 !-- インターネットに接続されているルータをポイントしているスタティック デフォルト ルート !--- 出力削除 この例のテストでは、extended ping コマンドを使って、Cisco-1 Router の 10.1.1.1 から出力される ping は、インターネット上のホストに送信されます。 この例では、192.1.1.1 は宛先アドレスとして使われます。 インターネット ルータの動作を確認するため、ファースト スイッチングをすべてオフにして、debug ip packet 101 detail コマンドを使用しています。
注: access-list 101 permit icmp any any 文は、debug ip packet の出力をフィルタリングするために使用します。 このアクセス リストを設定しなければ、debug ip packet コマンドによってコンソールに大量の出力が生成され、ルータが停止するおそれがあります。 Results of ping from Cisco_1 to 192.1.1.1/internet taken from Internet_Router: Packet never makes it to Internet_Router Cisco_1# ping Protocol [ip]: Target IP address: 192.1.1.1 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 10.1.1.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.1.1.1, timeout is 2 seconds: Packet sent with a source address of 10.1.1.1 ..... Success rate is 0 percent (0/5) 上記の出力からわかるように、パケットはインターネット ルータに到達していません。 次に示す、Cisco WAN ルータから取得した debug コマンドの出力を見れば、その理由がわかります。 Debug commands run from Cisco_WAN_Router: "debug ip policy" *Mar 1 00:43:08.367: IP: s=10.1.1.1 (Ethernet3/0), d=192.1.1.1, len 100, policy match *Mar 1 00:43:08.367: IP: route map net-10, item 10, permit !--- 10.0.0.0/8 ネットワークに属している送信元アドレスが付加されたパケットは、 !--- ルート マップ "net-10" ステートメント 10 に一致します。 *Mar 1 00:43:08.367: IP: s=10.1.1.1 (Ethernet3/0), d=192.1.1.1 (Ethernet0/1), len 100, policy routed *Mar 1 00:43:08.367: Ethernet3/0 to Ethernet0/1 192.1.1.1 !--- 以前一致したパケットは、set コマンドによって、インターフェイス !--- ethernet 0/1 から転送されます。 パケットは意図したとおりに、net-10 ポリシー マップのポリシー エントリ 10 に一致しています。 それではなぜパケットはインターネット ルータに到達しなかったのでしょうか。 "debug arp" *Mar 1 00:06:09.619: IP ARP: creating incomplete entry for IP address: 192.1.1.1 interface Ethernet0/1 *Mar 1 00:06:09.619: IP ARP: sent req src 172.16.39.3 00b0.64cb.eab1, dst 192.1.1.1 0000.0000.0000 Ethernet0/1 *Mar 1 00:06:09.635: IP ARP rep filtered src 192.1.1.1 0010.7b81.0b19, dst 172.16.39.3 00b0.64cb.eab1 wrong cable, interface Ethernet0/1 Cisco_Wan_Router# show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 172.16.39.3 - 00b0.64cb.eab1 ARPA Ethernet0/1 Internet 172.16.39.2 3 0010.7b81.0b19 ARPA Ethernet0/1 Internet 192.1.1.1 0 Incomplete ARPA debug arp の出力がこれを示しています。 Cisco WAN ルータは、設定に従って、パケットをルータの ethernet 0/1 インターフェイスに直接転送しようとします。 そのためには、ルータから宛先アドレス 192.1.1.1 に Address Resolution Protocol(ARP)要求を送信する必要があります。ところがこのアドレスは、ルータの認識では、このインタフェース上に存在しないため、show arp コマンドの実行結果からわかるように、このアドレスに対する ARP エントリは「完全ではありません」。 ARP エントリのないパケットをネットワーク上に送出することはできないため、ここでカプセル化エラーが発生します。 ファイアウォールを next-hop として指定すれば、この問題は発生せず、route-map は意図したとおりに機能します。 Config changed on Cisco_WAN_Router: ! route-map net-10 permit 10 match ip address 111 set ip next-hop 172.16.39.2 ! 前回と同じくインターネット ルータで debug ip packet 101 detail コマンドを使用すると、今度はパケットが正しいパスをたどっていることがわかります。 また、パケットはファイアウォールで 172.16.255.1 に変換され、ping 先のマシン(192.1.1.1)が応答を返しています。 Cisco_1# ping Protocol [ip]: Target IP address: 192.1.1.1 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 10.1.1.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.1.1.1, timeout is 2 seconds: Packet sent with a source address of 10.1.1.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 68/70/76 ms Results of ping from Cisco_1 to 192.1.1.1/internet taken from Internet_Router: Internet_Router# *Mar 1 00:06:11.619: IP: s=172.16.255.1 (Ethernet1), d=192.1.1.1 (Serial0), g=192.1.1.1, len 100, forward *Mar 1 00:06:11.619: ICMP type=8, code=0 !--- 10.1.1.1 から送出されたパケットは、Internet_Router に到達する前に、 !--- ファイアウォールによって、172.16.255.1 に変換されます。 *Mar 1 00:06:11.619: *Mar 1 00:06:11.619: IP: s=192.1.1.1 (Serial0), d=172.16.255.1 (Ethernet1), g=172.16.20.2, len 100, forward *Mar 1 00:06:11.619: ICMP type=0, code=0 !--- インターネットから返されるパケットは、ファイアウォールに到達する前に !--- 宛先アドレス 172.16.255.1 に到達します。 *Mar 1 00:06:11.619: Cisco WAN ルータで debug ip policy コマンドを実行すると、パケットがファイアウォール(172.16.39.2)に転送されたことがわかります。 Cisco_WAN_Router からの debug コマンド の出力"debug ip policy" *Mar 1 00:06:11.619: s=10.1.1.1 (Ethernet3/0), d=192.1.1.1, len 100, policy match *Mar 1 00:06:11.619: IP: route map net-10, item 20, permit *Mar 1 00:06:11.619: s=10.1.1.1 (Ethernet3/0), d=192.1.1.1 (Ethernet0/1), len 100, policy routed *Mar 1 00:06:11.619: Ethernet3/0 to Ethernet0/1 172.16.39.2 Cisco サポート コミュニティ - 特集対話関連情報
|