레이어 3 VPN을 위한 GRE 터널
레이어 3 VPN에 대한 GRE 터널 구성
Junos OS 레이어 3 VPN에 대한 PE와 CE 라우터 간에 일반적인 라우팅 캡슐화(GRE) 터널을 구성할 수 있습니다. GRE 터널에는 하나 이상의 홉이 있을 수 있습니다. PE 라우터에서 로컬 CE 라우터( 그림 1과 같이)나 원격 CE 라우터로 터널을 구성할 수 있습니다( 그림 2와 같이).
터널 인터페이스를 구성하는 방법에 대한 자세한 내용은 라우팅 디바이스용 Junos OS 서비스 인터페이스 라이브러리를 참조하십시오.
GRE 터널을 수동으로 구성하거나 GRE 터널을 동적으로 인스턴스화할 Junos OS 구성할 수 있습니다.
다음 섹션에서는 GRE 터널을 수동 및 동적으로 구성하는 방법을 설명합니다.
PE와 CE 라우터 간에 GRE 터널 수동 구성
다음 섹션에서 설명한 대로 PE 라우터와 로컬 CE 라우터 또는 레이어 3 VPN에 대한 원격 CE 라우터 간에 GRE 터널을 수동으로 구성할 수 있습니다.
PE 라우터에서 GRE 터널 인터페이스 구성
GRE 터널을 PE 라우터에서 논리적 인터페이스로 구성합니다. GRE 터널 인터페이스를 구성하려면 문을 포함합니다 unit
.
unit logical-unit-number { tunnel { source source-address; destination destination-address; routing-instance { destination routing-instance-name; } } family inet { address address; } }
다음 계층 수준에서 이 문을 포함할 수 있습니다.
[edit interfaces interface-name]
[edit logical-systems logical-system-name interfaces interface-name]
GRE 터널 인터페이스 구성의 일부로 다음 문을 포함해야 합니다.
source source-address
—GRE 터널(일반적으로 PE 라우터)의 소스 또는 원본을 지정합니다.destination destination-address
- GRE 터널의 대상 또는 엔드 포인트를 지정합니다. 대상은 공급자 라우터, 로컬 CE 라우터 또는 원격 CE 라우터일 수 있습니다.
기본적으로 터널 대상 주소는 기본 인터넷 라우팅 테이블 inet.0인 것으로 가정됩니다. 터널 대상 주소가 inet.0에 없는 경우 문을 구성 routing-instance
하여 터널 대상 주소를 검색할 라우팅 테이블 지정해야 합니다. 터널 캡슐화 인터페이스도 라우팅 인스턴스에 따라 구성된 경우입니다.
destination
routing-instance-name
-PE 라우터에서 GRE 터널 인터페이스를 구성할 때 라우팅 인스턴스의 이름을 지정합니다.
GRE 터널 인터페이스 구성을 완료하려면 적절한 라우팅 인스턴스 아래에 GRE 인터페이스에 대한 문을 포함합니다 interface
.
interface interface-name;
다음 계층 수준에서 이 문을 포함할 수 있습니다.
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
CE 라우터에서 GRE 터널 인터페이스 구성
로컬 또는 원격 CE 라우터 중 하나가 GRE 터널의 엔드포인트 역할을 하도록 구성할 수 있습니다.
CE 라우터에서 GRE 터널 인터페이스를 구성하려면 문을 포함합니다 unit
.
unit logical-unit-number { tunnel { source address; destination address; } family inet { address address; } }
다음 계층 수준에서 이 문을 포함할 수 있습니다.
[edit interfaces interface-name]
[edit logical-systems logical-system-name interfaces interface-name]
GRE 터널 동적 구성
라우터가 BGP 다음 홉 주소로 VPN 경로를 수신하지만 MPLS 경로를 사용할 수 없는 경우, GRE 터널을 동적으로 생성하여 BGP 네트워크를 통해 VPN 트래픽을 전송할 수 있습니다. GRE 터널이 생성되고 라우팅 정보가 inet.3 라우팅 테이블 복사됩니다. IPv4 경로는 동적 GRE 터널에 지원되는 유일한 유형의 경로입니다. 또한 라우팅 플랫폼에는 터널 PIC가 있어야 합니다.
원격 CE 라우터에 동적 GRE 터널을 구성할 때 터널 인터페이스를 통해 OSPF를 구성하지 마십시오. 라우터가 GRE 터널을 다운하도록 강제하는 라우팅 루프를 생성합니다. 라우터는 GRE 터널을 재설정하려고 시도하지만, OSPF가 터널 인터페이스에서 활성화되고 터널 엔드포인트로 가는 경로를 발견하면 다시 중단됩니다. 이는 정적 GRE 터널을 원격 CE 라우터로 구성할 때 문제가 되지 않습니다.
GRE 터널을 동적으로 생성하려면 문을 포함합니다 dynamic-tunnels
.
dynamic-tunnels tunnel-name { destination-networks prefix; source-address address; }
다음 계층 수준에서 이 문을 포함할 수 있습니다.
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
문을 포함하여 대상 네트워크에 대한 IPv4 접두사 범위(예: 10/8 또는 11.1/16)를 지정합니다 destination-networks
. 지정된 IPv4 접두사 범위 내의 터널만 시작될 수 있습니다.
destination-networks prefix;
다음 계층 수준에서 이 문을 포함할 수 있습니다.
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
문을 포함하여 GRE 터널의 소스 주소를 지정합니다 source-address
. 소스 주소는 로컬 터널 엔드포인트의 소스로 사용되는 주소를 지정합니다. 이는 라우터의 로컬 주소(일반적으로 라우터 ID 또는 루프백 주소)일 수 있습니다.
source-address address;
다음 계층 수준에서 이 문을 포함할 수 있습니다.
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
더 보기
PE 라우터 간 GRE 터널 인터페이스 구성
이 예는 VPN 연결을 제공하기 위해 PE 라우터 간에 GRE(Generic Routing Encapsulation) 터널 인터페이스를 구성하는 방법을 보여줍니다. 이 구성을 사용하여 MPLS 아닌 코어 네트워크에서 VPN 트래픽을 터널할 수 있습니다. 이 예에서 사용되는 네트워크 토폴로지는 그림 3에 표시됩니다. 이 그림에 표시된 P 라우터는 MPLS 실행되지 않습니다.
구성 정보는 다음 섹션을 참조하십시오.
- 라우터 A에서 라우팅 인스턴스 구성
- 라우터 D에서 라우팅 인스턴스 구성
- 라우터 A에서 MPLS, BGP 및 OSPF 구성
- 라우터 D에서 MPLS, BGP 및 OSPF 구성
- 라우터 A에서 터널 인터페이스 구성
- 라우터 D에서 터널 인터페이스 구성
- 라우터 A에서 라우팅 옵션 구성
- 라우터 D에서 라우팅 옵션 구성
- 라우터 A에 대한 구성 요약
- 라우터 D에 대한 구성 요약
라우터 A에서 라우팅 인스턴스 구성
라우터 A에서 라우팅 인스턴스를 구성합니다.
[edit routing-instances] gre-config { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.176:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
라우터 D에서 라우팅 인스턴스 구성
라우터 D에서 라우팅 인스턴스를 구성합니다.
[edit routing-instances] gre-config { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.178:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
라우터 A에서 MPLS, BGP 및 OSPF 구성
이 예에서 P 라우터에서 MPLS 구성할 필요는 없지만 PE와 CE 라우터 간의 인터페이스와 PE 라우터(라우터 A 및 라우터 D)를 연결하는 GRE 인터페이스(gr-1/1/0.0
)에 필요합니다. 라우터 A에서 MPLS, BGP 및 OSPF를 구성합니다.
[edit protocols] mpls { interface all; } bgp { group pe-to-pe { type internal; neighbor 10.255.14.178 { family inet-vpn { unicast; } } } } ospf { area 0.0.0.0 { interface all; interface gr-1/1/0.0 { disable; } } }
라우터 D에서 MPLS, BGP 및 OSPF 구성
이 예에서 P 라우터에서 MPLS 구성할 필요는 없지만 PE와 CE 라우터 사이의 인터페이스와 PE 라우터(라우터 D 및 라우터 A)를 연결하는 GRE 인터페이스(gr-1/1/0.0
)에 필요합니다. 라우터 D에서 MPLS, BGP 및 OSPF를 구성합니다.
[edit protocols] mpls { interface all; } bgp { group pe-to-pe { type internal; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } } ospf { traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } interface gr-1/1/0.0 { disable; } } }
라우터 A에서 터널 인터페이스 구성
라우터 A에서 터널 인터페이스를 구성합니다(터널은 번호가 지정되지 않음).
[edit interfaces interface-name] unit 0 { tunnel { source 10.255.14.176; destination 10.255.14.178; } family inet; family mpls; }
라우터 D에서 터널 인터페이스 구성
라우터 D에서 터널 인터페이스를 구성합니다(터널은 번호가 지정되지 않음).
[edit interfaces interface-name] unit 0 { tunnel { source 10.255.14.178; destination 10.255.14.176; } family inet; family mpls; }
라우터 A에서 라우팅 옵션 구성
라우터 A에 대한 라우팅 옵션 구성의 일환으로 inet.3 라우팅 테이블 VPN 경로 해결을 사용하도록 라우팅 테이블 그룹을 구성해야 합니다.
라우터 A에서 라우팅 옵션을 구성합니다.
[edit routing-options] interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.178/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
라우터 D에서 라우팅 옵션 구성
라우터 D에 대한 라우팅 옵션 구성의 일환으로 inet.3 라우팅 테이블 VPN 경로 해결을 사용하도록 라우팅 테이블 그룹을 구성해야 합니다.
라우터 D에서 라우팅 옵션을 구성합니다.
[edit routing-options] interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.176/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
라우터 A에 대한 구성 요약
라우팅 인스턴스 구성
gre-config { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.176:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
MPLS 구성
mpls { interface all; }
BGP 구성
bgp { traceoptions { file bgp.trace world-readable; flag update detail; } group pe-to-pe { type internal; neighbor 10.255.14.178 { family inet-vpn { unicast; } } } }
OSPF 구성
ospf { area 0.0.0.0 { interface all; interface gr-1/1/0.0 { disable; } } }
터널 인터페이스 구성
interface-name { unit 0 { tunnel { source 10.255.14.176; destination 10.255.14.178; } family inet; family mpls; } }
라우팅 옵션 구성
interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.178/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
라우터 D에 대한 구성 요약
라우팅 인스턴스 구성
gre-config { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.178:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
MPLS 구성
mpls { interface all; }
BGP 구성
bgp { group pe-to-pe { type internal; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } }
OSPF 구성
ospf { traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } interface gr-1/1/0.0 { disable; } } }
터널 인터페이스 구성
interface-name { unit 0 { tunnel { source 10.255.14.178; destination 10.255.14.176; } family inet; family mpls; } }
라우팅 옵션 구성
interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.176/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
PE와 CE 라우터 간의 GRE 터널 인터페이스 구성
이 예는 PE 라우터와 CE 라우터 간에 GRE 터널 인터페이스를 구성하는 방법을 보여줍니다. 이 구성을 사용하여 MPLS 아닌 코어 네트워크에서 VPN 트래픽을 터널할 수 있습니다. 이 예에서 사용되는 네트워크 토폴로지는 그림 4에 표시됩니다.
이 예에서는 다음 섹션에서 설명하는 절차를 완료하십시오.
캡슐화 인터페이스 없이 라우팅 인스턴스 구성
캡슐화 인터페이스의 여부와 관계없이 라우팅 인스턴스를 구성할 수 있습니다. 다음 섹션에서는 라우팅 인스턴스를 사용하지 않고 구성하는 방법을 설명합니다.
라우터 PE1에서 라우팅 인스턴스 구성
라우터 PE1에서 라우팅 인스턴스를 구성합니다.
[edit routing-instances] vpna { instance-type vrf; interface gr-1/2/0.0; route-distinguisher 10.255.14.174:1; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna { type external; peer-as 100; as-override; neighbor 10.49.2.1; } } } }
라우터 PE1에서 GRE 터널 인터페이스 구성
라우터 PE1에서 GRE 터널 인터페이스를 구성합니다.
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.249; destination 192.168.197.250; } family inet { address 10.49.2.2/30; } }
이 예에서 인터페이스 t3-0/1/3
는 GRE 터널에 대한 캡슐화 인터페이스 역할을 합니다.
MPLS 프로토콜 체계가 활성화된 인터페이스에서 문을 구성할 clear-dont-fragment-bit
때, MTU 값을 지정해야 합니다. 이 MTU 값은 지원되는 최대 값(9192)보다 크지 않아야 합니다.
예를 들어:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
라우터 PE1에서 캡슐화 인터페이스 구성
라우터 PE1에서 캡슐화 인터페이스를 구성합니다.
[edit interfaces t3-0/1/3] unit 0 { family inet { address 192.168.197.249/30; } }
캡슐화 인터페이스를 사용한 라우팅 인스턴스 구성
터널 캡슐화 인터페이스, t3-0/1/3
이(가) 라우팅 인스턴스에 따라 구성된 경우, 인터페이스 정의에 따라 해당 라우팅 인스턴스의 이름을 지정해야 합니다. 시스템은 이 라우팅 인스턴스를 사용하여 터널 대상 주소를 검색합니다.
캡슐화 인터페이스를 사용하여 라우팅 인스턴스를 구성하기 위해 다음 섹션에서 단계를 수행합니다.
라우터 PE1에서 라우팅 인스턴스 구성
라우팅 인스턴스에서 터널 캡슐화 인터페이스를 구성하는 경우, 라우터 PE1에서 라우팅 인스턴스를 구성합니다.
[edit routing-instances] vpna { instance-type vrf; interface gr-1/2/0.0; interface t3-0/1/3.0; route-distinguisher 10.255.14.174:1; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna { type external; peer-as 100; as-override; neighbor 10.49.2.1; } } } }
라우터 PE1에서 GRE 터널 인터페이스 구성
라우터 PE1에서 GRE 터널 인터페이스를 구성합니다.
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.249; destination 192.168.197.250; routing-instance { destination vpna; } } family inet { address 10.49.2.2/30; } }
MPLS 프로토콜 체계가 활성화된 인터페이스에서 문을 구성할 clear-dont-fragment-bit
때, MTU 값을 지정해야 합니다. 이 MTU 값은 지원되는 최대 값(9192)보다 크지 않아야 합니다.
예를 들어:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
MPLS 프로토콜 체계가 활성화된 인터페이스에서 문을 구성할 clear-dont-fragment-bit
때, MTU 값을 지정해야 합니다. 이 MTU 값은 지원되는 최대 값(9192)보다 크지 않아야 합니다.
예를 들어:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
라우터 PE1에서 캡슐화 인터페이스 구성
라우터 PE1에서 캡슐화 인터페이스를 구성합니다.
[edit interfaces t3-0/1/3] unit 0 { family inet { address 192.168.197.249/30; } }
라우터 CE1에서 GRE 터널 인터페이스 구성
라우터 CE1에서 GRE 터널 인터페이스를 구성합니다.
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.250; destination 192.168.197.249; } family inet { address 10.49.2.1/30; } }