외부 인터페이스를 통한 이중 스택 터널
이중 스택 터널(단일 물리적 인터페이스를 통해 피어에 대한 병렬 IPv4 및 IPv6 터널)은 경로 기반 사이트 간 VPN에 지원됩니다. IPv4 및 IPv6 주소로 구성된 물리적 인터페이스는 동일한 피어 또는 다른 피어에서 동시에 IPv4 및 IPv6 게이트웨이의 외부 인터페이스로 사용할 수 있습니다.
VPN 터널 모드 이해
VPN 터널 모드에서 IPsec은 원래 IP 헤더를 포함한 원래 IP 데이터그램을 두 번째 IP 데이터그램 내에 캡슐화합니다. 외부 IP 헤더에는 게이트웨이의 IP 주소가 포함되고, 내부 헤더에는 최종 소스 및 대상 IP 주소가 포함됩니다. 외부 및 내부 IP 헤더는 IPv4 또는 IPv6의 프로토콜 필드를 가질 수 있습니다. SRX 시리즈 방화벽은 경로 기반 사이트 간 VPN에 대해 4가지 터널 모드를 지원합니다.
IPv4-in-IPv4 터널은 에 표시된 그림 1대로 IPv4 패킷을 IPv4 패킷 내부에 캡슐화합니다. 외부 및 내부 헤더 모두에 대한 프로토콜 필드는 IPv4입니다.
IPv6-in-IPv6 터널은 에 표시된 그림 2대로 IPv6 패킷을 IPv6 패킷 내부에 캡슐화합니다. 외부 및 내부 헤더 모두에 대한 프로토콜 필드는 IPv6입니다.
IPv6-in-IPv4 터널은 에 표시된 그림 3대로 IPv6 패킷을 IPv4 패킷 내부에 캡슐화합니다. 외부 헤더의 프로토콜 필드는 IPv4이고 내부 헤더의 프로토콜 필드는 IPv6입니다.
IPv4-in-IPv6 터널은 에 표시된 그림 4대로 IPv4 패킷을 IPv6 패킷 내부에 캡슐화합니다. 외부 헤더에 대한 프로토콜 필드는 IPv6이며 내부 헤더에 대한 프로토콜 필드는 IPv4입니다.
단일 IPSec VPN 터널은 IPv4 및 IPv6 트래픽을 모두 전송할 수 있습니다. 예를 들어, IPv4 터널은 IPv4-in-IPv4 및 IPv6-in-IPv4 터널 모드에서 동시에 작동할 수 있습니다. 단일 IPSec VPN 터널을 통해 IPv4 및 IPv6 트래픽을 모두 허용하려면 해당 터널에 바인딩된 st0 인터페이스를 및 family inet
로 family inet6
구성해야 합니다.
IPv4 및 IPv6 주소로 구성된 물리적 인터페이스는 경로 기반 사이트 간 VPN의 피어에 대한 병렬 IPv4 및 IPv6 터널의 외부 인터페이스로 사용할 수 있습니다. 이 기능은 이중 스택 터널 로 알려져 있으며 각 터널에 대해 별도의 st0 인터페이스가 필요합니다.
정책 기반 VPN의 경우 IPv6-in-IPv6가 지원되는 유일한 터널 모드이며 SRX300, SRX320, SRX340, SRX345 및 SRX550HM 디바이스에서만 지원됩니다.
외부 인터페이스를 통한 이중 스택 터널 이해
이중 스택 터널(단일 물리적 인터페이스를 통해 피어에 대한 병렬 IPv4 및 IPv6 터널)은 경로 기반 사이트 간 VPN에 지원됩니다. IPv4 및 IPv6 주소로 구성된 물리적 인터페이스는 동일한 피어 또는 다른 피어에서 동시에 IPv4 및 IPv6 게이트웨이에 대한 외부 인터페이스로 사용할 수 있습니다. 에서 그림 5물리적 인터페이스 reth0.0 및 ge-0/0/0.1은 두 디바이스 간의 병렬 IPv4 및 IPv6 터널을 지원합니다.
에서는 그림 5각 IPSec VPN 터널에 대해 별도의 보안 터널(st0) 인터페이스를 구성해야 합니다. 동일한 st0 인터페이스에 바인딩된 병렬 IPv4 및 IPv6 터널은 지원되지 않습니다.
단일 IPSec VPN 터널은 IPv4 및 IPv6 트래픽을 모두 전송할 수 있습니다. 예를 들어, IPv4 터널은 IPv4-in-IPv4 및 IPv6-in-IPv4 터널 모드에서 동시에 작동할 수 있습니다. 단일 IPSec VPN 터널을 통해 IPv4 및 IPv6 트래픽을 모두 허용하려면 해당 터널에 바인딩된 st0 인터페이스를 및 family inet
로 family inet6
구성해야 합니다.
동일한 주소 패밀리의 여러 주소가 VPN 피어에 대한 동일한 외부 인터페이스에 구성된 경우 [edit security ike gateway gateway-name
] 계층 수준에서 구성하는 local-address
것이 좋습니다.
이(가) 구성된 경우 local-address
, 지정된 IPv4 또는 IPv6 주소가 로컬 게이트웨이 주소로 사용됩니다. 물리적 외부 인터페이스에 local-address
IPv4 주소와 IPv6 주소가 하나만 구성된 경우에는 구성이 필요하지 않습니다.
local-address
값은 SRX 시리즈 방화벽의 인터페이스에 구성된 IP 주소여야 합니다. IKE(Internet Key Exchange) 게이트웨이의 외부 인터페이스에 속하는 것이 local-address
좋습니다. 이(가) IKE(Internet Key Exchange) 게이트웨이의 외부 인터페이스에 속하지 않는 경우 local-address
인터페이스는 IKE(Internet Key Exchange) 게이트웨이의 외부 인터페이스와 동일한 영역에 있어야 하며 트래픽을 허용하도록 영역 내 보안 정책을 구성해야 합니다.
local-address
값과 원격 IKE(Internet Key Exchange) 게이트웨이 주소는 동일한 주소 패밀리(IPv4 또는 IPv6)에 있어야 합니다.
이(가) 구성되지 않은 경우 local-address
, 로컬 게이트웨이 주소는 원격 게이트웨이 주소를 기반으로 합니다. 원격 게이트웨이 주소가 IPv4 주소인 경우, 로컬 게이트웨이 주소는 외부 물리적 인터페이스의 기본 IPv4 주소입니다. 원격 게이트웨이 주소가 IPv6 주소인 경우, 로컬 게이트웨이 주소는 외부 물리적 인터페이스의 기본 IPv6 주소입니다.
참조
예: 외부 인터페이스를 통한 듀얼 스택 터널 구성
이 예는 경로 기반 사이트 간 VPN을 위해 단일 외부 물리적 인터페이스를 통해 병렬 IPv4 및 IPv6 터널을 피어로 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 VPN 터널 모드 이해를 읽으십시오.
이 예에 표시된 구성은 경로 기반 사이트 간 VPN에서만 지원됩니다.
개요
이 예에서 로컬 디바이스의 중복 이더넷 인터페이스는 피어 디바이스에 병렬 IPv4 및 IPv6 터널을 지원합니다.
IPv4 터널은 IPv6 트래픽을 전달합니다. IPv6-in-IPv4 터널 모드에서 작동합니다. IPv4 터널에 바인딩된 보안 터널 인터페이스 st0.0은 inet6 제품군으로만 구성됩니다.
IPv6 터널은 IPv4 및 IPv6 트래픽을 모두 전송합니다. IPv4-in-IPv6 및 IPv6-in-IPv6 터널 모드 모두에서 작동합니다. IPv6 터널에 바인딩된 보안 터널 인터페이스 st0.1은 family inet 및 family inet6 모두로 구성됩니다.
표 1 은(는) 이 예에서 사용된 1단계 옵션을 보여줍니다. 1단계 옵션 구성에는 IPv6 피어와 IPv4 피어에 대한 두 개의 IKE 게이트웨이 구성이 포함됩니다.
옵션 |
가치 |
---|---|
IKE(Internet Key Exchange) 제안 |
ike_proposal |
인증 방법 |
사전 공유 키 |
인증 알고리즘 |
MD5 |
암호화 알고리즘 |
3DES CBC |
평생 |
3600 초 |
IKE(Internet Key Exchange) 정책 |
ike_policy |
모드 |
침략적인 |
IKE(Internet Key Exchange) 제안 |
ike_proposal |
사전 공유 키 |
ASCII 텍스트 |
IPv6 IKE(Internet Key Exchange) 게이트웨이 |
ike_gw_v6 |
IKE(Internet Key Exchange) 정책 |
ike_policy |
게이트웨이 주소 |
2000::2 |
외부 인터페이스 |
reth1.0 |
IKE 버전 |
IKEv2 |
IPv4 IKE(Internet Key Exchange) 게이트웨이 |
ike_gw_v4 |
IKE(Internet Key Exchange) 정책 |
ike_policy |
게이트웨이 주소 |
20.0.0.2 |
외부 인터페이스 |
레스1.0 |
표 2 은(는) 이 예에서 사용된 2단계 옵션을 보여줍니다. 2단계 옵션 구성에는 IPv6 터널과 IPv4 터널을 위한 두 개의 VPN 구성이 포함됩니다.
옵션 |
가치 |
---|---|
IPsec 제안 |
ipsec_proposal |
프로토콜 |
ESP |
인증 알고리즘 |
HMAC SHA-1 96 |
암호화 알고리즘 |
3DES CBC |
IPsec 정책 |
ipsec_policy |
제안 |
ipsec_proposal |
IPv6 VPN |
test_s2s_v6 |
바인드 인터페이스 |
st0.1 |
IKE(Internet Key Exchange) 게이트웨이 |
ike_gw_v6 |
IKE(Internet Key Exchange) IPsec 정책 |
ipsec_policy |
터널 설정 |
즉시 |
IPv4 VPN |
test_s2s_v4 |
바인드 인터페이스 |
st0.0 |
IKE(Internet Key Exchange) 게이트웨이 |
ike_gw_4 |
IKE(Internet Key Exchange) IPsec 정책 |
ipsec_policy |
IPv6 라우팅 테이블에는 다음과 같은 정적 경로가 구성되어 있습니다.
st0.0을 통해 IPv6 트래픽을 3000::1/128로 라우팅합니다.
st0.1을 통해 IPv6 트래픽을 3000::2/128로 라우팅합니다.
고정 경로는 기본(IPv4) 라우팅 테이블에서 IPv4 트래픽을 st0.1을 통해 30.0.0.0/24로 라우팅하도록 구성됩니다.
흐름 기반 IPv6 트래픽 처리는 반드시 [edit security forwarding-options family inet6
] 계층 수준에서 mode flow-based
구성 옵션으로 활성화되어야 합니다.
토폴로지
에서 그림 6SRX 시리즈 방화벽 A는 디바이스 B에 대한 IPv4 및 IPv6 터널을 지원합니다. 3000::1/128에 대한 IPv6 트래픽은 IPv4 터널을 통해 라우팅되는 반면, 3000::2/128에 대한 IPv6 트래픽 및 30.0.0.0/24에 대한 IPv4 트래픽은 IPv6 터널을 통해 라우팅됩니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣은 다음, 구성 모드에서 commit
을(를) 입력합니다.
set interfaces ge-0/0/1 gigether-options redundant-parent reth1 set interfaces ge-8/0/1 gigether-options redundant-parent reth1 set interfaces reth1 redundant-ether-options redundancy-group 1 set interfaces reth1 unit 0 family inet address 20.0.0.1/24 set interfaces reth1 unit 0 family inet6 address 2000::1/64 set interfaces st0 unit 0 family inet6 set interfaces st0 unit 1 family inet set interfaces st0 unit 1 family inet6 set security ike proposal ike_proposal authentication-method pre-shared-keys set security ike proposal ike_proposal authentication-algorithm md5 set security ike proposal ike_proposal encryption-algorithm 3des-cbc set security ike proposal ike_proposal lifetime-seconds 3600 set security ike policy ike_policy mode aggressive set security ike policy ike_policy proposals ike_proposal set security ike policy ike_policy pre-shared-key ascii-text "$ABC123" set security ike gateway ike_gw_v6 ike-policy ike_policy set security ike gateway ike_gw_v6 address 2000::2 set security ike gateway ike_gw_v6 external-interface reth1.0 set security ike gateway ike_gw_v6 version v2-only set security ike gateway ike_gw_v4 ike-policy ike_policy set security ike gateway ike_gw_v4 address 20.0.0.2 set security ike gateway ike_gw_v4 external-interface reth1.0 set security ipsec proposal ipsec_proposal protocol esp set security ipsec proposal ipsec_proposal authentication-algorithm hmac-sha1-96 set security ipsec proposal ipsec_proposal encryption-algorithm 3des-cbc set security ipsec policy ipsec_policy proposals ipsec_proposal set security ipsec vpn test_s2s_v6 bind-interface st0.1 set security ipsec vpn test_s2s_v6 ike gateway ike_gw_v6 set security ipsec vpn test_s2s_v6 ike ipsec-policy ipsec_policy set security ipsec vpn test_s2s_v6 establish-tunnels immediately set security ipsec vpn test_s2s_v4 bind-interface st0.0 set security ipsec vpn test_s2s_v4 ike gateway ike_gw_v4 set security ipsec vpn test_s2s_v4 ike ipsec-policy ipsec_policy set routing-options rib inet6.0 static route 3000::1/128 next-hop st0.0 set routing-options rib inet6.0 static route 3000::2/128 next-hop st0.1 set routing-options static route 30.0.0.0/24 next-hop st0.1 set security forwarding-options family inet6 mode flow-based
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
이중 스택 터널 구성 방법:
외부 인터페이스를 구성합니다.
[edit interfaces] user@host# set ge-0/0/1 gigether-options redundant-parent reth1 user@host# set ge-8/0/1 gigether-options redundant-parent reth1 user@host# set reth1 redundant-ether-options redundancy-group 1 user@host# set reth1 unit 0 family inet address 20.0.0.1/24 user@host# set reth1 unit 0 family inet6 address 2000::1/64
보안 터널 인터페이스를 구성합니다.
[edit interfaces] user@host# set st0 unit 0 family inet6 user@host# set st0 unit 1 family inet user@host# set st0 unit 1 family inet6
1단계 옵션을 구성합니다.
[edit security ike proposal ike_proposal] user@host# set authentication-method pre-shared-keys user@host# set authentication-algorithm md5 user@host# set encryption-algorithm 3des-cbc user@host# set lifetime-seconds 3600 [edit security ike policy ike_policy] user@host# set mode aggressive user@host# set proposals ike_proposal user@host# set pre-shared-key ascii-text "$ABC123" [edit security ike gateway ike_gw_v6] user@host# set ike-policy ike_policy user@host# set address 2000::2 user@host# set external-interface reth1.0 user@host# set version v2-only [edit security ike gateway ike_gw_v4] user@host# set ike-policy ike_policy user@host# set address 20.0.0.2 user@host# set external-interface reth1.0
2단계 옵션을 구성합니다.
[edit security ipsec proposal ipsec_proposal] user@host# set protocol esp user@host# set authentication-algorithm hmac-sha1-96 user@host# set encryption-algorithm 3des-cbc [edit security ipsec policy ipsec_policy] user@host# set proposals ipsec_proposal [edit security ipsec vpn test_s2s_v6 ] user@host# set bind-interface st0.1 user@host# set ike gateway ike_gw_v6 user@host# set ike ipsec-policy ipsec_policy user@host# set establish-tunnels immediately [edit security ipsec vpn test_s2s_v4] user@host# set bind-interface st0.0 user@host# set ike gateway ike_gw_v4 user@host# set ike ipsec-policy ipsec_policy
정적 경로를 구성합니다.
[edit routing-options rib inet6.0] user@host# set static route 3000::1/128 next-hop st0.0 user@host# set static route 3000::2/128 next-hop st0.1 [edit routing-options] user@host# set static route 30.0.0.0/24 next-hop st0.1
IPv6 플로우 기반 포워딩을 지원합니다.
[edit security forwarding-options] user@host# set family inet6 mode flow-based
결과
구성 모드에서 show interfaces
, show security ike
, show security ipsec
, show routing-options
및 show security forwarding-options
명령을 입력하여 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
[edit] user@host# show interfaces ge-0/0/1 { gigether-options { redundant-parent reth1; } } ge-8/0/1 { gigether-options { redundant-parent reth1; } } reth1 { redundant-ether-options { redundancy-group 1; } unit 0 { family inet { address 20.0.0.1/24; } family inet6 { address 2000::1/64; } } } st0 { unit 0 { family inet; family inet6; } unit 1 { family inet6; } } [edit] user@host# show security ike proposal ike_proposal { authentication-method pre-shared-keys; authentication-algorithm md5; encryption-algorithm 3des-cbc; lifetime-seconds 3600; } policy ike_policy { mode aggressive; proposals ike_proposal; pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA } gateway ike_gw_v6 { ike-policy ike_policy; address 2000::2; external-interface reth1.0; version v2-only; } gateway ike_gw_4 { ike-policy ike_policy; address 20.0.0.2; external-interface reth1.0; } [edit] user@host# show security ipsec proposal ipsec_proposal { protocol esp; authentication-algorithm hmac-sha1-96; encryption-algorithm 3des-cbc; } policy ipsec_policy { proposals ipsec_proposal; } vpn test_s2s_v6 { bind-interface st0.1; ike { gateway ike_gw_v6; ipsec-policy ipsec_policy; } establish-tunnels immediately; } vpn test_s2s_v4 { bind-interface st0.0; ike { gateway ike_gw_4; ipsec-policy ipsec_policy; } } [edit] user@host# show routing-options rib inet6.0 { static { route 3000::1/128 next-hop st0.0; route 3000::2/128 next-hop st0.1; } } static { route 30.0.0.0/24 next-hop st0.1; } [edit] user@host# show security forwarding-options family { inet6 { mode flow-based; } }
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다.
검증
구성이 올바르게 작동하고 있는지 확인합니다.
IKE(Internet Key Exchange) 1단계 상태 확인
목적
IKE(Internet Key Exchange) 1단계 상태를 확인합니다.
작업
운영 모드에서 show security ike security-associations
명령을 입력합니다.
user@host> show security ike security-associations Index State Initiator cookie Responder cookie Mode Remote Address 1081812113 UP 51d9e6df8a929624 7bc15bb40781a902 IKEv2 2000::2 1887118424 UP d80b55b949b54f0a b75ecc815529ae8f Aggressive 20.0.0.2
의미
show security ike security-associations
명령은 모든 활성 IKE(Internet Key Exchange) 1단계 SA를 나열합니다. SA가 나열되어 있지 않은 경우, 1단계 설정에 문제가 있는 것입니다. 구성에서 IKE(Internet Key Exchange) 정책 매개 변수 및 외부 인터페이스 설정을 확인합니다. 1단계 제안 매개 변수는 피어 디바이스에서 일치해야 합니다.
IPsec 2단계 상태 확인
목적
IPsec 2단계 상태를 확인합니다.
작업
운영 모드에서 show security ipsec security-associations
명령을 입력합니다.
user@host> show security ipsec security-associations Total active tunnels: 2 ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway <131074 ESP:3des/sha1 8828bd36 3571/ unlim - root 500 20.0.0.2 >131074 ESP:3des/sha1 c968afd8 3571/ unlim - root 500 20.0.0.2 <131073 ESP:3des/sha1 8e9e695a 3551/ unlim - root 500 2000::2 >131073 ESP:3des/sha1 b3a254d1 3551/ unlim - root 500 2000::2
의미
show security ipsec security-associations
명령은 모든 활성 IKE 2단계 SA를 나열합니다. SA가 나열되어 있지 않은 경우, 2단계 설정에 문제가 있는 것입니다. 구성에서 IKE(Internet Key Exchange) 정책 매개 변수 및 외부 인터페이스 설정을 확인합니다. 2단계 제안 매개 변수는 피어 디바이스에서 일치해야 합니다.
경로 확인
목적
활성 경로를 확인합니다.
작업
운영 모드에서 show route
명령을 입력합니다.
user@host> show route inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.5.0.0/16 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 10.10.0.0/16 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 10.150.0.0/16 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 10.150.48.0/21 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 10.155.0.0/16 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 10.157.64.0/19 *[Direct/0] 3d 01:43:23 > via fxp0.0 10.157.72.36/32 *[Local/0] 3d 01:43:23 Local via fxp0.0 10.204.0.0/16 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 10.206.0.0/16 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 10.209.0.0/16 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 20.0.0.0/24 *[Direct/0] 03:45:41 > via reth1.0 20.0.0.1/32 *[Local/0] 03:45:41 Local via reth1.0 30.0.0.0/24 *[Static/5] 00:07:49 > via st0.1 50.0.0.0/24 *[Direct/0] 03:45:42 > via reth0.0 50.0.0.1/32 *[Local/0] 03:45:42 Local via reth0.0 172.16.0.0/12 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 192.168.0.0/16 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 192.168.102.0/23 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 207.17.136.0/24 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 207.17.136.192/32 *[Static/5] 3d 01:43:23 > to 10.157.64.1 via fxp0.0 inet6.0: 10 destinations, 14 routes (10 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 2000::/64 *[Direct/0] 03:45:41 > via reth1.0 2000::1/128 *[Local/0] 03:45:41 Local via reth1.0 3000::1/128 *[Static/5] 00:03:45 > via st0.0 3000::2/128 *[Static/5] 00:03:45 > via st0.1 5000::/64 *[Direct/0] 03:45:42 > via reth0.0 5000::1/128 *[Local/0] 03:45:42 Local via reth0.0 fe80::/64 *[Direct/0] 03:45:42 > via reth0.0 [Direct/0] 03:45:41 > via reth1.0 [Direct/0] 03:45:41 > via st0.0 [Direct/0] 03:45:13 > via st0.1 fe80::210:dbff:feff:1000/128 *[Local/0] 03:45:42 Local via reth0.0 fe80::210:dbff:feff:1001/128 *[Local/0] 03:45:41 Local via reth1.0
의미
show route
명령은 라우팅 테이블에서 활성 항목을 나열합니다.