예: 라우팅 정책 접두사 목록 구성
Junos OS에서 접두사 목록은 경로 세트를 정의하는 방법을 제공합니다. Junos OS는 경로 필터와 같이 동일한 작업을 수행하는 다른 방법도 제공합니다. 접두사 목록은 적용된 정책에서 일치 기준으로 사용되는 경로 세트를 나타내는 IP 접두사의 목록입니다. 이러한 목록은 자율 시스템(AS)에서 고객 경로 목록을 나타내는 데 유용할 수 있습니다. 접두사 목록에는 이름이 주어지며, [edit policy-options]
구성 계층 내에서 구성됩니다.
요구 사항
이 예를 구성하기 전에 디바이스 초기화를 제외한 특별한 구성은 필요하지 않습니다.
Junos OS 릴리스 22.1R1을 사용하여 업데이트하고 재검증됩니다.
개요
접두사 목록은 경로 필터 목록과 유사합니다. 경로 필터와 접두사 목록 사이의 기능 차이는 접두사 목록을 사용해서는 범위를 지정할 수 없다는 것입니다. 목록에 추가 접두사를 포함하거나 하나는 짧고 하나는 긴 두 개의 접두사 목록을 사용하여 하나는 수락, 다른 하나는 거부하도록 설정하면 접두사 목록을 사용하는 범위를 시뮬레이션할 수 있습니다. prefix-list-filter
일치 조건을 사용하여 접두사 목록을 필터링 할 수도 있습니다. 선택지는 exact
, longer
, orlonger
입니다.
경로 필터보다 접두사 목록이 더 편리한 점은 여러 다른 위치에서 접두사가 참조되는 경우입니다. 예를 들어, BGP 가져오기 정책, 내보내기 정책, RPF 정책에서, 방화벽 필터에서, 루프백 필터에서, 멀티캐스트 범위 설정 등에서 접두사 목록이 참조될 수 있습니다.
접두사 목록이 바뀌는 경우, 많은 다양한 위치 접두사 구성을 기억하는 대신, 접두사 목록을 업데이트하고, 접두사를 여러 번이 아닌 한 번에 변경할 수 있습니다. 이렇게 하면 위치의 주소 입력 오류, 하나 이상의 위치 업데이트 누락 등의 가능성이 줄어듭니다.
접두사 목록은 많은 수의 디바이스를 관리하는 경우에도 도움이 됩니다. 가능한 한 일반적인 다양한 필터 및 정책을 작성하여 특정 IP 주소 대 대신 접두사 목록을 참조할 수 있습니다. 더 많은 필터와 정책의 로직을 한 번만에 작성해야 하며, 디바이스당 및 사이트당 사용자 지정이 최소화됩니다.
그림 1에서 볼 수 있듯이, AS 65000의 각 라우터에는 고객 경로가 있습니다. 디바이스 R1은 172.16.1.0/24 서브넷 내에서 고객 경로를 할당합니다. 디바이스 R2 및 디바이스 R3은 각각 172.16.2.0/24 및 172.16.3.0/24 내에서 고객 경로를 할당합니다. 디바이스 R1은 고객 경로 전체 목록을 유지하기 위해 AS 65000에서 중앙 지점으로 지정되었습니다. 디바이스 R1에는 customers
(이)라고 불리는 접두사 목록이 있으며, 다음과 같습니다.
user@R1# show policy-options prefix-list customers { 172.16.1.16/28; 172.16.1.32/28; 172.16.1.48/28; 172.16.1.64/28; 172.16.2.16/28; 172.16.2.32/28; 172.16.2.48/28; 172.16.2.64/28; 172.16.3.16/28; 172.16.3.32/28; 172.16.3.48/28; 172.16.3.64/28; }
보시다시피 접두사 목록은 각 경로에 대한 일치 유형을 포함하지 않습니다(경로 필터를 통해 볼 있기 때문임). 정책에 접두사 목록을 사용할 때 중요한 포인트입니다. 경로는 목록의 접두사 중 하나와 정확히 일치하는 경우에만 일치합니다. 즉, 목록의 각 경로는 접두사 목록에 구성된 대로 정확히 라우팅 테이블에 나타나야 합니다.
다음과 같이 정책 내에서 일치 기준으로 접두사 목록을 참조합니다.
user@R1# show policy-options policy-statement customer-routes { term get-routes { from { prefix-list customers; } then accept; } term others { then reject; } }
이 예에서 customers
접두사 목록의 모든 경로는 디바이스 R1에서 라우팅 테이블에 표시됩니다. 디바이스 R2 및 디바이스 R3는 고객에 대한 디바이스 R1 정적 경로로 내보냅니다.
앞서 언급했듯이, exact
, longer
또는 orlonger
일치 유형을 포함한 prefix-list-filter
일치 조건을 사용할 수 있습니다. 이렇게 하면 접두사 목록의 접두사 목록 정확한-일치 제한을 피할 수 있는 방법이 생깁니다. 예:
user@R1# show policy-options policy-statement customer-routes { term get-routes { from { prefix-list-filter customers orlonger; } then accept; } term others { then reject; } }
이 예는 prefix-list
일치 조건과 prefix-list-filter
일치 조건 모두의 효과를 보여줍니다.
토폴로지
그림 1은 샘플 네트워크를 표시합니다.
CLI 빠른 구성은 그림 1 내 모든 디바이스의 구성을 보여줍니다.
섹션 #configuration449__policy-prefix-list-st은 디바이스 R1의 단계를 설명합니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.
디바이스 R1
set interfaces ge-0/0/0 unit 0 description to_R2 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30 set interfaces ge-0/0/1 unit 0 description to_R3 set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.5/30 set interfaces ge-0/0/2 unit 0 description to_R4 set interfaces ge-0/0/2 unit 0 family inet address 10.1.0.5/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set policy-options prefix-list customers 172.16.1.16/28 set policy-options prefix-list customers 172.16.1.32/28 set policy-options prefix-list customers 172.16.1.48/28 set policy-options prefix-list customers 172.16.1.64/28 set policy-options prefix-list customers 172.16.2.16/28 set policy-options prefix-list customers 172.16.2.32/28 set policy-options prefix-list customers 172.16.2.48/28 set policy-options prefix-list customers 172.16.2.64/28 set policy-options prefix-list customers 172.16.3.16/28 set policy-options prefix-list customers 172.16.3.32/28 set policy-options prefix-list customers 172.16.3.48/28 set policy-options prefix-list customers 172.16.3.64/28 set policy-options policy-statement customer-routes term get-routes from prefix-list customers set policy-options policy-statement customer-routes term get-routes then accept set policy-options policy-statement customer-routes term others then reject set routing-options router-id 192.168.0.1 set routing-options autonomous-system 65000 set routing-options static route 172.16.1.16/28 discard set routing-options static route 172.16.1.32/28 discard set routing-options static route 172.16.1.48/28 discard set routing-options static route 172.16.1.64/28 discard set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.1 set protocols bgp group int neighbor 192.168.0.2 set protocols bgp group int neighbor 192.168.0.3 set protocols bgp group to_65001 type external set protocols bgp group to_65001 export customer-routes set protocols bgp group to_65001 neighbor 10.1.0.6 peer-as 65001 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
디바이스 R2
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.2/30 set interfaces ge-0/0/1 unit 0 description to_R3 set interfaces ge-0/0/1 unit 0 family inet address 10.1.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options router-id 192.168.0.2 set routing-options autonomous-system 65000 set routing-options static route 172.16.2.16/28 discard set routing-options static route 172.16.2.32/28 discard set routing-options static route 172.16.2.48/28 discard set routing-options static route 172.16.2.64/28 discard set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.2 set protocols bgp group int neighbor 192.168.0.1 export send-static set protocols bgp group int neighbor 192.168.0.3 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
디바이스 R3
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.6/30 set interfaces ge-0/0/1 unit 0 description to_R2 set interfaces ge-0/0/1 unit 0 family inet address 10.1.0.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options router-id 192.168.0.3 set routing-options autonomous-system 65000 set routing-options static route 172.16.3.16/28 discard set routing-options static route 172.16.3.32/28 discard set routing-options static route 172.16.3.48/28 discard set routing-options static route 172.16.3.64/28 discard set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.3 set protocols bgp group int neighbor 192.168.0.1 export send-static set protocols bgp group int neighbor 192.168.0.2 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
디바이스 R4
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.1.0.6/30 set interfaces lo0 unit 0 family inet address 192.168.0.4/32 set routing-options autonomous-system 65001 set protocols bgp group ext type external set protocols bgp group ext peer-as 65000 set protocols bgp group ext neighbor 10.1.0.5
절차
단계별 절차
R1을 구성하기 위한 단계별 절차를 보여드리고 있습니다. 다른 라우터도 유사한 단계별 프로세스를 가지고 있습니다. 다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 내용은 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을(를) 참조하십시오.
R1을 구성하려면
-
인터페이스를 구성합니다.
[edit] user@R1# set interfaces ge-0/0/0 unit 0 description to_R2 user@R1# set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30 user@R1# set interfaces ge-0/0/1 unit 0 description to_R3 user@R1# set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.5/30 user@R1# set interfaces ge-0/0/2 unit 0 description to_R4 user@R1# set interfaces ge-0/0/2 unit 0 family inet address 10.1.0.5/30 user@R1# set interfaces lo0 unit 0 family inet address 192.168.0.1/32
-
R2 및 R3에 대한 내부 BGP(IBGP) 피어링을 구성합니다.
[edit] user@R1# set protocols bgp group int type internal user@R1# set protocols bgp group int local-address 192.168.0.1 user@R1# set protocols bgp group int neighbor 192.168.0.2 user@R1# set protocols bgp group int neighbor 192.168.0.3
-
R4에 대한 외부 BGP(EBGP) 피어링을 구성합니다. 내보내기 정책 구성은 나중에 표시됩니다.
[edit] user@R1# set protocols bgp group to_65001 type external user@R1# set protocols bgp group to_65001 export customer-routes user@R1# set protocols bgp group to_65001 neighbor 10.1.0.6 peer-as 65001
-
R2 및 R3에 대해 최단 경로 우선(OSPF) 피어링을 구성합니다.최단 경로 우선(OSPF) 프로토콜은 IBGP 피어링을 구축하도록 허용하는 각 디바이스에 루프백 주소 학습을 제공합니다.
[edit] user@R1# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 user@R1# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 user@R1# set protocols ospf area 0.0.0.0 interface lo0.0 passive
-
접두사 목록을 구성합니다.
[edit] user@R1# set policy-options prefix-list customers 172.16.1.16/28 user@R1# set policy-options prefix-list customers 172.16.1.32/28 user@R1# set policy-options prefix-list customers 172.16.1.48/28 user@R1# set policy-options prefix-list customers 172.16.1.64/28 user@R1# set policy-options prefix-list customers 172.16.2.16/28 user@R1# set policy-options prefix-list customers 172.16.2.32/28 user@R1# set policy-options prefix-list customers 172.16.2.48/28 user@R1# set policy-options prefix-list customers 172.16.2.64/28 user@R1# set policy-options prefix-list customers 172.16.3.16/28 user@R1# set policy-options prefix-list customers 172.16.3.32/28 user@R1# set policy-options prefix-list customers 172.16.3.48/28 user@R1# set policy-options prefix-list customers 172.16.3.64/28
-
접두사 목록을 일치 기준으로 참조하는 라우팅 정책을 구성합니다.
[edit] user@R1# set policy-options policy-statement customer-routes term get-routes from prefix-list customers user@R1# set policy-options policy-statement customer-routes term get-routes then accept user@R1# set policy-options policy-statement customer-routes term others then reject
-
172.16.1.0/24 네트워크에 대한 정적 경로를 구성합니다.고객 경로를 모방하기 위해 정적 경로를 사용하고 있습니다.
[edit] user@R1# set routing-options static route 172.16.1.16/28 discard user@R1# set routing-options static route 172.16.1.32/28 discard user@R1# set routing-options static route 172.16.1.48/28 discard user@R1# set routing-options static route 172.16.1.64/28 discard
-
자율 시스템(AS) 번호 및 라우터 ID를 구성합니다.
[edit] user@R1# set routing-options router-id 192.168.0.1 user@R1# set routing-options autonomous-system 65000
결과
구성 모드에서 show interfaces
, show protocols
, show policy-options
및 show routing-options
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@R1# show interfaces ge-0/0/0 { unit 0 { description to_R2; family inet { address 10.0.0.1/30; } } } ge-0/0/1 { unit 0 { description to_R3; family inet { address 10.0.0.5/30; } } } ge-0/0/2 { unit 0 { description to_R4; family inet { address 10.1.0.5/30; } } } lo0 { unit 0 { family inet { address 192.168.0.1/32; } } }
user@R1# show protocols bgp { group int { type internal; local-address 192.168.0.1; neighbor 192.168.0.2; neighbor 192.168.0.3; } group to_65001 { type external; export customer-routes; neighbor 10.1.0.6 { peer-as 65001; } } } ospf { area 0.0.0.0 { interface ge-0/0/0.0; interface ge-0/0/1.0; interface lo0.0 { passive; } } }
user@R1# show policy-options prefix-list customers { 172.16.1.16/28; 172.16.1.32/28; 172.16.1.48/28; 172.16.1.64/28; 172.16.2.16/28; 172.16.2.32/28; 172.16.2.48/28; 172.16.2.64/28; 172.16.3.16/28; 172.16.3.32/28; 172.16.3.48/28; 172.16.3.64/28; } policy-statement customer-routes { term get-routes { from { prefix-list customers; } then accept; } term others { then reject; } }
user@R1# show routing-options static { route 172.16.1.16/28 discard; route 172.16.1.32/28 discard; route 172.16.1.48/28 discard; route 172.16.1.64/28 discard; } router-id 192.168.0.1; autonomous-system 65000;
디바이스 구성을 마쳤으면 구성 모드에서 commit
을 입력합니다.
검증
구성이 올바르게 작동하고 있는지 확인합니다.
R1에서 경로 확인
목적
R1에서 라우팅 테이블 경로를 확인합니다.
작업
user@R1> show route terse 172.16/16 inet.0: 30 destinations, 30 routes (30 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both A V Destination P Prf Metric 1 Metric 2 Next hop AS path * ? 172.16.1.16/28 S 5 Discard * ? 172.16.1.32/28 S 5 Discard * ? 172.16.1.48/28 S 5 Discard * ? 172.16.1.64/28 S 5 Discard * ? 172.16.2.16/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.32/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.48/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.64/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.3.16/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.32/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.48/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.64/28 B 170 100 I unverified >10.0.0.6
의미
디바이스 R1은 디바이스 R2 및 R3(B)에서 자체 정적 경로(S) 및 BGP(Border Gateway Protocol) 경로를 학습했습니다.
R4에 대한 경로 보급 확인
목적
R1에서 고객 경로가 R4에 보급되었는지 확인합니다.
작업
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 30 destinations, 30 routes (30 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I
의미
예상대로 고객 접두사 목록의 경로만 R4에 보급됩니다.
접두사 목록 필터 문 실험하기
목적
prefix-list
대신 prefix-list-filter
을(를) 사용하면 어떤 일이 발생할 수 있는지 확인합니다.
작업
-
R3에서 기존 정적 경로 중 하나보다 더 긴 정적 경로를 추가합니다.
[edit routing-options static] user@R3# set route 172.16.3.65/32 discard user@R3# commit
-
R1에서 접두사 목록을 비활성화하고
orlonger
일치 유형으로 접두사 목록 필터를 구성합니다.[edit policy-options policy-statement customer-routes term get-routes] user@R1# deactivate from prefix-list customers user@R1# set from prefix-list-filter customers orlonger user@R1# commit
-
R1에서 어떤 경로가 R4에 보급되는지 확인합니다.
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 31 destinations, 31 routes (31 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I * 172.16.3.65/32 Self I
의미
예상대로 R1은 현재 172.16.3.65/32 경로를 R4에 보급하고 있지만, 172.16.3.65/32는 접두사 목록에 있지도 않습니다.