목차

소개

배경 정보

4바이트 AS 번호 필터

대체 구성

Asplain 모드

Asplain 모드에 대한 필터

소개

이 문서에서는 Cisco IOS®에서 4바이트 AS(Autonomous System) 번호로 BGP 접두사를 필터링하는 방법에 대해 설명합니다.

배경 정보

4바이트 AS 번호는 2바이트 AS 번호 풀이 낮을 때 BGP에 도입되었습니다.즉, AS 번호가 2바이트 또는 4바이트 숫자가 될 수 있습니다.RFC 6793은 4바이트 AS 번호를 지정합니다.2바이트 AS 번호는 1에서 65,535 사이의 숫자입니다. 4바이트 AS 번호는 1에서 4,294,967,295 사이의 숫자입니다.

4바이트 AS 번호는 점선으로 표시되거나 일반 숫자로 나타낼 수 있습니다.점으로 구분된 4바이트 AS 번호의 예는 7.52359입니다. 이것은 AS 알림 점입니다.일반 4바이트 번호의 예는 511111입니다. 이것은 asplain AS 표기법입니다.7.52359는 51111과 동일합니다.

Cisco IOS 라우터는 AS 표기법 중 하나를 사용할 수 있습니다.최신 Cisco IOS 버전의 기본값은 asplain입니다.점으로 구분된 AS 표기법을 사용하기 위해 bgp asnotation dot 명령을 사용할 수 있습니다.

어떤 이유로든 네트워크 관리자가 AS PATH에서 하나 이상의 4바이트 AS 번호가 있는 BGP 접두사를 eBGP(External BGP) 피어로 전송하지 않으려는 경우 이러한 접두사를 필터링할 수 있습니다.이 문서에서는 이를 위해 가능한 필터 하나를 제공합니다.AS PATH에서 BGP 스피커가 4바이트 AS 번호가 있는 BGP 접두사를 전송하지 않으려는 몇 가지 이유가 있을 수 있습니다.한 가지 예는 수신 BGP 스피커에 결함이 있어 동작이 좋지 않으며, 이는 AS PATH에 4바이트 AS 번호가 있는 BGP 접두사에 대해서만 발생합니다.

4바이트 AS 번호 필터

참고:이 섹션의 필터는 라우터의 BGP가 asnotation dot 모드에서 실행되는 경우에만 사용할 수 있습니다.

이 필터는 하나 이상의 4바이트 AS 번호가 있는 AS PATHS를 사용하여 접두사를 필터링할 수 있습니다.

router bgp 1

bgp asnotation dot

neighbor 10.1.1.2 remote-as 2

address-family ipv4

neighbor 10.1.1.2 activate

neighbor 10.1.1.2 filter-list 1 out

ip as-path access-list 1 deny .*[0-9]+\.[0-9]+.*

ip as-path access-list 1 permit .*

이 필터의 검사입니다.

- [0-9]는 임의의 숫자를 의미합니다.

- +는 하나 이상의 발생을 의미합니다.따라서 [0-9]+는 여러 숫자가 있을 수 있으므로 임의의 숫자를 의미합니다.

- \.은 을 의미합니다.(점). 라우터가 점을 특수 문자로 취급하지 않고 점으로 취급하려면 백슬래시가 필요합니다.그.은 특수 문자이며 일치 문자(와일드카드)를 의미합니다.

- *는 앞에 0개 이상의 일치를 의미합니다.그러니까.*는 매칭한다는 뜻입니다.

- 전체 필터.*[0-9]+\.[0-9]+.*는 점이 있는 모든 것을 의미합니다.

예를 들면 다음과 같습니다.

라우터 1(R1)은 BGP에서 8개의 접두사를 수신합니다.BGP 접두사 10.100.1.1/32은 2바이트 AS 번호로만 구성된 AS PATH가 있는 유일한 접두사입니다.다른 모든 BGP 접두사는 AS 경로에 하나 이상의 4바이트 AS 번호를 가집니다.

R1#show bgp ipv4 unicast

BGP table version is 9, local router ID is 10.100.1.100

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,

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

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

Network          Next Hop    Metric LocPrf Weight Path

*>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i

*>  10.100.1.2/32    10.1.3.4         0             0 4 1.34464 3.3392 4.37856 i

*>  10.100.1.3/32    10.1.3.4         0             0 4 1.34464 200 4.37856 i

*>  10.100.1.4/32    10.1.3.4         0             0 4 500 4.37856 600 ?

*>  10.100.1.5/32    10.1.3.4         0             0 4 7.41248 3200 400 65000 ?

*>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 9.60176 ?

*>  10.100.1.7/32    10.1.3.4         0             0 4 66 1.57464 77 5.17320 99 ?

*>  10.100.1.8/32    10.1.3.4         0             0 4 7.52359 99 66 99 5.18307

3.37515 99 66 3.37515 99 ?

R1은 AS PATH에 4바이트 AS 번호가 없는 접두사만 BGP 피어 10.1.1.2으로 광고합니다.

R1#show bgp ipv4 unicast neighbors 10.1.1.2 advertised-routes

BGP table version is 9, local router ID is 10.100.1.100

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,

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

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

Network          Next Hop            Metric LocPrf Weight Path

*>  10.100.1.1/32    10.1.3.4                 0             0 4 100 200 300 i

Total number of prefixes 1

show ip bgp regexp 명령을 사용하여 BGP 테이블에서 어떤 필터.*[0-9]+\.[0-9]+.*필터를 확인할 수 있습니다.

R1#show ip bgp regexp .*[0-9]+\.[0-9]+.*

BGP table version is 9, local router ID is 10.100.1.100

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,

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

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

Network          Next Hop     Metric LocPrf Weight Path

*>  10.100.1.2/32    10.1.3.4         0             0 4 1.34464 3.3392 4.37856 i

*>  10.100.1.3/32    10.1.3.4         0             0 4 1.34464 200 4.37856 i

*>  10.100.1.4/32    10.1.3.4         0             0 4 500 4.37856 600 ?

*>  10.100.1.5/32    10.1.3.4         0             0 4 7.41248 3200 400 65000 ?

*>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 9.60176 ?

*>  10.100.1.7/32    10.1.3.4         0             0 4 66 1.57464 77 5.17320 99 ?

*>  10.100.1.8/32    10.1.3.4         0             0 4 7.52359 99 66 99 5.18307

3.37515 99 66 3.37515 99 ?

필터.*[0-9]+\.[0-9]+.* AS PATH 속성에서 하나 이상의 4바이트 AS 번호로 모든 접두사를 필터링합니다.

BGP 테이블에서 필터가 실제로 필터링하는 항목을 확인하는 또 다른 방법은 다음과 같습니다.

R1#show bgp ipv4 unicast filter-list 1

BGP table version is 9, local router ID is 10.100.1.100

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,

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

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

Network          Next Hop            Metric LocPrf Weight Path

*>  10.100.1.1/32    10.1.3.4                 0             0 4 100 200 300 i

R2는 필터로 인해 R1에서 접두사 10.100.1.1/32만 받았습니다.

R2#show bgp ipv4 unicast

BGP table version is 6, local router ID is 10.1.1.2

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,

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

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

Network          Next Hop            Metric LocPrf Weight Path

*>  10.100.1.1/32    10.1.1.1                               0 1 4 100 200 300 i

대체 구성

대체 컨피그레이션은 filter-list 대신 route-map을 사용하는 것입니다.

router bgp 1

bgp asnotation dot

neighbor 10.1.1.2 remote-as 2

address-family ipv4

neighbor 10.1.1.2 route-map no-4byte out

ip as-path access-list 1 deny .*[0-9]+\.[0-9]+.*

ip as-path access-list 1 permit .*

route-map no-4byte permit 10

match as-path 1

Asplain 모드

bgp asnotiation dot 명령이 제거되면 asnotation이 asplain이라는 의미이며, 출력에 4바이트 AS 번호의 점이 더 이상 표시되지 않습니다.점선 AS 번호가 이제 asplain이라는 점을 제외하면 이 출력은 이전에 표시된 것과 동일합니다.

R1#show bgp ipv4 unicast

BGP table version is 9, local router ID is 10.100.1.100

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,

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

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

Network          Next Hop    Metric LocPrf Weight Path

*>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i

*>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i

*>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i

*>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?

*>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?

*>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?

*>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?

*>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 345987

234123 99 66 234123 99 ?

라우터의 필터에서 사용되는 정규식과 함께 BGP show 명령은 BGP 테이블에 점으로 구분된 4바이트 AS 번호 형식의 접두사가 더 이상 없으므로 BGP 테이블에 점이 있는 접두사를 필터링하지 않습니다.4바이트 AS 번호는 이제 asplain 형식입니다.

R1#show ip bgp regexp .*[0-9]+\.[0-9]+.*

R1#

filter-list가 포함된 BGP show 명령은 라우터가 asplain 모드에 있는 동안 필터가 작동하지 않음을 보여줍니다.

R1#show bgp ipv4 unicast filter-list 1

BGP table version is 9, local router ID is 10.100.1.100

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,

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

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

Network          Next Hop    Metric LocPrf Weight Path

*>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i

*>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i

*>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i

*>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?

*>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?

*>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?

*>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?

*>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 65509 56

100000 ?

as-path 필터는 작동하지 않습니다.

R1#show bgp ipv4 unicast neighbors 10.1.1.2 advertised-routes

BGP table version is 9, local router ID is 10.100.1.100

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,

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

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

Network          Next Hop     Metric LocPrf Weight Path

*>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i

*>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i

*>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i

*>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?

*>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?

*>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?

*>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?

*>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 65509 56

100000 ?

Network          Next Hop            Metric LocPrf Weight Path

Total number of prefixes 8

Asplain 모드에 대한 필터

이 필터는 라우터의 BGP가 asplain 모드에서 실행될 때 사용할 수 있습니다.

ip as-path access-list 4 deny _6553[6-9]_

ip as-path access-list 4 deny _655[4-9][0-9]_

ip as-path access-list 4 deny _65[6-9][0-9][0-9]_

ip as-path access-list 4 deny _[6][6-9][0-9][0-9][0-9]_

ip as-path access-list 4 deny _[7-9][0-9][0-9][0-9][0-9]_

ip as-path access-list 4 deny _[1-9][0-9][0-9][0-9][0-9][0-9]+_

ip as-path access-list 4 permit .*

또는 여기에 동일하지만 더 작은 내용이 있습니다.

ip as-path access-list 4 deny _(6553[6-9]|655[4-9][0-9]|65[6-9][0-9][0-9]|6[6-9]

[0-9][0-9][0-9]|[7-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]+)_

ip as-path access-list 4 permit .*

이 필터 때문에 65,535보다 큰 모든 AS 번호가 필터링됩니다.다시, filter-list 또는 route-map을 사용하는 경우 BGP 인접 디바이스에 적용할 수 있습니다.

참고:이 문서의 필터링은 경로 리플렉터에 포함된 iBGP(내부 BGP) 세션에서 작동하지 않습니다.