match ip addressaccess-list_name [access-list_name...]
例:
ciscoasa(config-route-map)# match ip address testacl
ステップ 4
1 つ以上の set アクションを設定します。
ネクストホップ アドレスを設定します。
set {ip | ipv6} next-hopipv4_or_ipv6_address
複数のネクストホップ IP アドレスを設定できます。その場合、ルーティングできる有効なネクスト ホップ IP アドレスが見つかるまで、それらのアドレスが指定された順で評価されます。設定済みのネクストホップは、直接接続する必要があります。そうでなければ、set
アクションが適用されません。
デフォルトのネクストホップ アドレスを設定します。
set {ip | ipv6} default next-hopipv4_or_ipv6_address
一致するトラフィックに対する通常のルート ルックアップが失敗すると、ASA はここで指定されたネクスト ホップ IP アドレスを使用してトラフィックを転送します。
再帰ネクスト ホップ IPv4 アドレスを設定します。
set ip next-hop recursive ip_address
set ip next-hop と set ip default next-hop はどちらも、ネクストホップが直接接続されたサブネット上に存在している必要があります。set ip next-hop recursive では、ネクストホップ アドレスが直接接続されている必要はありません。代わりにネクストホップ アドレスで再帰ルックアップが実行され、一致するトラフィックは、ルータで使用されているルーティング パスに従って、そのルート エントリで使用されているネクストホップに転送されます。
ルート マップの次の IPv4 ホップが使用できるかどうかを確認します。
set ip next-hop verify-availabilitynext-hop-addresssequence_numbertrackobject
ネクスト ホップの到達可能性を確認するには、SLA モニタ追跡オブジェクトを設定できます。複数のネクストホップの可用性を確認するために、複数の set ip next-hop verify-availability コマンドを異なるシーケンス番号と異なるトラッキング オブジェクトで設定できます。
パケットに Differentiated Services Code Point(DSCP)または IP プレシデンスの値を設定することによって、IP トラフィックを分類します。
set {ip | ipv6} dscpnew_dscp
(注)
複数の set アクションが設定されている場合、ASA は、これらを次の順序で評価します。 set ip next-hop verify-availability;set ip next-hop; set ip next-hop recursive; set interface;set ip default next-hop; set default interface
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address <acl>
ciscoasa(config-route-map)# set interface outside
次の例では、インターフェイスまたはネクストホップのアクションが設定されていないため、<acl> に一致するすべてのトラフィックの df bit および dscp フィールドがコンフィギュレーションに従って変更され、通常のルーティングを使用して転送されます。
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address <acl>
set ip df 1
set ip precedence af11
次の例では、<acl_1> に一致するすべてのトラフィックがネクストホップ 1.1.1.10 を使用して転送され、<acl_2> に一致するすべてのトラフィックがネクストホップ 2.1.1.10 を使用して転送され、残りのトラフィックはドロップされます。「match」基準がない場合、暗黙的に
match は「any」と見なされます。
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address <acl_1>
ciscoasa(config-route-map)# set ip next-hop 1.1.1.10
ciscoasa(config)# route-map testmap permit 20
ciscoasa(config-route-map)# match ip address <acl_2>
ciscoasa(config-route-map)# set ip next-hop 2.1.1.10
ciscoasa(config)# route-map testmap permit 30
ciscoasa(config-route-map)# set interface Null0
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address permit_acl_1 deny_acl_2
ciscoasa(config-route-map)# set ip next-hop 1.1.1.10
ciscoasa(config)# route-map testmap deny 20
ciscoasa(config-route-map)# match ip address permit_acl_3 deny_acl_4
ciscoasa(config-route-map)# set ip next-hop 2.1.1.10
ciscoasa(config)# route-map testmap permit 30
ciscoasa(config-route-map)# match ip address deny_acl_5
ciscoasa(config-route-map)# set interface outside
次の例では、複数の set アクションを設定すると、それらのアクションが上記の順序で評価されます。set アクションのすべてのオプションが評価され、それらを適用できない場合にのみ、次の set アクションが考慮されます。この順序設定により、すぐに使用可能な最短のネクストホップが最初に試行され、その後、次のすぐに使用可能な最短のネクストホップが試行される、といったようになります。
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address acl_1
ciscoasa(config-route-map)# set ip next-hop verify-availability 1.1.1.10 1 track 1
ciscoasa(config-route-map)# set ip next-hop verify-availability 1.1.1.11 2 track 2
ciscoasa(config-route-map)# set ip next-hop verify-availability 1.1.1.12 3 track 3
ciscoasa(config-route-map)# set ip next-hop 2.1.1.10 2.1.1.11 2.1.1.12
ciscoasa(config-route-map)# set ip next-hop recursive 3.1.1.10
ciscoasa(config-route-map)# set interface outside-1 outside-2
ciscoasa(config-route-map)# set ip default next-hop 4.1.1.10 4.1.1.11
ciscoasa(config-route-map)# set default interface Null0
PBR の設定例
ここでは、次のシナリオ用に PBR を設定するために必要な設定の完全なセットについて説明します。
まず、インターフェイスを設定する必要があります。
ciscoasa(config)# interface GigabitEthernet0/0
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# nameif inside
ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0
ciscoasa(config)# interface GigabitEthernet0/1
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# nameif outside-1
ciscoasa(config-if)# ip address 192.168.6.5 255.255.255.0
ciscoasa(config)# interface GigabitEthernet0/2
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# nameif outside-2
ciscoasa(config-if)# ip address 172.16.7.6 255.255.255.0
次に、トラフィックを照合するためのアクセスリストを設定する必要があります。
ciscoasa(config)# access-list acl-1 permit ip 10.1.0.0 255.255.0.0
ciscoasa(config)# access-list acl-2 permit ip 10.2.0.0 255.255.0.0
必要な set アクションとともに、一致基準として上記のアクセスリストを指定することで、ルート マップを設定する必要があります。
ciscoasa(config)# route-map equal-access permit 10
ciscoasa(config-route-map)# match ip address acl-1
ciscoasa(config-route-map)# set ip next-hop 192.168.6.6
ciscoasa(config)# route-map equal-access permit 20
ciscoasa(config-route-map)# match ip address acl-2
ciscoasa(config-route-map)# set ip next-hop 172.16.7.7
ciscoasa(config)# route-map equal-access permit 30
ciscoasa(config-route-map)# set ip interface Null0
ciscoasa(config)# interface Loopback1
ciscoasa(config-if)# ip address 15.1.1.100 255.255.255.255
ciscoasa(config-if)# interface Loopback2
ciscoasa(config-if)# ip address 15.1.1.101 255.255.255.255
ciscoasa(config)# ip route 0.0.0.0 0.0.0.0 10.1.1.60
H2:
ciscoasa(config)# interface GigabitEthernet0/1
ciscoasa(config-if)# ip address 65.1.1.100 255.255.255.0
ciscoasa(config-if)# ip route 15.1.1.0 255.255.255.0 65.1.1.60
H1 から送信されるトラフィックをルーティングするように ASA-A で PBR を設定します。
ASA-A:
ciscoasa(config-if)# access-list pbracl_1 extended permit ip host 15.1.1.100 any
ciscoasa(config-if)# route-map testmap permit 10
ciscoasa(config-if)# match ip address pbracl_1
ciscoasa(config-if)# set ip next-hop 25.1.1.61
ciscoasa(config)# interface GigabitEthernet0/0
ciscoasa(config-if)# policy-route route-map testmap
ciscoasa(config-if)# debug policy-route
H1: ping 65.1.1.100 repeat 1 source loopback1
pbr: policy based route lookup called for 15.1.1.100/44397 to 65.1.1.100/0 proto 1 sub_proto 8 received on interface inside
pbr: First matching rule from ACL(2)
pbr: route map testmap, sequence 10, permit; proceed with policy routing
pbr: evaluating next-hop 25.1.1.61
pbr: policy based routing applied; egress_ifc = outside : next_hop = 25.1.1.61
in 255.255.255.255 255.255.255.255 identity
in 10.1.1.60 255.255.255.255 identity
in 25.1.1.60 255.255.255.255 identity
in 35.1.1.60 255.255.255.255 identity
in 10.127.46.17 255.255.255.255 identity
in 10.1.1.0 255.255.255.0 inside
in 25.1.1.0 255.255.255.0 outside
in 35.1.1.0 255.255.255.0 dmz
ciscoasa(config)# access-list pbracl_2 extended permit ip host 15.1.1.101 any
ciscoasa(config)# route-map testmap permit 20
ciscoasa(config-route-map)# match ip address pbracl
ciscoasa(config-route-map)# set ip next-hop 35.1.1.61
ciscoasa(config)# show run route-map
!
route-map testmap permit 10
match ip address pbracl_1
set ip next-hop 25.1.1.61
!
route-map testmap permit 20
match ip address pbracl_2
set ip next-hop 35.1.1.61
!
H1:ping 65.1.1.100 repeat 1 source loopback2
デバッグを示します。
pbr: policy based route lookup called for 15.1.1.101/1234 to 65.1.1.100/1234 proto 6 sub_proto 0 received on interface inside
pbr: First matching rule from ACL(3)
pbr: route map testmap, sequence 20, permit; proceed with policy routing
pbr: evaluating next-hop 35.1.1.61
pbr: policy based routing applied; egress_ifc = dmz : next_hop = 35.1.1.61
さらに、入力ルート テーブルから選択されたルートのエントリをここに示します。
in 255.255.255.255 255.255.255.255 identity
in 10.1.1.60 255.255.255.255 identity
in 25.1.1.60 255.255.255.255 identity
in 35.1.1.60 255.255.255.255 identity
in 10.127.46.17 255.255.255.255 identity
in 10.1.1.0 255.255.255.0 inside
in 25.1.1.0 255.255.255.0 outside
in 35.1.1.0 255.255.255.0 dmz
set ip next-hop verify-availability、set ip next-hop、set ip next-hop recursive、set interface、set ip default next-hop、set default interface、set ip df、set ip dscp、policy-route route-map、show policy-route、debug policy-route の各コマンドが導入されました。