EdgeRouter - IPsec 사이트 투 사이트 VPn추가 및 변경 (CLI)

download at 2017-10-19T19:40:02Z origin

 Overview


이 문서는 2개의 EdgeRouter 사이에서 GUI로 기본 설정을 수정하여 정책 기반 사이트 투 사이트 IPsec VPN을 구성하는 방법을 서술합니다. 이 문서는 EdgeOS에서 변경 가능한 IPsec 옵션에 관심이 있으면 참조해야 합니다. EdgeRouter - IPsec 경로기반 (VTI) 사이트 투 사이트 VPN 혹은 EdgeRouter - IPsec 정책 기반 사이트 투 사이트 VPN 문서를 참조하십시오.

정책 기반 VPN은 로컬 서브넷과 원격지 서브넷 (프록시 ID) 정의가 특징이라고 할 수 있습니다. 이 VPN은 경로 기반 VPN와 VTI를 사용하고, 라우팅 엔트리를 사용한다는 점이 특징입니다.

book_25x25.png NOTES & REQUIREMENTS: 모든 EdgeRouter 모델의 EdgeOS 1.9.7 펌웨어 이상에서 적용이 가능합니다. CLI에 대한 지식과 네트워킹에 대한 지식이 요구됩니다. 이 문서의 환경설정 등은 아래의 관련 문서 를 참조하십시오.

이 문서에서 사용된 장비:

Table of Contents


  1. 네트워크 다이어그램
  2. 정책기반 VPN
  3. VPN 추가 및 수정
  4. 테스팅 및 검증
  5. 관련 문서

네트워크 다이어그램


맨위로 가기

네트워크 토폴로지는 아래와 같습니다. 다음은 EdgeRouter에서 사용된 인터페이스입니다:

ER-Left

  1. eth0 (WAN) - 203.0.113.1
  2. eth1 (LAN) - 192.168.1.1/24

ER-Right

  1. eth0 (WAN) - 192.0.2.1
  2. eth1 (LAN) - 172.16.1.1/24

image1


정책기반 VPN


맨위로 가기

이 문서는 라우팅과 인터페이스 환경설정이 이미 완료되었으며 각각 연결 테스트가 수행되었다고 가정합니다.

IPsec과 관련 있는 UDP 포트와 프로토콜은 다음과 같습니다:

  1. UDP 500 (IKE)
  2. ESP (프로토콜 50)
  3. UDP 4500 (NAT-T)

VPN 타입은 원격, 로컬 서브넷을 사용하거나 프록시 ID를 사용하는 정책 기반 VPN으로 생성합니다. 이 값들은 두 피어 사이에서 정확히 확인하거나, 서로에게 이미지를 복사합니다. 프록시 ID를 접두사로 사용할 때 터널에 적용 할 수 있습니다. ER-Left의 예제에서 192.168.1.0/24를 LAN에 존재한다고 가정하고, ER-Right는 172.16.1.0/24를 사용한다고 가정합니다.

환경설정은 ER-Left를 기준으로 하고 있습니다. ER-Right의 환경설정은 서브넷 정의를 제외하고는 거의 똑같습니다. ER-Right의 환경설정중 다른 점은 아래의 결과값에 포함되어 있습니다.

www.png GUI STEPS: 라우터 웹 관리 포탈 (GUI)로 접근합니다.

1. ER-Right의 IPsec 피어와 보안관련 정보를 정의합니다. (<secret>을 패스워드로 변경합니다.)

VPN > IPsec Site-to-Site > +Add Peer

  • 상세 옵션을 선택합니다.
  • 방화벽을 자동으로 열기, NAT에서 제외하기를 체크 해제 합니다.
Peer: 192.0.2.1
Description: IPsec
Local IP: 203.0.113.1
Encryption: AES-256
Hash: SHA1
DH Group: 14
Pre-shared Secret: <secret>
Local subnet: 192.168.1.0/24
Remote subnet: 172.16.1.0/24

info_i_25x25.png

Note

암호화와 해싱의 차이점은 아래 더 자세히 다루고 있습니다. GUI는 SHA256/384/512와 Galois/Counter 모드 압호화와 같은 세세한 옵션에 대하여 명시하지 않습니다.

image4

2. ER-Left의 IPsec 피어와 보안 설정을 정의합니다. (<secret>을 패스워드로 변경합니다.)

VPN > IPsec Site-to-Site > +Add Peer

  • 상세 옵션을 확인합니다
  • 방화벽을 자동으로 열기, NAT에서 제외하기 옵션을 체크 해제합니다.
Peer: 203.0.113.1
Description: IPsec
Local IP: 192.0.2.1
Encryption: AES-256
Hash: SHA1
DH Group: 14
Pre-shared Secret: <secret>
Local subnet: 172.16.1.0/24
Remote subnet: 192.168.1.0/24

info_i_25x25.png

Note

방화벽 룰 자동 생성과 NAT 제외를 비활성화 하였기때문에, VPN은 수동으로 생성된 방화벽 룰을 연결하지 않을 것입니다.


VPN 추가 & 수정


맨위로 가기

IPsec VPN은 나름의 보안 셋(해싱, 암호화)을 2단계로 가지고 있습니다. 첫 번째 단게는 피어와 VPN 사이를 인증하는 것입니다. 실제 데이터(트래픽)은 2단계에서 전송합니다.이 2단계 때문에 2단계의 보안을 성능에 집중하고, 1단계 보안을 보안 그 자체에만 집중할 수 있습니다. 암호화와 해싱의 기본 가정은 시스템의 보안을 향상하는 대신, 성능에 대한 강점을 잃게 된다는 것에 있습니다.

CLI_circle.png CLI STEPS: 커맨드라인 인터페이스에 접근합니다. GUI에서 CLI 버튼을 이용하거나 PuTTY와 같은 프로그램을 사용합니다.

  1. 설정 모드로 진입합니다.
configure

2. 자동 방화벽과 NAT 제외 기능을 선택합니다.

iptables에 룰을 추가하는 자동 기능은 다음을 통해 동작합니다:

  • UDP 포트 500 (IKE), 4500 (NAT-T), 로컬쪽의 ESP를 허용합니다.
  • 원격 서브넷에서 로컬, 인바운드의 로컬 서브넷으로 진입하는 IPsec 트래픽을 허용합니다.
  • NAT의 로컬 서브넷에서 원격지 서브넷으로 향하는 모든 트래픽을 차단합니다.

('Automatically open firewall and exclude from NAT' 기능이 활성화 되었다면) 다음을 통해서 기능을 검증할 수 있습니다:

show vpn
ipsec {
   auto-firewall-nat-exclude enable
}
...

sudo iptables -L -vn
Chain UBNT_VPN_IPSEC_FW_HOOK (1 references)
 pkts bytes target   prot opt in out source       destination
    0     0 ACCEPT   udp  --  *  *   0.0.0.0/0    0.0.0.0/0      multiport dports 500,4500
    0     0 ACCEPT   esp  --  *  *   0.0.0.0/0    0.0.0.0/0

Chain UBNT_VPN_IPSEC_FW_IN_HOOK (1 references)
 pkts bytes target prot opt in out source         destination
    0     0 ACCEPT all  --  *  *   172.16.1.0/24  192.168.1.0/24

sudo iptables -t nat -L -vn
Chain POSTROUTING (policy ACCEPT 1556 packets, 209K bytes)
 pkts bytes target                   prot opt in out  source        destination
51461   13M UBNT_VPN_IPSEC_SNAT_HOOK all  --  *  *    0.0.0.0/0     0.0.0.0/0
21500 2316K MASQUERADE               all  --  *  eth0 0.0.0.0/0     0.0.0.0/0      /* NAT-5010 */

Chain UBNT_VPN_IPSEC_SNAT_HOOK (1 references)
 pkts bytes target prot opt in out    source            destination
    0     0 ACCEPT all  --  *  *      192.168.1.0/24    172.16.1.0/24

info_i_25x25.png

Note

이전에 ‘automatic firewall and NAT exclusion' 기능을 활성화 하였다면, 해당 기능을 종료해야 할 것입니다. 기능을 종료하기 위해서는 장치를 재부팅하여 iptables 룰을 제거하십시오.

  1. 수동으로 IKE, NAT-T, ESP, IPsec 방화벽 룰을 추가합니다.

warning_25x25.png

Attention

방화벽 룰이 기존 룰을 덮어쓰지 않도록 주의하십시오. show firewall name WAN_LOCAL 로 설정 모드에서 모든 룰을 정확하게 구성하였는지 확인하거나 GUI에서 Firewall/NAT > Firewall Policies > WAN_LOCAL > Actions > Edit Ruleset 를 이용하십시오.

set firewall name WAN_LOCAL rule 30 action accept
set firewall name WAN_LOCAL rule 30 description IKE
set firewall name WAN_LOCAL rule 30 destination port 500
set firewall name WAN_LOCAL rule 30 log disable
set firewall name WAN_LOCAL rule 30 protocol udp

set firewall name WAN_LOCAL rule 40 action accept
set firewall name WAN_LOCAL rule 40 description ESP
set firewall name WAN_LOCAL rule 40 log disable
set firewall name WAN_LOCAL rule 40 protocol esp

set firewall name WAN_LOCAL rule 50 action accept
set firewall name WAN_LOCAL rule 50 description NAT-T
set firewall name WAN_LOCAL rule 50 destination port 4500
set firewall name WAN_LOCAL rule 50 log disable
set firewall name WAN_LOCAL rule 50 protocol udp

set firewall name WAN_LOCAL rule 60 action accept
set firewall name WAN_LOCAL rule 60 description IPsec
set firewall name WAN_LOCAL rule 60 destination address 192.168.1.0/24
set firewall name WAN_LOCAL rule 60 source address 172.16.1.0/24
set firewall name WAN_LOCAL rule 60 log disable
set firewall name WAN_LOCAL rule 60 ipsec match-ipsec

info_i_25x25.png

Note

로컬 방화벽 이름은 WAN 인터페이스에 적용되는 것과 환경에 따라 다를 수 있습니다. 이름의 구성방식과 상관 없이 WAN 인터페이스에 정확한 방화벽 룰을 설정하는 것이 더 중요합니다.

  1. 서브넷 사이에서 IPsec 트래픽(인바운드 방향)을 위한 방화벽 룰을 직접 추가합니다.
set firewall name WAN_IN rule 30 action accept
set firewall name WAN_IN rule 30 description IPsec
set firewall name WAN_IN rule 30 destination address 192.168.1.0/24
set firewall name WAN_IN rule 30 source address 172.16.1.0/24
set firewall name WAN_IN rule 30 log disable
set firewall name WAN_IN rule 30 ipsec match-ipsec
  1. NAT로 변환된 주소로 구성된 서브넷 간 트래픽을 제외합니다.
set service nat rule 5000 description IPsec
set service nat rule 5000 destination address 172.16.1.0/24
set service nat rule 5000 exclude
set service nat rule 5000 outbound-interface eth0
set service nat rule 5000 protocol all
set service nat rule 5000 source address 192.168.1.0/24
set service nat rule 5000 type masquerade
  1. 현재 IPsec VPN 보안 환경설정을 확인합니다. (아래는 관련된 결과입니다.)
show vpn
ipsec {
   auto-firewall-nat-exclude disable
   esp-group FOO0 {
       proposal 1 {
           encryption aes256
           hash sha1
       }
   }
   esp-group FOO0 {
       proposal 1 {
           dh-group 14
           encryption aes256
           hash sha1
       }
   }
}
...

위의 출력결과와 같이 P1 (ike-group FOO0) 괘 P2 (esp-group FOO0)은 같은 보안 설정 (ASE256, SHA1)을 사용합니다.

  1. ER-Left, ER-Right의 P1와 P2의 보안 설정을 변경합니다.
set vpn ipsec esp-group FOO0 proposal 1 encryption aes128
set vpn ipsec esp-group FOO0 proposal 1 hash md5

set vpn ipsec ike-group FOO0 proposal 1 encryption aes256
set vpn ipsec ike-group FOO0 proposal 1 hash sha256

사용 가능한 암호화 옵션:

  • AES128 - P2 (ESP)에 권장하며, AES256보다 빠릅니다.
  • AES256 - P1 (IKE)에 권장하며, AES128보다 안전합니다.
  • AES128GCM128 - P2 (ESP)에 권장하지 않으며, 현재 오프로딩에 호환하지 않습니다.
  • AES256GCM128 - P2 (ESP)에 권장하지 않으며, 현재 오프로딩에 호환하지 않습니다.
  • 3DES - 안전하지 않으며, 사용을 권장하지 않습니다.

사용 가능한 해싱 옵션:

  • MD5 - P2 (ESP)에 권장하며, SHA1보다 빠릅니다.
  • SHA1 - P2 (ESP)의 좋은 선택지이며, MD5보다 느리지만, 안전합니다.
  • SHA2-256 - P1 (IKE)에 권장하며, SHA1/MD5 보다 안전합니다. 하지만, P2 (ESP)의 좋은 선택지는 아닙니다.
  • SHA2-384 - P2 (ESP)에 권장하지 않으며, 현재 오프로딩에 호환하지 않습니다.
  • SHA2-512 - P2 (ESP)에 권장하지 않으며, 현재 오프로딩에 호환하지 않습니다.

info_i_25x25.png

Note

Galois/Counter Mode (GCM) 암호화 방식과 SHA256/384/512를 P2 (ESP)에 동시 적용하는 것은 권장하지 않습니다. IPsec 오프로딩과 호환이 되지 않습니다. EdgeRouter 오프로딩 기능의 자세한 정보는 하드웨어 오프로딩 문서를 참조하십시오. IPsec 트래픽의 오프로딩은 P2 트래픽만 적용 가능합니다. 이러한 이유 떄문에 P1의 SHA256은 성능에 영향을 미치지 않습니다.

  1. ESP/IKE 사용 시간을 변경하여 터널이 적은 주기로 재협상 하지 않도록 합니다.
set vpn ipsec esp-group FOO0 lifetime 43200
set vpn ipsec ike-group FOO0 lifetime 86400

9. 완전 순방향 비밀성을 비활성화하여 터널 재협상 주기를 낮춥니다.

set vpn ipsec esp-group FOO0 pfs disable

10. IKE 키 교환을 2버전으로 교체합니다.

set vpn ipsec ike-group FOO0 key-exchange ikev2
  1. IKE 키 교환을 Aggressive 모드로 변경합니다. (권장하지 않음).
set vpn ipsec ike-group FOO0 mode aggressive
  1. IPsec 커넥션 타입을 변경합니다.
set vpn ipsec site-to-site peer 192.0.2.1 connection-type respond

info_i_25x25.png

Note

타입 변경은 주로 몇번 커넥션을 재협상 (키링시도)를 하는지에 영향을 줍니다. 값을 재시도 하도록 변경하면, 연결을 초기화 하면서 무한 재시도를 수행합니다. VPN에 문제가 발생하거나 EdgeMax 피어가 아닌 상대방에 연결을 시도하려면 이 값을 안전하게 변경할 수 있습니다. (로컬내에 영향을 주는 값입니다.)

  1. NAT-T(UDP 4500 암호화)를 사용하도록 강제합니다.
set vpn ipsec site-to-site peer 192.0.2.1 force-encapsulation enable

이 옵션은 ESP가 항상 UDP 4500으로 암호화 하는 것을 강제하도록 합니다. 암호화를 강제하는 것은 방화벽 정책을 우회하기 때문에 성능 향상을 가져올 수 있습니다.

  1. 로컬 IPsec 인터페이스 주소를 변경합니다.

다음 명령어를 실행하여 원격 피어로 향하는 IPsec 패킷에 사용되는 로컬 IP 주소를 지정할 수 있습니다. dhcp-interfacelocal-address 구문은 동시에 사용할 수 없습니다. 본인의 상황에 맞는 명령어를 선택하여야 합니다:

  1. 다중 WAN 인터페이스를 사용한다면 VPN을 다중 인터페이스에 응답하도록 합니다.

이 옵션은 VPN을 시작주소로 하여 시스템에 있는 아무 IPv4 주소에 사용 가능합니다. 이 환성설정은 라우트 기반 IPsec VPN (VTI)에 사용 할 수 없습니다. WAN 인터페이스가 PPPoE를 통해 주소를 받는다면 이 명령어를 사용할 수 있습니다.

set vpn ipsec site-to-site peer 192.0.2.1 local-address 0.0.0.0

info_i_25x25.png

Note

현재는 local-address 0.0.0.0local-address any 을 사용중입니다. 특정 환경에서는 local-address default 를 사용하여 인터페이스의 기본 발신 경로 (0.0.0.0)를 사용할 수 있습니다.

  1. DHCP를 통해 WAN 인터페이스 주소를 받습니다.
delete vpn ipsec site-to-site peer 192.0.2.1 local-address
set vpn ipsec site-to-site peer 192.0.2.1 dhcp-interface eth0
  1. 원격지 피어가 NAT 구성(또는 동적 DNS)을 받았다면 피어 주소를 0.0.0.0으로 변경합니다.

예를 들어, ER-X-Right가 NAT 구성 아래 있다면, ER-X-Left 피어 주소를 0.0.0.0으로 구성할 수 있습니다. Left 라우터는 어떠한 터널도 초기화 하지 않습니다. (라우터가 peer의 주소를 모르기 때문입니다.) 그렇지만 요청에 대한 응답은 수행합니다. 남은 환경설정 부분은 다시 만들어야 합니다.

delete vpn ipsec site-to-site peer 192.0.2.1
set vpn ipsec site-to-site peer 0.0.0.0 …

info_i_25x25.png

Note

동적 DNS의 경우, FQDN (호스트 네임)을 피어로 연결할 수 있습니다. 이때 피어의 주소는 0.0.0.0 입니다. 로컬 IPsec L2TP 서버는 반드시 IPsec 사이트 투 사이트 피어 주소가 0.0.0.0으로 구성되어야 합니다. 어떠한 프로토콜도 주소가 유효하지 않기 때문에 정상 동작 하지 않습니다. 이는 IKE 커넥션 요청이 사이트 IP 주소가 동적으로 변하는 사이트 투 사이트 클라이언트이거나 L2TP 원격 접속 클라이언트 이기 때문입니다.

  1. 죽은 피어 감지를 활성화 합니다.

라우트 기반 VPN과 달리 정책 기반 VPN은 트래픽을 감지하면 P2에만 초기화 합니다. 죽은 피어 감지 (Dead Peer Detection, DPD)는 'keepalive' 메시지를 터널 연결을 유지하기 위해서 터널에 전송합니다.

set vpn ipsec ike-group FOO0 dead-peer-detection action [ hold | clear | restart ]
set vpn ipsec ike-group FOO0 dead-peer-detection interval 30 (default)
set vpn ipsec ike-group FOO0 dead-peer-detection timeout 120 (default)
  1. DHCP를 통해서 WAN 인터페이스 주소를 전달 받습니다.
delete vpn ipsec site-to-site peer 192.0.2.1 local-address
set vpn ipsec site-to-site peer 192.0.2.1 dhcp-interface eth0
  • hold - VPN 상태를 'on-hold'로 설정합니다. 정책은 트래픽이 재 초기화 될 때까지 유지합니다.
  • clear - VPN 상태와 정책을 지우고 터널을 종료합니다.
  • restart - VPN 상태와 정책을 재시작 하고 라우터에게 터널과 재협상을 시도하도록 합니다.

DPD 기간 은 메시지 전달 후 소요된 시간을 말합니다. timeout 은 실패 시도 후 초과한 시간을 의미합니다.

info_i_25x25.png

Note

IKEv2가 사용중일 때 DPD는 필요 없습니다.

  1. 변경내역을 커밋하고 저장합니다.
commit ; save

warning_25x25.png

Attention

IPsec 관련 명령어 중에서 몇몇 명령어는 최신 펌웨어에서 사용 중단 되었습니다. 아래의 명령어 중 EdgeOS 펌웨어 v1.8.5v1.8.0 에서 더 이상 지원하지 않는 명령어를 확인하십시오. 새로운 EdgeMax EdgeRouter 소프트웨어 릴리즈에서 'Enhancements and bug fixes' 섹션을 참고하여 더 많은 정보를 얻을 수 있습니다.

사용 자제 권고를 받은 IPsec 명령어는 아래와 같습니다:

set vpn ipsec ipsec-interfaces interface eth0
set vpn ipsec nat-traversal enable
set vpn ipsec nat-networks allowed-network 0.0.0.0/0

Steps: 테스트 및 검증


맨위로 가기

IPsec VPN 설정 이후에는 연결/상태를 다음 명령어를 통해서 검증합니다.

  1. ER의 IPsec 보안 관련 기능및 상태를 검증합니다:
show vpn ipsec sa
peer-192.0.2.1-tunnel-1: #1, ESTABLISHED, IKEv1, 184447c009d51f80:14cc0f13aff401c0
 local '203.0.113.1' @ 203.0.113.1
 remote '192.0.2.1' @ 192.0.2.1
 AES_CBC-256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
 established 237s ago, reauth in 85347s
 peer-192.0.2.1-tunnel-1: #1, INSTALLED, TUNNEL, ESP:AES_CBC-128/HMAC_MD5_96
 installed 237 ago, rekeying in 41939s, expires in 42964s
 in cb321982, 180 bytes, 3 packets, 231s ago
 out 5d4174b1, 180 bytes, 3 packets, 231s ago
 local 192.168.1.0/24
 remote 172.16.1.0/24

sudo ipsec statusall
Status of IKE charon daemon (strongSwan 5.2.2, Linux 3.10.14-UBNT, mips):
 uptime: 10 minutes, since Mar 12 09:05:48 2017
 malloc: sbrk 376832, mmap 0, used 269320, free 107512
 worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 2
 Listening IP addresses:
 203.0.113.1
 192.168.1.1
Connections:
peer-192.0.2.1-tunnel-1: 203.0.113.1...192.0.2.1 IKEv1
peer-192.0.2.1-tunnel-1: local: [203.0.113.1] uses pre-shared key authentication
peer-192.0.2.1-tunnel-1: remote: [192.0.2.1] uses pre-shared key authentication
peer-192.0.2.1-tunnel-1: child: 192.168.1.0/24 === 172.16.1.0/24 TUNNEL
Routed Connections:
peer-192.0.2.1-tunnel-1{1}: ROUTED, TUNNEL
peer-192.0.2.1-tunnel-1{1}: 192.168.1.0/24 === 172.16.1.0/24
Security Associations (1 up, 0 connecting):
peer-192.0.2.1-tunnel-1[1]: ESTABLISHED 5 minutes ago, 203.0.113.1[203.0.113.1]...192.0.2.1[192.0.2.1]
peer-192.0.2.1-tunnel-1[1]: IKEv1 SPIs: 184447c009d51f80_i* 14cc0f13aff401c0_r, pre-shared key reauthentication in 23 hours
peer-192.0.2.1-tunnel-1[1]: IKE proposal: AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
peer-192.0.2.1-tunnel-1{1}: INSTALLED, TUNNEL, ESP SPIs: cb321982_i 5d4174b1_o
peer-192.0.2.1-tunnel-1{1}: AES_CBC_128/HMAC_MD5_96, 180 bytes_i (3 pkts, 324s ago), 180 bytes_o (3 pkts, 324s ago)
peer-192.0.2.1-tunnel-1{1}: 192.168.1.0/24 === 172.16.1.0/24

2. ER IPsec strongSwa 환경구성을 검증합니다:

sudo cat /etc/ipsec.conf
# generated by /opt/vyatta/sbin/vpn-config.pl

config setup

conn %default
       keyexchange=ikev1

conn peer-192.0.2.1-tunnel-1
       left=203.0.113.1
       right=192.0.2.1
       leftsubnet=192.168.1.0/24
       rightsubnet=172.16.1.0/24
       ike=aes256-sha256-modp2048!
       keyexchange=ikev1
       ikelifetime=86400s
       esp=aes128-md5!
       keylife=43200s
       rekeymargin=540s
       type=tunnel
       compress=no
       authby=secret
       auto=route
       keyingtries=%forever
#conn peer-192.0.2.1-tunnel-1

3. ER의 외부 WAN 인터페이스를 통해 받는 IKE 트래픽을 캡처합니다:

sudo tcpdump -i eth0 -n udp dst port 500
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
IP 203.0.113.1.500 > 192.0.2.1.500: isakmp: phase 1 I ident
IP 192.0.2.1.500 > 203.0.113.1.500: isakmp: phase 1 R ident
IP 203.0.113.1.500 > 192.0.2.1.500: isakmp: phase 1 I ident[E]
IP 192.0.2.1.500 > 203.0.113.1.500: isakmp: phase 1 R ident[E]
IP 203.0.113.1.500 > 192.0.2.1.500: isakmp: phase 2/others I oakley-quick[E]
IP 192.0.2.1.500 > 203.0.113.1.500: isakmp: phase 2/others R oakley-quick[E]

info_i_25x25.png

Note

실시간 캡처의 결과이므로 아무런 트래픽 캡처 결과를 얻을 수 없다면, 클라이언트가 트래픽을 발생하지 않앗거나, 트래픽 업스트림이 차단 되었을 수 있습니다.

4. ER IPsec VPn 로그를 캡처합니다:

sudo swanctl --log
[KNL] creating acquire job for policy 192.168.1.10/32[icmp/8] === 172.16.1.10/32[icmp/8] with reqid {1}
[IKE] initiating Main Mode IKE_SA peer-192.0.2.1-tunnel-1[1] to 192.0.2.1
[ENC] generating ID_PROT request 0 [ SA V V V V ]
[NET] sending packet: from 203.0.113.1[500] to 192.0.2.1[500] (160 bytes)
[NET] received packet: from 192.0.2.1[500] to 203.0.113.1[500] (108 bytes)
[ENC] parsed ID_PROT response 0 [ SA V ]
[IKE] received NAT-T (RFC 3947) vendor ID
[ENC] generating ID_PROT request 0 [ KE No NAT-D NAT-D ]
[ENC] parsed ID_PROT response 0 [ KE No V V V V NAT-D NAT-D ]
[ENC] generating ID_PROT request 0 [ ID HASH N(INITIAL_CONTACT) ]
[ENC] parsed ID_PROT response 0 [ ID HASH ]
[IKE] IKE_SA peer-192.0.2.1-tunnel-1[1] established between 203.0.113.1[203.0.113.1]...192.0.2.1[192.0.2.1]
[ENC] generating QUICK_MODE request 561157166 [ HASH SA No ID ID ]
[ENC] parsed QUICK_MODE response 561157166 [ HASH SA No ID ID N((24576)) ]
[IKE] CHILD_SA peer-192.0.2.1-tunnel-1{1} established with SPIs cb321982_i 5d4174b1_o and TS 192.168.1.0/24 === 172.16.1.0/24

info_i_25x25.png

Note

실시간 캡처의 결과이므로 방화벽을 통해서 트래픽이 거절 당하여 결과가 출력되지 않을 수 있습니다. 대신에 show vpn log | no-more명령어를 사용하여 전체 IPsec 로그 히스토리를 확인할 수 있습니다.

  1. 방화벽 상태와 카운터를 검증하고 (생성한 룰이 있다면 )NAT 룰을 확인합니다:
show firewall name WAN_LOCAL statistics
----------------------------------------------
IPv4 Firewall "WAN_LOCAL" [WAN to router]

 Active on (eth0,LOCAL)

rule  packets  bytes    action   description
----  -------  -----    ------   -----------
10    2364     203306   ACCEPT   Allow established/related
20    0        0        DROP     Drop invalid state
30    1        188      ACCEPT   IKE
40    2        240      ACCEPT   ESP
50    0        0        ACCEPT   NAT-T
60    2        112      ACCEPT   IPsec
10000 9        1692     DROP     DEFAULT ACTION

show firewall name WAN_IN statistics
------------------------------------
IPv4 Firewall "WAN_IN" [WAN to internal]

 Active on (eth0,IN)

rule  packets  bytes   action   description
----  -------  -----   ------   -----------
10    30       1784    ACCEPT   Allow established/related
20    0        0       DROP     Drop invalid state
30    2        120     ACCEPT   IPsec
10000 1        60      DROP     DEFAULT ACTION

show nat statistics
rule  count      type IN       OUT      description
----  ---------- ---- -------- -------- -----------
5000  30         MASQ -        eth0     IPsec
5010  2752       MASQ -        eth0     masquerade for WAN
  1. Server1과 Host1에서 서로에게 터널을 통해 트래픽을 전송합니다:
ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=63 time=45.9 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=63 time=45.2 ms
64 bytes from 192.168.1.10: icmp_seq=3 ttl=63 time=45.5 ms

ping 172.16.1.10
PING 172.16.1.10 (172.16.1.10) 56(84) bytes of data.
64 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=43.9 ms
64 bytes from 172.16.1.10: icmp_seq=2 ttl=63 time=44.1 ms
64 bytes from 172.16.1.10: icmp_seq=3 ttl=63 time=44.4 ms

관련 문서


맨위로 가기