예: EX9200 스위치에서 IRB 솔루션으로 EVPN 구성
이 예는 이더넷 VPN(EVPN) 구축에서 통합 라우팅 및 브리징(IRB) 솔루션을 구성하는 방법을 보여줍니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
PE 라우터로 구성된 EX9200 스위치 2개
모든 PE 라우터에서 실행되는 Junos OS 릴리스 14.2 이상
시작하기 전에:
스위치 인터페이스를 구성합니다.
OSPF 또는 기타 IGP 프로토콜을 구성합니다.
BGP를 구성합니다.
LDP를 구성합니다.
MPLS를 구성합니다.
개요
EVPN 솔루션에서는 특정 EVPN 인스턴스 내에서 여러 VLAN을 정의할 수 있으며, 하나 이상의 EVPN 인스턴스를 단일 레이어 3 VPN VRF와 연결할 수 있습니다. 일반적으로 각 데이터센터 테넌트에는 고유한 레이어 3 VPN 가상 경로 포워딩(VRF)이 할당되지만, 테넌트는 하나 이상의 EVPN 인스턴스 또는 EVPN 인스턴스당 VLAN으로 구성될 수 있습니다.
이러한 유연성과 확장성 요소를 지원하기 위해 EVPN 솔루션은 EX9200 스위치의 IRB 인터페이스를 지원하여 가상 머신 모빌리티와 함께 최적의 레이어 2 및 레이어 3 포워딩을 촉진합니다. IRB 인터페이스는 EVPN 인스턴스에 대한 기본 VLAN을 포함하여 구성된 각 VLAN에서 구성됩니다.
IRB는 단일 노드 내에서 레이어 2 스위칭 및 레이어 3 라우팅을 수행할 수 있는 기능으로, 서브넷 간 트래픽에 대한 추가 홉을 방지합니다. EVPN IRB 솔루션은 게이트웨이 MAC 및 IP 동기화를 사용하여 기본 게이트웨이 문제를 제거하고, 테넌트 VRF에서 가상 머신(VM)에 대한 IP 호스트 경로를 생성하여 레이어 3 상호 연동과 관련된 삼각 라우팅 문제를 방지합니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 명령을 CLI로 [edit]
복사해 붙여 넣습니다.
CE1
set interfaces ge-1/1/7 vlan-tagging set interfaces ge-1/1/7 unit 0 vlan-id 10 set interfaces ge-1/1/7 unit 0 family inet address 10.0.0.1/24 set routing-options static route 198.51.100.0/24 next-hop 10.0.0.251
PE1
set interfaces ge-1/0/8 unit 0 family inet address 192.0.2.1/24 set interfaces ge-1/0/8 unit 0 family mpls set interfaces ge-1/1/8 flexible-vlan-tagging set interfaces ge-1/1/8 encapsulation flexible-ethernet-services set interfaces ge-1/1/8 unit 0 encapsulation vlan-bridge set interfaces ge-1/1/8 unit 0 vlan-id 10 set interfaces irb unit 0 family inet address 10.0.0.251/24 set interfaces lo0 unit 0 family inet address 203.0.113.1/32 set routing-options router-id 203.0.113.1 set routing-options autonomous-system 100 set routing-options forwarding-table chained-composite-next-hop ingress evpn set protocols ldp interface all set protocols ldp interface fxp0.0 disable set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 203.0.113.1 set protocols bgp group ibgp family evpn signaling set protocols bgp group ibgp neighbor 203.0.113.2 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set routing-instances evpna instance-type evpn set routing-instances evpna vlan-id 10 set routing-instances evpna interface ge-1/1/8.0 set routing-instances evpna l3-interface irb.0 set routing-instances evpna route-distinguisher 203.0.113.1:100 set routing-instances evpna vrf-target target:100:100 set routing-instances evpna protocols evpn interface ge-1/1/8.0 set routing-instances vrf instance-type vrf set routing-instances vrf interface irb.0 set routing-instances vrf route-distinguisher 203.0.113.1:300 set routing-instances vrf vrf-target target:100:300 set routing-instances vrf vrf-table-label
PE2
set interfaces ge-2/0/8 unit 0 family inet address 192.0.2.2/24 set interfaces ge-2/0/8 unit 0 family mpls set interfaces ge-2/1/8 flexible-vlan-tagging set interfaces ge-2/1/8 encapsulation flexible-ethernet-services set interfaces ge-2/1/8 unit 0 encapsulation vlan-bridge set interfaces ge-2/1/8 unit 0 vlan-id 20 set interfaces irb unit 0 family inet address 198.51.100.251/24 set interfaces lo0 unit 0 family inet address 203.0.113.2/32 set routing-options router-id 203.0.113.2 set routing-options autonomous-system 100 set routing-options forwarding-table chained-composite-next-hop ingress evpn set protocols ldp interface all set protocols ldp interface fxp0.0 disable set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 203.0.113.2 set protocols bgp group ibgp family evpn signaling set protocols bgp group ibgp neighbor 203.0.113.1 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set routing-instances evpna instance-type evpn set routing-instances evpna vlan-id 20 set routing-instances evpna interface ge-2/1/8.0 set routing-instances evpna l3-interface irb.0 set routing-instances evpna route-distinguisher 203.0.113.2:100 set routing-instances evpna vrf-target target:200:100 set routing-instances evpna protocols evpn interface ge-2/1/8.0 set routing-instances vrf instance-type vrf set routing-instances vrf interface irb.0 set routing-instances vrf route-distinguisher 203.0.113.2:300 set routing-instances vrf vrf-target target:200:300 set routing-instances vrf vrf-table-label
CE2
set interfaces ge-2/1/7 unit 0 vlan-id 20 set interfaces ge-2/1/7 unit 0 family inet address 198.51.100.2/24 set routing-options static route 10.0.0.0/24 next-hop 198.51.100.251
단계별 절차
다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. CLI 탐색에 대한 정보는 구성 모드에서 CLI 편집기 사용의 내용을 참조하십시오.
라우터 PE1 구성:
적절한 인터페이스 이름, 주소 및 기타 매개 변수를 수정한 후 라우터 PE2에 대해 이 절차를 반복합니다.
라우터 PE1 인터페이스를 구성합니다.
[edit interfaces]
user@PE1# set ge-1/0/8 unit 0 family inet address 192.0.2.1/24 user@PE1# set ge-1/0/8 unit 0 family mpls user@PE1# set ge-1/1/8 flexible-vlan-tagging user@PE1# set ge-1/1/8 encapsulation flexible-ethernet-services user@PE1# set ge-1/1/8 unit 0 encapsulation vlan-bridge user@PE1# set ge-1/1/8 unit 0 vlan-id 10 user@PE1# set irb unit 0 family inet address 10.0.0.251/24 user@PE1# set lo0 unit 0 family inet address 203.0.113.1/32라우터 PE1의 라우터 ID 및 AS(Autonomous System) 번호를 설정합니다.
[edit routing-options]
user@PE1# set router-id 203.0.113.1 user@PE1# set autonomous-system 100EVPN에 대한 연결된 복합 다음 홉을 구성합니다.
[edit routing-options]
user@PE1# set forwarding-table chained-composite-next-hop ingress evpn관리 인터페이스를 제외한 라우터 PE1의 모든 인터페이스에서 LDP를 활성화합니다.
[edit protocols]
user@PE1# set ldp interface all user@PE1# set ldp interface fxp0.0 disable관리 인터페이스를 제외한 라우터 PE1의 모든 인터페이스에서 MPLS를 활성화합니다.
[edit protocols]
user@PE1# set mpls interface all user@PE1# set mpls mpls interface fxp0.0 disable라우터 PE1에 대한 BGP 그룹을 구성합니다.
[edit protocols]
user@PE1# set bgp group ibgp type internal라우터 PE1이 라우터 PE2와 피어링할 수 있도록 ibgp BGP 그룹에 로컬 및 neighbor 주소를 할당합니다.
[edit protocols]
user@PE1# set bgp group ibgp local-address 203.0.113.1 user@PE1# set bgp group ibgp neighbor 203.0.113.2ibgp BGP 그룹에 EVPN 시그널링 NLRI(Network Layer Reachability Information)를 포함합니다.
[edit protocols]
user@PE1# set bgp group ibgp family evpn signaling관리 인터페이스를 제외한 라우터 PE1의 모든 인터페이스에서 OSPF를 구성합니다.
[edit protocols]
user@PE1# set ospf area 0.0.0.0 interface all user@PE1# set ospf area 0.0.0.0 interface fxp0.0 disableEVPN 라우팅 인스턴스를 구성합니다.
[edit routing-instances] user@PE1# set evpna instance-type evpn
evpna 라우팅 인스턴스에서 브리징 도메인에 대한 VLAN 식별자를 설정합니다.
[edit routing-instances] user@PE1# set evpna vlan-id 10
evpna 라우팅 인스턴스에 대한 인터페이스 이름을 구성합니다.
[edit routing-instances] user@PE1# set evpna interface ge-1/1/8.0
IRB 인터페이스를 evpna 라우팅 인스턴스에 대한 라우팅 인터페이스로 구성합니다.
[edit routing-instances] user@PE1# set evpna l3-interface irb.0
evpna 라우팅 인스턴스에 대한 경로 식별자를 구성합니다.
[edit routing-instances] user@PE1# set evpna route-distinguisher 203.0.113.1:100
evpna 라우팅 인스턴스에 대한 VPN 라우팅 및 포워딩(VRF) 대상 커뮤니티를 구성합니다.
[edit routing-instances] user@PE1# set evpna vrf-target target:100:100
PE1 사이트를 VPN에 연결하는 인터페이스 이름을 할당합니다.
[edit routing-instances] user@PE1# set evpna protocols evpn interface ge-1/1/8.0
VRF 라우팅 인스턴스를 구성합니다.
[edit routing-instances] user@PE1# set vrf instance-type vrf
IRB 인터페이스를 vrf 라우팅 인스턴스에 대한 라우팅 인터페이스로 구성합니다.
[edit routing-instances] user@PE1# set vrf interface irb.0
vrf 라우팅 인스턴스에 대한 경로 식별자를 구성합니다.
[edit routing-instances] user@PE1# set vrf route-distinguisher 203.0.113.1:300
vrf 라우팅 인스턴스에 대한 VRF 레이블을 구성합니다.
[edit routing-instances] user@PE1# set vrf vrf-table-label
결과
구성 모드에서 , show routing-options
, show protocols
및 show routing-instances
명령을 입력하여 show interfaces
구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@PE1# show interfaces
ge-1/0/8 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
family mpls;
}
}
ge-1/1/8 {
flexible-vlan-tagging;
encapsulation flexible-ethernet-services;
unit 0 {
encapsulation vlan-bridge;
vlan-id 10;
}
}
irb {
unit 0 {
family inet {
address 10.0.0.251/24;
}
}
}
lo0 {
unit 0 {
family inet {
address 203.0.113.1/32 {
}
}
}
}
user@PE1# show routing-options
router-id 203.0.113.1;
autonomous-system 100;
forwarding-table {
chained-composite-next-hop {
ingress {
evpn;
}
}
}
user@PE1# show protocols
ldp {
interface all;
interface fxp0.0 {
disable;
}
}
mpls {
interface all;
interface fxp0.0 {
disable;
}
}
bgp {
group ibgp {
type internal;
local-address 203.0.113.1;
family evpn {
signaling;
}
neighbor 203.0.113.2;
}
}
ospf {
area 0.0.0.0 {
interface all;
interface fxp0.0 {
disable;
}
}
}
user@PE1# show routing-instances
evpna {
instance-type evpn;
vlan-id 10;
interface ge-1/1/8.0;
l3-interface irb.0;
route-distinguisher 203.0.113.1:100;
vrf-target target:100:100;
protocols {
evpn {
interface ge-1/1/8.0;
}
}
}
vrf {
instance-type vrf;
interface irb.0;
route-distinguisher 203.0.113.1:300;
vrf-target target:100:300;
vrf-table-label;
}
확인
구성이 올바르게 작동하고 있는지 확인합니다.
로컬 IRB MAC 검증
목적
로컬 IRB MAC가 L2ALD에서 학습되었는지 확인합니다.
행동
라우터 PE1에서 로컬 IRB 인터페이스의 MAC 주소를 확인합니다.
운영 모드에서 명령을 실행합니다 show interfaces irb extensive | match "Current address"
.
user@PE1> show interfaces irb extensive | match "Current address" Current address: a8:d0:e5:54:0d:10, Hardware address: a8:d0:e5:54:0d:10
운영 모드에서 명령을 실행합니다 show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10"
.
user@PE1> show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10" 2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10/384 (1 entry, 1 announced) TSI: Page 0 idx 0, (group PE type Internal) Type 1 val 0x2736568 (adv_entry) Advertised metrics: Flags: Nexthop Change Nexthop: Self Localpref: 100 AS path: [100] I Communities: target:100:100 evpn-default-gateway Path 2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10 Vector len 4. Val: 0 *EVPN Preference: 170 Next hop type: Indirect Address: 0x26f8354 Next-hop reference count: 6 Protocol next hop: 10.255.0.1 Indirect next hop: 0x0 - INH Session ID: 0x0 State: <Active Int Ext> Age: 23:29:08 Validation State: unverified Task: evpna-evpn Announcement bits (1): 1-BGP_RT_Background AS path: I Communities: evpn-default-gateway Route Label: 299776
의미
로컬 IRB 인터페이스에 대한 MAC 전용 경로는 라우터 PE1의 EVPN 인스턴스 경로 테이블에 나타나며, EVPN에서 학습되고 기본 게이트웨이 확장 커뮤니티로 태그가 지정됩니다.
원격 IRB MAC 확인
목적
원격 IRB MAC가 BGP에서 학습되었는지 확인합니다.
행동
라우터 PE1에서 로컬 IRB 인터페이스의 MAC 주소를 확인합니다.
운영 모드에서 명령을 실행합니다 show interfaces irb extensive | match "Current address"
.
user@PE1> show interfaces irb extensive | match "Current address" Current address: a8:d0:e5:54:0d:10, Hardware address: a8:d0:e5:54:0d:10
라우터 PE2에서 원격 IRB MAC가 학습되었는지 확인합니다.
운영 모드에서 명령을 실행합니다 show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10"
.
user@PE2> show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10" 2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10/384 (1 entry, 1 announced) *BGP Preference: 170/-101 Route Distinguisher: 2.91.223.24:100 Next hop type: Indirect Address: 0x26f8d6c Next-hop reference count: 10 Source: 10.255.0.1 Protocol next hop: 10.255.0.1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 State: <Secondary Active Int Ext> Local AS: 100 Peer AS: 100 Age: 23:22:17 Metric2: 1 Validation State: unverified Task: BGP_100.10.255.0.1 Announcement bits (1): 0-evpna-evpn AS path: I Communities: target:100:100 evpn-default-gateway Import Accepted Route Label: 299776 Localpref: 100 Router ID: 10.255.0.1 Primary Routing Table bgp.evpn.0 Indirect next hops: 1 Protocol next hop: 10.255.0.1 Metric: 1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 1.0.0.1 via ge-1/0/8.0 Session Id: 0x1 10.255.0.1/32 Originating RIB: inet.3 Metric: 1 Node path count: 1 Forwarding nexthops: 1 Nexthop: 1.0.0.1 via ge-1/0/8.0
의미
원격 IRB 인터페이스에 대한 MAC 전용 경로는 라우터 PE2의 EVPN 인스턴스 경로 테이블에 나타나며, BGP에서 학습되고 기본 게이트웨이 확장 커뮤니티로 태그가 지정됩니다.
로컬 IRB IP 확인
목적
로컬 IRB IP가 RPD에 의해 로컬로 학습되는지 확인합니다.
행동
라우터 PE1에서 로컬 IRB 인터페이스의 MAC 및 IP 주소를 확인합니다.
운영 모드에서 명령을 실행합니다 show interfaces irb extensive | match "Current address"
.
user@PE1> show interfaces irb extensive | match "Current address" Current address: a8:d0:e5:54:0d:10, Hardware address: a8:d0:e5:54:0d:10
운영 모드에서 명령을 실행합니다 show interfaces irb.0 terse | match inet
.
user@PE1> show interfaces irb.0 terse | match inet irb.0 up up inet 10.0.0.251/24
운영 모드에서 명령을 실행합니다 show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10::10.0.0.251"
.
user@PE2> show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10::10.0.0.251" 2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10::10.0.0.251/384 (1 entry, 1 announced) TSI: Page 0 idx 0, (group PE type Internal) Type 1 val 0x27365a0 (adv_entry) Advertised metrics: Flags: Nexthop Change Nexthop: Self Localpref: 100 AS path: [100] I Communities: target:100:100 evpn-default-gateway Path 2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10::10.0.0.251 Vector len 4. Val: 0 *EVPN Preference: 170 <<<<< Next hop type: Indirect Address: 0x26f8354 Next-hop reference count: 6 Protocol next hop: 10.255.0.1 Indirect next hop: 0x0 - INH Session ID: 0x0 State: <Active Int Ext> Age: 23:48:46 Validation State: unverified Task: evpna-evpn Announcement bits (1): 1-BGP_RT_Background AS path: I Communities: evpn-default-gateway Route Label: 299776
의미
로컬 IRB 인터페이스에 대한 MAC 및 IP 경로는 라우터 PE1의 EVPN 인스턴스 경로 테이블에 나타나며, EVPN에서 학습되고 기본 게이트웨이 확장 커뮤니티로 태그가 지정됩니다.
원격 IRB IP 확인
목적
원격 IRB IP가 BGP에서 학습되었는지 확인합니다.
행동
라우터 PE1에서 로컬 IRB 인터페이스의 MAC 및 IP 주소를 확인합니다.
운영 모드에서 명령을 실행합니다 show interfaces irb extensive | match "Current address"
.
user@PE1> show interfaces irb extensive | match "Current address" Current address: a8:d0:e5:54:0d:10, Hardware address: a8:d0:e5:54:0d:10
운영 모드에서 명령을 실행합니다 show interfaces irb.0 terse | match inet
.
user@PE1> show interfaces irb.0 terse | match inet irb.0 up up inet 10.0.0.251/24
라우터 PE2에서 원격 IRB IP가 학습되었는지 확인합니다.
운영 모드에서 명령을 실행합니다 show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10::10.0.0.251"
.
user@PE2> show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10::10.0.0.251" 2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10::10.0.0.251/384 (1 entry, 1 announced) *BGP Preference: 170/-101 Route Distinguisher: 2.91.223.216:100 Next hop type: Indirect Address: 0x26f8d6c Next-hop reference count: 10 Source: 10.255.0.1 Protocol next hop: 10.255.0.1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 State: <Secondary Active Int Ext> Local AS: 100 Peer AS: 100 Age: 23:56:36 Metric2: 1 Validation State: unverified Task: BGP_100.10.255.0.1 Announcement bits (1): 0-evpna-evpn AS path: I Communities: target:100:100 evpn-default-gateway Import Accepted Route Label: 299776 Localpref: 100 Router ID: 10.255.0.1 Primary Routing Table bgp.evpn.0 Indirect next hops: 1 Protocol next hop: 10.255.0.1 Metric: 1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 1.0.0.1 via ge-1/0/8.0 Session Id: 0x1 10.255.0.1/32 Originating RIB: inet.3 Metric: 1 Node path count: 1 Forwarding nexthops: 1 Nexthop: 1.0.0.1 via ge-1/0/8.0
의미
원격 IRB 인터페이스에 대한 MAC 플러스 IP 경로는 라우터 PE2의 EVPN 인스턴스 경로 테이블에 나타나며 기본 게이트웨이 확장 커뮤니티로 태그가 지정됩니다.
CE-CE 서브넷 간 전달 확인
목적
라우터 CE1과 CE2 간의 서브넷 간 전달을 확인합니다.
행동
운영 모드에서 명령을 실행합니다 show route table inet.0
.
user@CE1> show route table inet.0 inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0.0.0.0/0 *[Static/5] 00:15:09 > to 10.0.0.251 via ge-1/1/7.0 10.0.0.0/24 *[Direct/0] 1d 23:24:30 > via ge-1/1/7.0 10.0.0.1/32 *[Local/0] 1d 23:24:38 Local via ge-1/1/7.0
운영 모드에서 명령을 실행합니다 ping
.
user@CE1> ping 198.51.100.2 interval 0.1 count 10 PING 198.51.100.2 (20.0.0.2): 56 data bytes 64 bytes from 198.51.100.2: icmp_seq=0 ttl=63 time=0.919 ms 64 bytes from 198.51.100.2: icmp_seq=1 ttl=63 time=0.727 ms 64 bytes from 198.51.100.2: icmp_seq=2 ttl=63 time=0.671 ms 64 bytes from 198.51.100.2: icmp_seq=3 ttl=63 time=0.671 ms 64 bytes from 198.51.100.2: icmp_seq=4 ttl=63 time=0.666 ms 64 bytes from 198.51.100.2: icmp_seq=5 ttl=63 time=0.704 ms 64 bytes from 198.51.100.2: icmp_seq=6 ttl=63 time=0.763 ms 64 bytes from 198.51.100.2: icmp_seq=7 ttl=63 time=0.750 ms 64 bytes from 198.51.100.2: icmp_seq=8 ttl=63 time=12.967 ms 64 bytes from 198.51.100.2: icmp_seq=9 ttl=63 time=0.752 ms --- 198.51.100.2 ping statistics --- 10 packets transmitted, 10 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.666/1.959/12.967/3.670 ms
의미
라우터 CE1에서 라우터 CE2로의 Ping이 성공했습니다.