레이어 3 VPN을 위한 GRE 터널
레이어 3 VPN에 대한 GRE 터널 구성
Junos OS를 사용하면 레이어 3 VPN을 위해 PE와 CE 라우터 사이에 GRE(Generic Routing Encapsulation) 터널을 구성할 수 있습니다. GRE 터널은 하나 이상의 홉을 가질 수 있습니다. PE 라우터에서 로컬 CE 라우터( 그림 1 참조) 또는 원격 CE 라우터( 그림 2 참조)로 터널을 구성할 수 있습니다.
간에 구성된 GRE 터널
간에 구성된 GRE 터널
터널 인터페이스를 구성하는 방법에 대한 자세한 내용은 라우팅 디바이스용 Junos OS 서비스 인터페이스 라이브러리를 참조하십시오.
GRE 터널을 수동으로 구성하거나 Junos OS를 구성하여 GRE 터널을 동적으로 인스턴스화할 수 있습니다.
다음 섹션에서는 GRE 터널을 수동 및 동적으로 구성하는 방법에 대해 설명합니다.
PE 및 CE 라우터 간에 수동으로 GRE 터널 구성
PE 라우터와 로컬 CE 라우터 또는 레이어 3 VPN의 원격 CE 라우터 간에 GRE 터널을 수동으로 구성할 수 있습니다.
PE 라우터에서 GRE 터널 인터페이스 구성
PE 라우터에서 GRE 터널을 논리적 인터페이스로 구성합니다. 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 하여 터널 대상 주소를 검색할 라우팅 테이블을 지정해야 합니다. 터널 캡슐화 인터페이스도 라우팅 인스턴스 아래에 구성된 경우입니다.
destinationrouting-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 터널을 다시 중단해야 합니다. 이는 정적 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 ]
문을 포함하여 source-address GRE 터널의 소스 주소를 지정합니다. 소스 주소는 로컬 터널 엔드포인트의 소스로 사용되는 주소를 지정합니다. 라우터의 모든 로컬 주소(일반적으로 라우터 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) 터널 인터페이스를 구성하는 방법을 보여줍니다. 이 구성을 사용하여 MPLS가 아닌 코어 네트워크를 통해 VPN 트래픽을 터널링할 수 있습니다. 이 예에서 사용된 네트워크 토폴로지는 그림 3에 나와 있습니다. 이 그림에 표시된 P 라우터는 MPLS를 실행하지 않습니다.
로 연결된 PE 라우터 A와 D
구성 정보는 다음 섹션을 참조하십시오.
- 라우터 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 라우터와 PE 라우터(라우터 A와 라우터 D)를 연결하는 GRE 인터페이스()에서 MPLSgr-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 라우터와 PE 라우터(라우터 D와 라우터 A)를 연결하는 GRE 인터페이스(gr-1/1/0.0)에서 MPLS가 필요합니다. 라우터 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에 나와 있습니다.
간의 GRE 터널
이 예의 경우 다음 섹션에서 설명하는 절차를 완료합니다.
캡슐화 인터페이스 없이 라우팅 인스턴스 구성
캡슐화 인터페이스를 사용하거나 포함하지 않고 라우팅 인스턴스를 구성할 수 있습니다. 다음 섹션에서는 라우팅 인스턴스를 구성하지 않고 구성하는 방법을 설명합니다.
라우터 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;
}
}