内容

概要

前提条件

要件

使用するコンポーネント

背景説明

制限

設定

トラブルシューティング時の課題

ネットワーク図

設定

確認

トラブルシュート

概要

このドキュメントでは、ASR1Kでボーダーゲートウェイプロトコル(BGP)IPv6 Flowspecを設定する方法について説明します。

前提条件

要件

次の項目に関する専門知識があることが推奨されます。

- プラットフォームに依存しません。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- IOS-XE

- ASR1000

- ASR9K

- ASR1K

- BGP

- Flowspec

- IPv6

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

Flowspecは、BGPを介したフロー仕様ルールの配布の手順を指定し、任意のアプリケーションで使用できるBorder Gateway Protocol(BGP)ネットワークレイヤ到着可能性情報(BGP NLRI)としてフロー仕様ルールをエンコードする手順を定義します。また、パケットフィルタリングを目的としたアプリケーションを定義し、分散型サービス拒絶攻撃を軽減します。

制限

設定の制限事項を次に示します。

- flowspecルールでは、アドレスファミリの混在は許可されません。

- 複数の一致シナリオでは、最初に一致するflowspecルールだけが適用されます。

- システムごとに最大3000のflowspecルールがサポートされます。

設定

この例では、ASR9Kをコントローラとして、ASR1KをPE、RR、およびFlowspecクライアントとして設定しています。

これは、IPv6 Flowspecが動作するために必要な最小限の設定です。

On controller to push the policy to PE/client:

class-map type traffic match-all FLOWSPEC

match destination-address ipv6 2001:db8::/32   <<<<< Match destination address/subnet.

end-class-map

!

policy-map type pbr FS_P

class type traffic FLOWSPEC                    <<<<< Apply class-map under policy-map.

drop

!

flowspec

address-family ipv4

service-policy type pbr FSP_V4

!

address-family ipv6

service-policy type pbr FS_P                  <<<<< Apply policy-map inside Flowspec under AF.

!

On PE/client is to enable IPv6 flowspec AF under BGP.

address-family ipv6 flowspec                   <<<<< Under ipv6 flowspec AF, activate the neighbor.

neighbor 10.192.202.5 activate

neighbor 10.192.202.5 validation off

To apply the flowspec policy on interface, "local-install interface-all" command is must under flowspec.

flowspec

local-install interface-all                    <<<<< Push the policy on interface.

- コントローラの設定に基づいて、2001:db8::/32宛てのトラフィックは、ポリシーに従ってドロップされます。

- ASR1Kがネクストホップをチェックしないように、ipv6 address-familyの下のネイバーの検証をオフにします。

- ポリシーが動作している場合、コントローラにカウンタが表示されますが、他のデバイスでカウンタを表示する場合は、flowspecの下でlocal-install interface-allコマンドが必要なすべてのユーザインターフェイスにflowspec policyをインストールします。

トラブルシューティング時の課題

- アンダーレイネットワークがIPv4で、BGP flowspecがIPv6に対して実行されている場合、各ホップで検証チェックの問題があり、IPv6 Flowspecポリシーの問題が発生します。したがって、ネイバーが検証チェックを行わないように、検証をオフにしておいてください。

- コントローラ以外では、flowspec policy match/actionカウンタを表示できません。カウンタを確認するには、local-install interface-allがFlowspecの下（AFの下）にある必要があります。 このコマンドは、IPv4/IPv6アドレスファミリのデバイスのすべてのインターフェイス、およびVRFインスタンス内のインターフェイスにフロー仕様ポリシー設定をプッシュします。

ネットワーク図

+----------------+              +-----------------+            +------------------+             +-----------------+

|                |              |                 |            |                  |             |                 |

|   Controller   +--------------+     PE/RR1      +------------+      PE/RR2      +-------------+      End-PE     |

|     ASR9K      |              |     CRR01       |            |      CRR02       |             |      DCPR01     |

+----------------+              +-----------------+            +------------------+             +-----------------+

設定

この設定は、設定と同じネットワークダイアグラムに基づいています。

Controller:

RP/0/RSP0/CPU0:Controller# show running-config

Mon Apr  8 16:33:36.578 UTC

Building configuration...

!! IOS XR Configuration 5.3.4

!! Last configuration change at Wed Apr  3 17:34:59 2019 by admin

!

hostname Controller

cdp

cdp advertise v1

!

class-map type traffic match-all FLOWSPEC

match destination-address ipv6 2001:db8::/32

end-class-map

!

class-map type traffic match-all V4_FLOWSPEC

match source-address ipv4 102.102.102.102 255.255.255.255

end-class-map

!

policy-map type pbr FS_P

class type traffic FLOWSPEC

drop

!

class type traffic class-default

!

end-policy-map

!

policy-map type pbr FSP_V4

class type traffic V4_FLOWSPEC

set dscp ef

!

class type traffic class-default

!

end-policy-map

!

interface Loopback0

ipv4 address 10.192.202.5 255.255.255.255

!

interface Loopback100

ipv4 address 102.102.102.102 255.255.255.255

ipv6 address 2001:db8::1/32

!

interface TenGigE0/0/0/0

ipv4 address 10.10.12.1 255.255.255.0

ipv6 address 2001:10:10:12::1/64

!

route-policy ALL

pass

end-policy

!

router static

address-family ipv4 unicast

203.202.143.33/32 TenGigE0/0/0/0

!

address-family ipv6 unicast

2003::/64 2001:10:10:12::2

!

!

router ospfv3 1

area 0

interface TenGigE0/0/0/0

network point-to-point

!

!

!

router bgp 64696

bgp router-id 10.192.202.5

address-family ipv4 unicast

network 102.102.102.102/32

!

address-family vpnv4 unicast

!

address-family ipv4 flowspec

!

address-family ipv6 flowspec

!

neighbor 203.202.143.33

remote-as 7474

ebgp-multihop 10

update-source Loopback0

address-family ipv4 unicast

route-policy ALL in

route-policy ALL out

!

address-family vpnv4 unicast

!

address-family ipv4 flowspec

route-policy ALL in

route-policy ALL out

!

address-family ipv6 flowspec

route-policy ALL in

route-policy ALL out

!

!

!

flowspec

local-install interface-all

address-family ipv4

service-policy type pbr FSP_V4

!

address-family ipv6

service-policy type pbr FS_P

!

!

end

PE/RR1:

CRR01#show running-config

Building configuration...

!

ipv6 unicast-routing

mpls label protocol ldp

!

spanning-tree extend system-id

flowspec

local-install interface-all

diagnostic bootup level minimal

!

interface Loopback0

ip address 203.202.143.33 255.255.255.255

ip ospf 1 area 0

!

interface Loopback1010

no ip address

ipv6 address 2001:DB8::10/32

!

interface TenGigabitEthernet0/0/0

ip address 10.10.12.2 255.255.255.0

ip ospf network point-to-point

cdp enable

ipv6 address 2001:10:10:12::2/64

!

interface TenGigabitEthernet0/0/3

ip address 10.10.23.2 255.255.255.0

ip ospf network point-to-point

ip ospf 1 area 0

cdp enable

ipv6 address 2003::1/64

mpls ip

!

router ospf 1

mpls ldp autoconfig

!

router bgp 7474

bgp router-id 203.202.143.33

bgp log-neighbor-changes

neighbor 10.192.202.5 remote-as 64696

neighbor 10.192.202.5 ebgp-multihop 10

neighbor 10.192.202.5 update-source Loopback0

neighbor 2001:10:10:12::1 remote-as 64696

neighbor 203.202.143.44 remote-as 7474

neighbor 203.202.143.44 update-source Loopback0

!

address-family ipv4

neighbor 10.192.202.5 activate

no neighbor 2001:10:10:12::1 activate

neighbor 203.202.143.44 activate

neighbor 203.202.143.44 route-reflector-client

exit-address-family

!

address-family ipv4 flowspec

neighbor 10.192.202.5 activate

neighbor 203.202.143.44 activate

neighbor 203.202.143.44 send-community both

neighbor 203.202.143.44 route-reflector-client

exit-address-family

!

address-family ipv6

neighbor 10.192.202.5 activate

neighbor 203.202.143.44 activate

neighbor 203.202.143.44 route-reflector-client

neighbor 203.202.143.44 send-label

exit-address-family

!

address-family ipv6 flowspec

neighbor 10.192.202.5 activate

neighbor 10.192.202.5 validation off

neighbor 203.202.143.44 activate

neighbor 203.202.143.44 send-community both

neighbor 203.202.143.44 route-reflector-client

neighbor 203.202.143.44 next-hop-self

exit-address-family

!

ip route 10.192.202.5 255.255.255.255 10.10.12.1

!

!

ipv6 route 2001:DB8::1/128 2001:10:10:12::1

!

end

PE/RR2:

CRR02#show running-config

Building configuration...

Current configuration : 7227 bytes

!

! Last configuration change at 18:21:29 UTC Mon Apr 8 2019

!

hostname CRR02

!

boot-start-marker

boot system flash bootflash:asr1000rpx86-universalk9.16.10.01a.SPA.bin

boot-end-marker

!

ipv6 unicast-routing

multilink bundle-name authenticated

!

spanning-tree extend system-id

flowspec

diagnostic bootup level minimal

!

interface Loopback0

ip address 203.202.143.44 255.255.255.255

ip ospf 1 area 0

!

interface TenGigabitEthernet1/0/0

ip address 10.10.23.3 255.255.255.0

ip ospf network point-to-point

ip ospf 1 area 0

cdp enable

ipv6 address 2003::2/64

mpls ip

!

interface TenGigabitEthernet1/0/1

ip address 10.10.34.3 255.255.255.0

ip ospf network point-to-point

ip ospf 1 area 0

cdp enable

!

router ospf 1

mpls ldp autoconfig

!

router bgp 7474

bgp router-id 203.202.143.44

bgp log-neighbor-changes

neighbor 203.202.143.33 remote-as 7474

neighbor 203.202.143.33 update-source Loopback0

neighbor 203.202.143.45 remote-as 7474

neighbor 203.202.143.45 update-source Loopback0

!

address-family ipv4

neighbor 203.202.143.33 activate

neighbor 203.202.143.45 activate

exit-address-family

!

address-family ipv4 flowspec

neighbor 203.202.143.33 activate

neighbor 203.202.143.45 activate

neighbor 203.202.143.45 send-community both

neighbor 203.202.143.45 route-reflector-client

exit-address-family

!

address-family ipv6

neighbor 203.202.143.33 activate

neighbor 203.202.143.33 send-label

exit-address-family

!

address-family ipv6 flowspec

neighbor 203.202.143.33 activate

neighbor 203.202.143.33 validation off

neighbor 203.202.143.45 activate

neighbor 203.202.143.45 send-community both

neighbor 203.202.143.45 route-reflector-client

exit-address-family

!

ipv6 route 2001:10:10:12::/64 2003::1

ipv6 route 2001:DB8::1/128 2003::1

!

end

End-PE:

DCPR01#show running-config

Building configuration...

!

hostname DCPR01

!

subscriber templating

!

ipv6 unicast-routing

!

flowspec

diagnostic bootup level minimal

!

interface Loopback0

ip address 203.202.143.45 255.255.255.255

ip ospf 1 area 0

!

interface TenGigabitEthernet1/3/0

ip address 10.10.34.4 255.255.255.0

ip ospf network point-to-point

ip ospf 1 area 0

cdp enable

ipv6 address 2001::1/64

!

router ospf 1

mpls ldp autoconfig

!

router bgp 7474

bgp router-id 203.202.143.45

bgp log-neighbor-changes

neighbor 203.202.143.44 remote-as 7474

neighbor 203.202.143.44 update-source Loopback0

!

address-family ipv4 flowspec

neighbor 203.202.143.44 activate

exit-address-family

!

address-family ipv6 flowspec

neighbor 203.202.143.44 activate

neighbor 203.202.143.44 validation off

exit-address-family

!

ipv6 route ::/0 TenGigabitEthernet1/3/0

!

end

確認

PE/RR2:

CRR02#ping 2001:db8::1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2001:DB8::1, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

CRR02#

Controller:

RP/0/RSP0/CPU0:Controller#show bgp ipv6 flowspec

Mon Apr  8 17:55:17.041 UTC

BGP router identifier 10.192.202.5, local AS number 64696

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0x0   RD version: 20

BGP main routing table version 20

BGP NSR Initial initsync version 0 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best

i - internal, r RIB-failure, S stale, N Nexthop-discard

Origin codes: i - IGP, e - EGP, ? - incomplete

Network            Next Hop            Metric LocPrf Weight Path

*> Dest:2001:db8::/0-32/56

::                                     0 i

Processed 1 prefixes, 1 paths

RP/0/RSP0/CPU0:Controller#show flowspec ipv6 detail

Mon Apr  8 17:55:36.786 UTC

AFI: IPv6

Flow           :Dest:2001:db8::/0-32

Actions      :Traffic-rate: 0 bps  (policy.1.FS_P.FLOWSPEC)

Statistics                        (packets/bytes)

Matched             :                  14/1652

Dropped             :                  14/1652

RP/0/RSP0/CPU0:BGL14.1.J.05-ASR-9000-1#

PE/RR1:

CRR01#show bgp ipv6 flowspec

BGP table version is 2, local router ID is 203.202.143.33

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

t secondary path,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

*>   Dest:2001:DB8::/0-32

::                                     0 64696 i

CRR01#

CRR01#show flowspec ipv6 detail

AFI: IPv6

Flow           :Dest:2001:DB8::/0-32

Actions      :Traffic-rate: 0 bps  (bgp.1)

Statistics                        (packets/bytes)

Matched             :                   4/456

Dropped             :                   4/456

CRR01#

トラブルシュート

現在、この設定に関する特定のトラブルシューティング情報はありません。

ヒント：3.16.5Sでケースを開き、CSCva55510のバグIDでヒットする場合。このバグは記載されていませんが、IPv6に適用されます。これはASR1K BGP BUから確認され、検証されています CSCvp18767 16.12.1で修正されているshowコマンドについても記載されているため、このリリースの使用に適しています。ただし、IPv6 flowspecは16.xリリースで動作します。