인증서로 정책 기반 IPsec VPN 구성
이 예에서는 PKI를 구성, 확인 및 문제 해결하는 방법을 보여 줍니다. 이 주제는 다음 섹션을 포함합니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
Junos OS 릴리스 9.4 이상
주니퍼 네트웍스 보안 디바이스
시작하기 전에:
SRX 시리즈 방화벽의 내부 LAN 인터페이스가 존 트러스트에서 ge-0/0/0이고 프라이빗 IP 서브넷을 보유하는지 확인합니다.
디바이스의 인터넷 인터페이스가 zone untrust에서 ge-0/0/3이고 공용 IP를 보유하는지 확인합니다.
로컬 및 원격 LAN 간의 모든 트래픽이 허용되고 어느 쪽에서든 트래픽을 시작할 수 있는지 확인합니다.
SSG5가 올바르게 사전 구성되고 바로 사용할 수 있는 로컬 인증서, CA 인증서 및 CRL과 함께 로드되었는지 확인합니다.
SSG5 디바이스가 ssg5.example.net 의 FQDN(IKE ID)을 사용하도록 구성되어 있는지 확인합니다.
1024비트 키가 있는 PKI 인증서가 양쪽의 IKE 협상에 사용되는지 확인합니다.
CA가 두 VPN 피어 모두에 대한 도메인 example.com 에서 독립형 CA인지 확인합니다.
개요
그림 1 에서는 회사 사무실과 원격 사무실 간에 데이터를 안전하게 전송할 수 있도록 정책 기반 IPsec VPN을 구성하기 위해 이 예에서 사용되는 네트워크 토폴로지를 보여 줍니다.

PKI 관리는 정책 기반 VPN과 경로 기반 VPN 모두에서 동일합니다.
이 예에서 VPN 트래픽은 다음 홉이 10.1.1.1인 인터페이스 ge-0/0/0.0에서 수신됩니다. 따라서 트래픽은 인터페이스 ge-0/0/3.0에서 발신됩니다. 모든 터널 정책은 들어오고 나가는 인터페이스를 고려해야 합니다.
선택적으로 OSPF와 같은 동적 라우팅 프로토콜을 사용할 수 있습니다(이 문서에서 설명하지 않음). 새 세션의 첫 번째 패킷을 처리할 때 Junos OS를 실행하는 디바이스는 먼저 경로 조회를 수행합니다. 기본 경로이기도 한 정적 경로는 나가는 VPN 트래픽의 영역을 지정합니다.
많은 CA는 호스트 이름(예: FQDN)을 사용하여 PKI의 다양한 요소를 지정합니다. CDP는 일반적으로 FQDN이 포함된 URL을 사용하여 지정되므로 Junos OS를 실행하는 디바이스에서 DNS 확인자를 구성해야 합니다.
인증서 요청은 다음 방법으로 생성할 수 있습니다.
CA 설정을 지정하기 위한 CA 프로파일 작성
PKCS10 인증서 요청 생성
PKCS10 인증서 요청 프로세스에는 공개 또는 개인 키 쌍을 생성한 다음 키 쌍을 사용하여 인증서 요청 자체를 생성하는 작업이 포함됩니다.
CA 프로필에 대한 다음 정보를 기록해 둡니다.
CA 프로필은 인증 기관의 속성을 정의합니다.
각 CA 프로필은 CA 인증서와 연결됩니다. 이전 CA 인증서를 제거하지 않고 새 CA 인증서 또는 갱신된 CA 인증서를 로드해야 하는 경우 새 프로필을 만들어야 합니다. 이 프로필은 CRL을 온라인으로 가져오는 데에도 사용할 수 있습니다.
다른 사용자에 대해 생성된 시스템에는 이러한 프로필이 여러 개 있을 수 있습니다.
인증서 요청을 보낼 CA 관리자 전자 메일 주소를 지정하면 시스템은 인증서 요청 파일에서 전자 메일을 작성하여 지정된 전자 메일 주소로 전달합니다. 전자 메일 상태 알림이 관리자에게 전송됩니다.
인증서 요청은 대역 외 방법을 통해 CA로 보낼 수 있습니다.
다음 옵션을 사용하여 PKCS10 인증서 요청을 생성할 수 있습니다.
certificate-id
— 로컬 디지털 인증서 및 공개/개인 키 쌍의 이름입니다. 이렇게 하면 적절한 키 쌍이 인증서 요청에 사용되고 궁극적으로 로컬 인증서에 사용됩니다.Junos OS 릴리스 19.1R1부터 커밋 검사가 추가되어 사용자가 로컬 또는 원격 인증서나 키 쌍을 생성하는 동안 인증서 식별자에 ,
/
,%
및 공백을 추가.
하지 못하도록 합니다.subject
— 일반 이름, 부서, 회사 이름, 주 및 국가를 포함하는 고유 이름 형식:CN — 일반 이름
OU — 부서
O — 회사 이름
L — 구/군/시
ST — 상태
C — 국가
CN — 전화
DC — 도메인 구성 요소
모든 주체 이름 구성 요소를 입력할 필요는 없습니다. 또한 각 유형의 여러 값을 입력할 수 있습니다.
domain-name
— FQDN입니다. FQDN은 IKE 협상을 위한 인증서 소유자의 ID를 제공하고 주체 이름에 대한 대안을 제공합니다.filename (path | terminal)
— (선택 사항) 인증서 요청을 배치해야 하는 위치 또는 로그인 터미널입니다.ip-address
— (선택 사항) 디바이스의 IP 주소입니다.email
— (선택 사항) CA 관리자의 이메일 주소입니다.도메인 이름, IP 주소 또는 이메일 주소를 사용해야 합니다.
생성된 인증서 요청은 지정된 파일 위치에 저장됩니다. 인증서 요청의 로컬 복사본은 로컬 인증서 저장소에 저장됩니다. 관리자가 이 명령을 다시 실행하면 인증서 요청이 다시 생성됩니다.
PKCS10 인증서 요청은 지정된 파일 및 위치에 저장되며, 여기에서 다운로드하여 등록을 위해 CA로 보낼 수 있습니다. 파일 이름이나 위치를 지정하지 않은 경우 CLI에서 명령을 사용하여 show security pki certificate-request certificate-id <id-name>
PKCS10 인증서 요청 세부 정보를 가져올 수 있습니다. 명령 출력을 복사하여 CA 서버의 웹 프런트 엔드나 전자 메일에 붙여 넣을 수 있습니다.
PKCS10 인증서 요청은 보류 중인 인증서 또는 인증서 요청으로 생성되어 시스템에 저장됩니다. CA 관리자(이 예에서는 certadmin@example.com)에게 이메일 알림이 전송됩니다.
certificate-ID라는 고유 ID는 생성된 키 쌍의 이름을 지정하는 데 사용됩니다. 이 ID는 올바른 키 쌍을 가져오기 위한 인증서 등록 및 요청 명령에도 사용됩니다. 생성된 키 쌍은 인증서 ID와 동일한 이름의 파일로 인증서 저장소에 저장됩니다. 파일 크기는 1024비트 또는 2048비트일 수 있습니다.
중간 CA가 디바이스에 사전 설치되지 않은 경우 기본(폴백) 프로필을 만들 수 있습니다. 기본 프로필 값은 특별히 구성된 CA 프로필이 없는 경우에 사용됩니다.
CDP의 경우 다음 순서를 따릅니다.
CA 프로필별
CA 인증서에 내장된 CDP
기본 CA 프로필
기본 프로필 대신 특정 CA 프로필을 사용하는 것이 좋습니다.
관리자가 CA에 인증서 요청을 제출합니다. CA 관리자는 인증서 요청을 확인하고 디바이스에 대한 새 인증서를 생성합니다. 주니퍼 네트웍스 디바이스의 관리자가 CA 인증서 및 CRL과 함께 디바이스를 검색합니다.
CA에서 CA 인증서, 디바이스의 새 로컬 인증서 및 CRL을 검색하는 프로세스는 사용 중인 CA 구성 및 소프트웨어 공급업체에 따라 다릅니다.
Junos OS는 다음 CA 벤더를 지원합니다.
위탁
Verisign
마이크로소프트
OpenSSL과 같은 다른 CA 소프트웨어 서비스를 사용하여 인증서를 생성할 수 있지만, 이러한 인증서는 Junos OS에서 확인되지 않습니다.
구성
PKI 기본 구성
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
PKI를 구성하려면 다음을 수행합니다.
기가비트 이더넷 인터페이스에서 IP 주소 및 프로토콜 제품군을 구성합니다.
[edit interfaces] user@host# set ge-0/0/0 unit 0 family inet address 192.168.10.1/24 user@host# set ge-0/0/3 unit 0 family inet address 10.1.1.2/30
인터넷 다음 홉에 대한 기본 경로를 구성합니다.
[edit] user@host# set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
시스템 시간 및 날짜를 설정합니다.
[edit] user@host# set system time-zone PST8PDT
구성이 커밋된 후 명령을 사용하여
show system uptime
클럭 설정을 확인합니다.user@host> show system uptime Current time: 2007-11-01 17:57:09 PDT System booted: 2007-11-01 14:36:38 PDT (03:20:31 ago) Protocols started: 2007-11-01 14:37:30 PDT (03:19:39 ago) Last configured: 2007-11-01 17:52:32 PDT (00:04:37 ago) by root 5:57PM up 3:21, 4 users, load averages: 0.00, 0.00, 0.00
NTP 서버 주소를 설정합니다.
user@host> set date ntp 130.126.24.24 1 Nov 17:52:52 ntpdate[5204]: step time server 172.16.24.24 offset -0.220645 sec
DNS 구성을 설정합니다.
[edit] user@host# set system name-server 172.31.2.1 user@host# set system name-server 172.31.2.2
CA 프로필 구성
단계별 절차
-
신뢰할 수 있는 CA 프로필을 만듭니다.
[edit] user@host# set security pki ca-profile ms-ca ca-identity example.com
-
해지 검사를 작성하여 인증서 해지 확인 방법을 지정합니다.
새로 고침 간격(시간)을 설정하여 CRL을 업데이트할 빈도를 지정합니다. 기본값은 CRL의 다음 업데이트 시간 또는 다음 업데이트 시간이 지정되지 않은 경우 1주일입니다.
[edit] user@host# set security pki ca-profile ms-ca revocation-check crl refresh-interval 48
revocation-check
구성 문에서 옵션을 사용하여disable
해지 검사를 비활성화하거나 옵션을 선택하여crl
CRL 속성을 구성할 수 있습니다. CA 프로필에 대한 CRL 다운로드가 실패한 경우 CA 프로필과 일치하는 세션을 허용하는 옵션을 선택할disable on-download-failure
수 있습니다. 세션은 동일한 CA 프로필에 이전 CRL이 없는 경우에만 허용됩니다. -
CRL(HTTP 또는 LDAP)을 검색할 위치(URL)를 지정합니다. 기본적으로 URL은 비어 있으며 CA 인증서에 포함된 CDP 정보를 사용합니다.
[edit] user@host# set security pki ca-profile ms-ca revocation-check crl url http://srv1.example.com/CertEnroll/EXAMPLE.crl
현재는 URL을 하나만 구성할 수 있습니다. 백업 URL 구성에 대한 지원은 사용할 수 없습니다.
-
CA 관리자에게 인증서 요청을 직접 보낼 전자 메일 주소를 지정합니다.
user@host# set security pki ca-profile ms-ca administrator email-address certadmin@example.com
-
구성을 커밋합니다.
user@host# commit and-quit
commit complete
Exiting configuration mode
퍼블릭-프라이빗 키 페어 생성
단계별 절차
CA 프로필이 구성되면 다음 단계는 주니퍼 네트웍스 디바이스에 키 페어를 생성하는 것입니다. 개인 및 공개 키 쌍을 생성하려면 다음을 수행합니다.
인증서 키 쌍을 만듭니다.
user@host> request security pki generate-key-pair certificate-id ms-cert size 1024
결과
퍼블릭-프라이빗 키 페어가 생성된 후 주니퍼 네트웍스 디바이스는 다음을 표시합니다.
Generated key pair ms-cert, key size 1024 bits
로컬 인증서 등록
단계별 절차
-
PKCS-10 형식으로 로컬 디지털 인증서 요청을 생성합니다. request security pki generate-certificate-request를 참조하세요.
user@host> request security pki generate-certificate-request certificate-id ms-cert subject "CN=john doe,CN=10.1.1.2,OU=sales,O=example, L=Sunnyvale,ST=CA,C=US" email user@example.net filename ms-cert-req Generated certificate request -----BEGIN CERTIFICATE REQUEST----- MIIB3DCCAUUCAQAwbDERMA8GA1UEAxMIam9obiBkb2UxDjAMBgNVBAsTBXNhbGVz MRkwFwYDVQQKExBKdW5pcGVyIE5ldHdvcmtzMRIwEAYDVQQHEwlTdW5ueXZhbGUx CzAJBgNVBAgTAkNBMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEFAAOBjQAw gYkCgYEA5EG6sgG/CTFzX6KC/hz6Czal0BxakUxfGxF7UWYWHaWFFYLqo6vXNO8r OS5Yak7rWANAsMob3E2X/1adlQIRi4QFTjkBqGI+MTEDGnqFsJBqrB6oyqGtdcSU u0qUivMvgKQVCx8hpx99J3EBTurfWL1pCNlBmZggNogb6MbwES0CAwEAAaAwMC4G CSqGSIb3DQEJDjEhMB8wHQYDVR0RBBYwFIESInVzZXJAanVuaXBlci5uZXQiMA0G CSqGSIb3DQEBBQUAA4GBAI6GhBaCsXk6/1lE2e5AakFFDhY7oqzHhgd1yMjiSUMV djmf9JbDz2gM2UKpI+yKgtUjyCK/lV2ui57hpZMvnhAW4AmgwkOJg6mpR5rsxdLr 4/HHSHuEGOF17RHO6x0YwJ+KE1rYDRWj3Dtz447ynaLxcDF7buwd4IrMcRJJI9ws -----END CERTIFICATE REQUEST----- Fingerprint: 47:b0:e1:4c:be:52:f7:90:c1:56:13:4e:35:52:d8:8a:50:06:e6:c8 (sha1) a9:a1:cd:f3:0d:06:21:f5:31:b0:6b:a8:65:1b:a9:87 (md5)
PKCS10 인증서 샘플에서 요청은 BEGIN CERTIFICATE REQUEST 행으로 시작하고 이를 포함하며 END CERTIFICATE REQUEST 행으로 끝나고 포함합니다. 등록을 위해 이 부분을 복사하여 CA에 붙여넣을 수 있습니다. 필요에 따라 ms-cert-req 파일을 오프로드하여 CA로 보낼 수도 있습니다.
-
CA에 인증서 요청을 제출하고 인증서를 검색합니다.
CA 및 로컬 인증서 로드
단계별 절차
로컬 인증서, CA 인증서 및 CRL을 로드합니다.
user@host> file copy ftp://192.168.10.10/certnew.cer certnew.cer /var/tmp//...transferring.file.........crYdEC/100% of 1459 B 5864 kBps user@host> file copy ftp:// 192.168.10.10/CA-certnew.cer CA-certnew.cer /var/tmp//...transferring.file.........UKXUWu/100% of 1049 B 3607 kBps user@host> file copy ftp:// 192.168.10.10/certcrl.crl certcrl.crl /var/tmp//...transferring.file.........wpqnpA/100% of 401 B 1611 kBps
명령을
file list
사용하여 모든 파일이 업로드되었는지 확인할 수 있습니다.지정된 외부 파일에서 로컬 저장소로 인증서를 로드합니다.
또한 개인 또는 공개 키 쌍과의 적절한 연결을 유지하기 위해 인증서 ID를 지정해야 합니다. 이 단계에서는 인증서를 PKI 모듈의 RAM 캐시 스토리지에 로드하고, 연결된 프라이빗 키를 확인하고, 서명 작업을 확인합니다.
user@host> request security pki local-certificate load certificate-id ms-cert filename certnew.cer Local certificate loaded successfully
지정된 외부 파일에서 CA 인증서를 로드합니다.
CA 인증서를 구성된 프로파일에 연결하려면 CA 프로파일을 지정해야 합니다.
user@host> request security pki ca-certificate load ca-profile ms-ca filename CA-certnew.cer Fingerprint: 1b:02:cc:cb:0f:d3:14:39:51:aa:0f:ff:52:d3:38:94:b7:11:86:30 (sha1) 90:60:53:c0:74:99:f5:da:53:d0:a0:f3:b0:23:ca:a3 (md5) Do you want to load this CA certificate ? [yes,no] (no) yes CA certificate for profile ms-ca loaded successfully
CRL을 로컬 스토리지에 로드합니다.
CRL의 최대 크기는 5MB입니다. 명령에서 연결된 CA 프로필을 지정해야 합니다.
user@host> request security pki crl load ca-profile ms-ca filename certcrl.crl CRL for CA profile ms-ca loaded successfully
결과
모든 로컬 인증서가 로드되었는지 확인합니다.
user@host> show security pki local-certificate certificate-id ms-cert detail Certificate identifier: ms-cert Certificate version: 3 Serial number: 3a01c5a0000000000011 Issuer: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: LAB Subject: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: john doe Alternate subject: "user@example.net", fqdn empty, ip empty Validity: Not before: 11- 2-2007 22:54 Not after: 11- 2-2008 23:04 Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:e4:41:ba:b2:01:bf:09:31:73:5f:a2:82:fe 1c:fa:0b:36:a5:d0:1c:5a:91:4c:5f:1b:11:7b:51:66:16:1d:a5:85 15:82:ea:a3:ab:d7:34:ef:2b:39:2e:58:6a:4e:eb:58:03:40:b0:ca 1b:dc:4d:97:ff:56:9d:95:02:11:8b:84:05:4e:39:01:a8:62:3e:31 31:03:1a:7a:85:b0:90:6a:ac:1e:a8:ca:a1:ad:75:c4:94:bb:4a:94 8a:f3:2f:80:a4:15:0b:1f:21:a7:1f:7d:27:71:01:4e:ea:df:58:bd 69:08:d9:41:99:98:20:36:88:1b:e8:c6:f0:11:2d:02:03:01:00:01 Signature algorithm: sha1WithRSAEncryption Distribution CRL: ldap:///CN=LAB,CN=LABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services, CN=Configuration,DC=domain,DC=com?certificateRevocationList?base? objectclass=cRLDistributionPoint http://labsrv1.domain.com/CertEnroll/LAB.crl Fingerprint: c9:6d:3d:3e:c9:3f:57:3c:92:e0:c4:31:fc:1c:93:61:b4:b1:2d:58 (sha1) 50:5d:16:89:c9:d3:ab:5a:f2:04:8b:94:5d:5f:65:bd (md5)
명령줄에서 certificate-ID를 지정하여 개별 인증서 세부 정보를 표시할 수 있습니다.
모든 CA 인증서 또는 개별 CA 프로파일(지정)의 CA 인증서를 확인합니다.
user@host> show security pki ca-certificate ca-profile ms-ca detail Certificate identifier: ms-ca Certificate version: 3 Serial number: 44b033d1e5e158b44597d143bbfa8a13 Issuer: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: example Subject: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: example Validity: Not before: 09-25-2007 20:32 Not after: 09-25-2012 20:41 Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:d1:9e:6f:f4:49:c8:13:74:c3:0b:49:a0:56 11:90:df:3c:af:56:29:58:94:40:74:2b:f8:3c:61:09:4e:1a:33:d0 8d:53:34:a4:ec:5b:e6:81:f5:a5:1d:69:cd:ea:32:1e:b3:f7:41:8e 7b:ab:9c:ee:19:9f:d2:46:42:b4:87:27:49:85:45:d9:72:f4:ae:72 27:b7:b3:be:f2:a7:4c:af:7a:8d:3e:f7:5b:35:cf:72:a5:e7:96:8e 30:e1:ba:03:4e:a2:1a:f2:1f:8c:ec:e0:14:77:4e:6a:e1:3b:d9:03 ad:de:db:55:6f:b8:6a:0e:36:81:e3:e9:3b:e5:c9:02:03:01:00:01 Signature algorithm: sha1WithRSAEncryption Distribution CRL: ldap:///CN=LAB,CN=LABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services, CN=Configuration,DC=domain,DC=com?certificateRevocationList?base? objectclass=cRLDistributionPoint http://srv1.domain.com/CertEnroll/LAB.crl Use for key: CRL signing, Certificate signing, Non repudiation Fingerprint: 1b:02:cc:cb:0f:d3:14:39:51:aa:0f:ff:52:d3:38:94:b7:11:86:30 (sha1) 90:60:53:c0:74:99:f5:da:53:d0:a0:f3:b0:23:ca:a3 (md5)
로드된 모든 CRL 또는 지정된 개별 CA 프로필의 CRL을 확인합니다.
user@host> show security pki crl ca-profile ms-ca detail CA profile: ms-ca CRL version: V00000001 CRL issuer: emailAddress = certadmin@example.net, C = US, ST = CA, L = Sunnyvale, O = Example, OU = example, CN = example Effective date: 10-30-2007 20:32 Next update: 11- 7-2007 08:52
로컬 인증서 및 CA 인증서의 인증서 경로를 확인합니다.
user@host> request security pki local-certificate verify certificate-id ms-cert Local certificate ms-cert verification success user@host> request security pki ca-certificate verify ca-profile ms-ca CA certificate ms-ca verified successfully
인증서로 IPsec VPN 구성
단계별 절차
인증서로 IPsec VPN을 구성하려면 에 표시된 네트워크 다이어그램을 참조하십시오 그림 1
보안 영역을 구성하고 영역에 인터페이스를 할당합니다.
이 예에서 패킷은 에서 수신
ge-0/0/0
되며 수신 영역은 트러스트 영역입니다.[edit security zones security-zone] user@host# set trust interfaces ge-0/0/0.0 user@host# set untrust interfaces ge-0/0/3.0
각 영역에 대한 호스트 인바운드 서비스를 구성합니다.
호스트 인바운드 서비스는 주니퍼 네트웍스 디바이스로 향하는 트래픽을 위한 것입니다. 이러한 설정에는 FTP, HTTP, HTTPS, IKE, ping, rlogin, RSH, SNMP, SSH, Telnet, TFTP 및 traceroute가 포함되지만 이에 국한되지 않습니다.
[edit security zones security-zone] user@host# set trust host-inbound-traffic system-services all user@host# set untrust host-inbound-traffic system-services ike
각 영역에 대한 주소록 항목을 구성합니다.
[edit security zones security-zone] user@host# set trust address-book address local-net 192.168.10.0/24 user@host# set untrust address-book address remote-net 192.168.168.0/24
RSA 암호화를 사용하도록 IKE(1단계) 제안을 구성합니다.
[edit security ike proposal rsa-prop1] user@host# set authentication-method rsa-signatures user@host# set encryption-algorithm 3des-cbc user@host# set authentication-algorithm sha1 user@host# set dh-group group2
IKE(Internet Key Exchange) 정책을 구성합니다.
1단계 교환은 메인 모드 또는 적극적인 모드에서 발생할 수 있습니다.
[edit security ike policy ike-policy1] user@host# set mode main user@host# set proposals rsa-prop1 user@host# set certificate local-certificate ms-cert user@host# set certificate peer-certificate-type x509- signature user@host# set certificate trusted-ca use-all
IKE(Internet Key Exchange) 게이트웨이를 구성합니다.
이 예에서 피어는 FQDN(호스트 이름)으로 식별됩니다. 따라서 게이트웨이 IKE(Internet Key Exchange) ID는 원격 피어 도메인 이름이어야 합니다. 1단계 설정 중에 IKE(Internet Key Exchange) 게이트웨이를 올바르게 식별하려면 올바른 외부 인터페이스 또는 피어 ID를 지정해야 합니다.
[edit security ike gateway ike-gate] user@host# set external-interface ge-0/0/3.0 user@host# set ike-policy ike-policy1 user@host# set dynamic hostname ssg5.example.net
IPsec 정책을 구성합니다.
이 예에서는 및
esp-group2- aes128-sha1
제안을 포함하는esp-group2-3des-sha1
표준 제안 세트를 사용합니다. 그러나 고유한 제안을 만든 다음 필요한 경우 IPsec 정책에 지정할 수 있습니다.[edit security ipsec policy vpn-policy1] user@host# set proposal-set standard user@host# set perfect-forward-secrecy keys group2
IKE(Internet Key Exchange) 게이트웨이 및 IPsec 정책을 사용하여 IPsec VPN을 구성합니다.
이 예에서는 보안 연결을 생성하기 위해 터널 정책에서 ike-vpn VPN 이름을 참조해야 합니다. 또한 필요한 경우 유휴 시간 및 프록시 ID가 터널 정책 주소와 다른 경우 지정할 수 있습니다.
[edit security ipsec vpn ike-vpn ike] user@host# set gateway ike-gate user@host# set ipsec-policy vpn-policy1
VPN 트래픽에 대한 양방향 터널 정책을 구성합니다.
이 예에서 호스트 LAN에서 원격 사무실 LAN으로의 트래픽에는 from-zone trust to zone untrust 터널 정책이 필요합니다. 그러나 세션이 원격 LAN에서 호스트 LAN으로 시작되어야 하는 경우, from-zone untrust에서 to-zone 신뢰와 반대 방향의 터널 정책도 필요합니다. 페어 정책과 반대 방향으로 정책을 지정하면 VPN은 양방향이 됩니다. 허용 작업 외에도 사용할 IPsec 프로파일도 지정해야 합니다. 터널 정책의 경우 작업은 항상 permit입니다. 실제로 거부 작업으로 정책을 구성하는 경우 터널을 지정하는 옵션이 표시되지 않습니다.
[edit security policies from-zone trust to-zone untrust] user@host# set policy tunnel-policy-out match source-address local-net user@host# set policy tunnel-policy-out match destination-address remote-net user@host# set policy tunnel-policy-out match application any user@host# set policy tunnel-policy-out then permit tunnel ipsec-vpn ike-vpn pair-policy tunnel-policy-in user@host# top edit security policies from-zone untrust to-zone trust user@host# set policy tunnel-policy-in match source-address remote-net user@host# set policy tunnel-policy-in match destination-address local-net user@host# set policy tunnel-policy-in match application any user@host# set policy tunnel-policy-in then permit tunnel ipsec-vpn ike-vpn pair-policy tunnel-policy-out
인터넷 트래픽에 대한 소스 NAT 규칙 및 보안 정책을 구성합니다.
디바이스는 지정된 source-nat 인터페이스를 사용하며, 송신 인터페이스의 IP 주소를 소스 IP 주소 및 소스 포트에 대한 임의 상위 포트로 사용하여 나가는 트래픽에 대한 소스 IP 주소 및 포트를 변환합니다. 필요한 경우 보다 세분화된 정책을 만들어 특정 트래픽을 허용하거나 거부할 수 있습니다.
[edit security nat source rule-set nat-out] user@host#set from zone trust user@host#set to zone untrust user@host#set rule interface-nat match source-address 192.168.10.0/24 user@host#set rule interface-nat match destination-address 0.0.0.0/0 user@host#set rule interface-nat then source-nat interface
[edit security policies from-zone trust to-zone untrust] user@host# set policy any-permit match source-address any user@host# set policy any-permit match destination-address any user@host# set policy any-permit match application any user@host# set policy any-permit then permit
터널 정책을 any-permit 정책 위로 이동합니다.
[edit security policies from-zone trust to-zone untrust] user@host# insert policy tunnel-policy-out before policy any-permit
정책 목록은 위에서 아래로 읽히기 때문에 보안 정책은 계층의 터널 정책 아래에 있어야 합니다. 이 정책이 터널 정책 위에 있는 경우 트래픽은 항상 이 정책과 일치하며 다음 정책으로 진행되지 않습니다. 따라서 사용자 트래픽이 암호화되지 않습니다.
터널을 통과하는 TCP 트래픽에 대한 tcp-mss 설정을 구성합니다.
TCP-MSS는 TCP 3방향 핸드셰이크의 일부로 협상됩니다. 네트워크의 MTU 제한을 수용하기 위해 TCP 세그먼트의 최대 크기를 제한합니다. IP 및 프레임 오버헤드와 함께 IPsec 캡슐화 오버헤드로 인해 결과 ESP 패킷이 물리적 인터페이스의 최대 전송 단위(MTU)를 초과하여 단편화가 발생할 수 있기 때문에 이는 VPN 트래픽에 매우 중요합니다. 단편화는 대역폭과 디바이스 리소스 사용량을 증가시키기 때문에 일반적으로 피해야 합니다.
tcp-mss에 사용할 권장 값은 MTU가 1500 이상인 대부분의 이더넷 기반 네트워크에서 1350입니다. 경로의 디바이스가 MTU의 더 낮은 값을 갖거나 PPP, 프레임 릴레이 등과 같은 추가 오버헤드가 있는 경우 이 값을 변경해야 할 수 있습니다. 일반적으로 최적의 성능을 얻기 위해 다양한 tcp-mss 값을 실험해야 할 수 있습니다.
user@host# set security flow tcp-mss ipsec-vpn mss mss-value Example: [edit] user@host# set security flow tcp-mss ipsec-vpn mss 1350 user@host# commit and-quit commit complete Exiting configuration mode
검증
구성이 올바르게 작동하고 있는지 확인합니다.
- IKE(Internet Key Exchange) 1단계 상태 확인
- 개별 보안 연결에 대한 세부 정보 가져오기
- IPsec 2단계 상태 확인
- IPsec 보안 연결 세부 정보 표시
- IPsec SA 통계 확인
- VPN 전반의 트래픽 플로우 테스트
- 연결 확인
IKE(Internet Key Exchange) 1단계 상태 확인
목적
IKE(Internet Key Exchange) 1단계 보안 연결 상태를 확인하여 VPN 상태를 확인합니다.
IPsec 터널과 관련된 PKI는 1단계 설정 중에 형성됩니다. 1단계를 완료하면 PKI가 성공한 것입니다.
작업
운영 모드에서 show security ike security-associations 명령을 입력합니다.
user@host> show security ike security-associations Index Remote Address State Initiator cookie Responder cookie Mode 2010.2.2.2 UP af4f78bc135e4365 48a35f853ee95d21 Main
의미
출력은 다음을 나타냅니다.
원격 피어는 10.2.2.2이고 상태는 UP이며, 이는 1단계 설정이 성공적으로 연결되었음을 의미합니다.
원격 피어 IKE(INTERNET KEY EXCHANGE) ID, IKE(Internet Key Exchange) 정책 및 외부 인터페이스가 모두 정확합니다.
인덱스 20은 각 IKE 보안 연결에 대한 고유한 값입니다. 이 출력 세부 정보를 사용하여 각 보안 연결에 대한 자세한 정보를 얻을 수 있습니다. 개별 보안 연결에 대한 세부 정보 가져오기을(를) 참조하세요.
잘못된 출력은 다음을 나타냅니다.
원격 피어 상태는 Down입니다.
IKE 보안 연결이 없습니다.
잘못된 모드 유형(Aggr 또는 Main), PKI 문제 또는 1단계 제안(모두 두 피어에서 일치해야 함)과 같은 IKE 정책 매개 변수가 있습니다. 자세한 정보는 IKE, PKI 및 IPsec 문제 해결을 참조하십시오.
외부 인터페이스는 IKE 패킷을 수신하는 데 유효하지 않습니다. PKI 관련 문제에 대한 구성을 확인하거나, 키 관리 데몬(kmd) 로그에서 다른 오류를 확인하거나, 추적 옵션을 실행하여 불일치를 찾습니다. 자세한 정보는 IKE, PKI 및 IPsec 문제 해결을 참조하십시오.
개별 보안 연결에 대한 세부 정보 가져오기
목적
개별 IKE(Internet Key Exchange)에 대해 자세히 알아보십시오.
작업
운영 모드에서 show security ike security-associations index 20 detail 명령을 입력합니다.
user@host> show security ike security-associations index 20 detail IKE peer 10.2.2.2, Index 20, Role: Responder, State: UP Initiator cookie: af4f78bc135e4365, Responder cookie: 48a35f853ee95d21 Exchange type: Main, Authentication method: RSA-signatures Local: 10.1.1.2:500, Remote: 10.2.2.2:500 Lifetime: Expires in 23282 seconds Algorithms: Authentication : sha1 Encryption : 3des-cbc Pseudo random function: hmac-sha1 Traffic statistics: Input bytes : 10249 Output bytes : 4249 Input packets: 10 Output packets: 9 Flags: Caller notification sent IPsec security associations: 2 created, 1 deleted Phase 2 negotiations in progress: 0
의미
출력에는 역할(개시자 또는 응답자), 상태, 교환 유형, 인증 방법, 암호화 알고리즘, 트래픽 통계, 2단계 협상 상태 등과 같은 개별 IKE SA의 세부 정보가 표시됩니다.
출력 데이터를 사용하여 다음을 수행할 수 있습니다.
IKE(Internet Key Exchange) SA의 역할을 파악합니다. 피어에 응답자 역할이 있으면 문제 해결이 더 쉬워집니다.
트래픽 통계를 가져와 양방향의 트래픽 흐름을 확인합니다.
생성되었거나 진행 중인 IPsec 보안 연결의 수를 가져옵니다.
완료된 2단계 협상의 상태를 가져옵니다.
IPsec 2단계 상태 확인
목적
IPsec(2단계) 보안 연결을 봅니다.
IKE(Internet Key Exchange) 1단계가 확인되면 IPsec(2단계) 보안 연결을 확인합니다.
작업
운영 모드에서 show security ipsec security-associations 명령을 입력합니다.
user@host> show security ipsec security-associations total configured sa: 2 ID Gateway Port Algorithm SPI Life:sec/kb Mon vsys <2 10.2.2.2 500 ESP:3des/sha1 bce1c6e0 1676/ unlim - 0 >2 10.2.2.2 500 ESP:3des/sha1 1a24eab9 1676/ unlim - 0
의미
출력은 다음을 나타냅니다.
구성된 IPsec SA 쌍을 사용할 수 있습니다. 포트 번호 500은 표준 IKE 포트가 사용됨을 나타냅니다. 그렇지 않으면 NAT-T(Network Address Translation-Traversal), 4500 또는 랜덤 하이 포트입니다.
SPI(보안 매개 변수 인덱스)는 양방향으로 사용됩니다. SA의 수명 또는 사용 제한은 초 또는 킬로바이트 단위로 표시됩니다. 출력에서 1676/ unlim은 2단계 수명이 1676초 후에 만료되도록 설정되었으며 지정된 수명 크기가 없음을 나타냅니다.
ID 번호는 각 IPsec SA의 고유 인덱스 값을 표시합니다.
Mon 열의 하이픈(
-
)은 이 SA에 대해 VPN 모니터링이 활성화되지 않았음을 나타냅니다.가상 시스템(vsys)은 기본값인 0입니다.
2단계 수명은 VPN이 가동된 후 1단계에 종속되지 않기 때문에 1단계 수명과 다를 수 있습니다.
IPsec 보안 연결 세부 정보 표시
목적
인덱스 번호로 식별된 개별 IPsec SA 세부 정보를 표시합니다.
작업
운영 모드에서 show security ipsec security-associations index 2 detail 명령을 입력합니다.
user@host> show security ipsec security-associations index 2 detail Virtual-system: Root Local Gateway: 10.1.1.2, Remote Gateway: 10.2.2.2 Local Identity: ipv4_subnet(any:0,[0..7]=192.168.10.0/24) Remote Identity: ipv4_subnet(any:0,[0..7]=192.168.168.0/24) DF-bit: clear Policy-name: tunnel-policy-out Direction: inbound, SPI: bce1c6e0, AUX-SPI: 0 Hard lifetime: Expires in 1667 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 1093 seconds Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: - Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Anti-replay service: enabled, Replay window size: 32 Direction: outbound, SPI: 1a24eab9, AUX-SPI: 0 Hard lifetime: Expires in 1667 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 1093 seconds Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: - Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Anti-replay service: enabled, Replay window size: 32
의미
출력에는 로컬 ID와 원격 ID가 표시됩니다.
프록시 ID 불일치로 인해 2단계 완료가 실패할 수 있습니다. 프록시 ID는 터널 정책에서 파생됩니다(정책 기반 VPN의 경우). 로컬 주소 및 원격 주소는 주소록 항목에서 파생되며 서비스는 정책에 대해 구성된 응용 프로그램에서 파생됩니다.
프록시 ID 불일치로 인해 2단계가 실패하면 정책에 어떤 주소록 항목이 구성되어 있는지 확인하고 올바른 주소가 전송되었는지 확인합니다. 또한 포트가 일치하는지 확인합니다. 서비스를 다시 확인하여 원격 서버와 로컬 서버에 대한 포트가 일치하는지 확인합니다.
소스 주소, 목적지 주소 또는 애플리케이션에 대한 터널 정책에 여러 개체가 구성된 경우 해당 매개 변수에 대한 결과 프록시 ID가 0으로 변경됩니다.
예를 들어 터널 정책에 대해 다음과 같은 시나리오를 가정해 보겠습니다.
로컬 주소 192.168.10.0/24 및 10.10.20.0/24
원격 주소 192.168.168.0/24
애플리케이션을 junos-http로 사용
결과 프록시 ID는 로컬 0.0.0.0/0, 원격 192.168.168.0/24, 서비스 80입니다.
결과 프록시 ID는 원격 피어가 두 번째 서브넷에 대해 구성되지 않은 경우 상호 운용성에 영향을 미칠 수 있습니다. 또한 타사 공급업체의 애플리케이션을 사용하는 경우 일치하도록 프록시 ID를 수동으로 입력해야 할 수도 있습니다.
IPsec이 완료되지 않으면 kmd 로그를 확인하거나 명령을 사용합니다 set traceoptions
. 자세한 정보는 IKE, PKI 및 IPsec 문제 해결을 참조하십시오.
IPsec SA 통계 확인
목적
IPsec SA에 대한 통계 및 오류를 확인합니다.
문제 해결을 위해 ESP/AH(Encapsulating Security Payload/Authentication Header) 카운터에서 특정 IPsec SA의 오류를 확인합니다.
작업
운영 모드에서 show security ipsec statistics index 2 명령을 입력합니다.
user@host> show security ipsec statistics index 2 ESP Statistics: Encrypted bytes: 674784 Decrypted bytes: 309276 Encrypted packets: 7029 Decrypted packets: 7029 AH Statistics: Input bytes: 0 Output bytes: 0 Input packets: 0 Output packets: 0 Errors: AH authentication failures: 0, Replay errors: 0 ESP authentication failures: 0, ESP decryption failures: 0 Bad headers: 0, Bad trailers: 0
의미
출력의 오류 값 0은 정상 상태를 나타냅니다.
이 명령을 여러 번 실행하여 VPN 전반의 패킷 손실 문제를 관찰하는 것이 좋습니다. 이 명령의 출력에는 암호화 및 복호화된 패킷 카운터, 오류 카운터 등에 대한 통계도 표시됩니다.
보안 플로우 추적 옵션을 활성화하여 오류가 발생하는 ESP 패킷과 그 이유를 조사해야 합니다. 자세한 정보는 IKE, PKI 및 IPsec 문제 해결을 참조하십시오.
VPN 전반의 트래픽 플로우 테스트
목적
1단계 및 2단계가 성공적으로 완료된 후 VPN을 통한 테스트 트래픽 플로우. 명령을 사용하여 트래픽 흐름을 테스트할 수 있습니다 ping
. 로컬 호스트에서 원격 호스트로 ping할 수 있습니다. 주니퍼 네트웍스 디바이스 자체에서 ping을 시작할 수도 있습니다.
이 예는 주니퍼 네트웍스 디바이스에서 원격 호스트로 ping 요청을 시작하는 방법을 보여줍니다. 주니퍼 네트웍스 디바이스에서 핑이 시작될 때 올바른 경로 조회가 이루어지고 정책 조회에서 적절한 영역이 참조되도록 소스 인터페이스를 지정해야 합니다.
이 예에서 ge-0/0/0.0 인터페이스는 로컬 호스트와 동일한 보안 영역에 상주하며, 정책 조회가 존 트러스트에서 존 언트러스트로 이루어질 수 있도록 핑 요청에 지정되어야 합니다.
작업
운영 모드에서 ping 192.168.168.10 interface ge-0/0/0 count 5 명령을 입력합니다.
user@host> ping 192.168.168.10 interface ge-0/0/0 count 5 PING 192.168.168.10 (192.168.168.10): 56 data bytes 64 bytes from 192.168.168.10: icmp_seq=0 ttl=127 time=8.287 ms 64 bytes from 192.168.168.10: icmp_seq=1 ttl=127 time=4.119 ms 64 bytes from 192.168.168.10: icmp_seq=2 ttl=127 time=5.399 ms 64 bytes from 192.168.168.10: icmp_seq=3 ttl=127 time=4.361 ms 64 bytes from 192.168.168.10: icmp_seq=4 ttl=127 time=5.137 ms --- 192.168.168.10 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 4.119/5.461/8.287/1.490 ms
연결 확인
목적
원격 호스트와 로컬 호스트 간의 연결을 확인합니다.
작업
운영 모드에서 ping 192.168.10.10 from ethernet0/6 명령을 입력합니다.
ssg5-> ping 192.168.10.10 from ethernet0/6 Type escape sequence to abort Sending 5, 100-byte ICMP Echos to 192.168.10.10, timeout is 1 seconds from ethernet0/6 !!!!! Success Rate is 100 percent (5/5), round-trip time min/avg/max=4/4/5 ms
의미
원격 호스트에서 로컬 호스트로의 명령을 사용하여 ping
엔드 투 엔드 연결을 확인할 수 있습니다. 이 예에서는 SSG5 디바이스에서 명령이 시작됩니다.
종단 간 연결 실패는 라우팅, 정책, 최종 호스트 또는 ESP 패킷의 암호화/암호 해독에 문제가 있음을 나타낼 수 있습니다. 오류의 정확한 원인을 확인하려면 다음을 수행합니다.
에 설명된 대로 오류에 대한 자세한 내용은 IPsec 통계를 IPsec SA 통계 확인확인하십시오.
최종 호스트와 동일한 서브넷에
ping
있는 호스트의 명령을 사용하여 최종 호스트 연결을 확인합니다. 다른 호스트가 엔드 호스트에 연결할 수 있는 경우 엔드 호스트에 문제가 없다고 가정할 수 있습니다.라우팅 관련 문제 및 정책 관련 문제를 해결하기 위해 보안 플로우 추적 옵션을 활성화합니다.
IKE, PKI 및 IPsec 문제 해결
IKE, PKI 및 IPsec 문제를 해결합니다.
- 기본 문제 해결 단계
- 장치의 사용 가능한 디스크 공간 확인
- 로그 파일을 확인하여 다양한 시나리오 확인 및 FTP에 로그 파일 업로드
- IKE에서 메시지를 볼 수 있도록 IKE 추적 옵션 활성화
- PKI 추적 옵션을 사용하여 IPsec에서 메시지 보기
- 인증서의 IKE 설정 문제를 해결하기 위한 IKE 및 PKI 추적 옵션 설정
- 1단계 성공 메시지 분석
- 1단계 실패 메시지 분석(제안 불일치)
- 1단계 실패 메시지 분석(인증 실패)
- 1단계 실패 메시지 분석(시간 초과 오류)
- 2단계 실패 메시지 분석
- 2단계 실패 메시지 분석
- IKE 및 PKI와 관련된 일반적인 문제 해결
기본 문제 해결 단계
문제
기본적인 문제 해결 단계는 다음과 같습니다.
문제 식별 및 격리.
문제를 디버깅하는 중입니다.
문제 해결을 시작하는 일반적인 방법은 OSI 계층의 가장 낮은 계층을 사용하여 OSI 스택을 사용하여 오류가 발생한 계층을 확인하는 것입니다.
솔루션
IKE, PKI 및 IPsec 문제 해결을 위한 기본 단계는 다음과 같습니다.
물리적 및 데이터 링크 수준에서 인터넷 링크의 물리적 연결을 확인합니다.
주니퍼 네트웍스 디바이스가 인터넷, 다음 홉 및 원격 IKE(Internet Key Exchange) 피어에 연결되어 있는지 확인합니다.
IKE(Internet Key Exchange) 1단계 완료를 확인합니다.
IKE(Internet Key Exchange) 1단계 완료에 성공하면 IKE(Internet Key Exchange) 2단계 완료를 확인합니다.
VPN 전반의 트래픽 흐름을 확인합니다(VPN이 작동 중이고 활성 상태인 경우).
Junos OS에는 추적 옵션 기능이 포함되어 있습니다. 이 기능을 사용하면 trace 옵션 플래그를 활성화하여 trace 옵션의 데이터를 로그 파일에 기록할 수 있으며, 로그 파일은 미리 결정하거나 수동으로 구성하여 플래시 메모리에 저장할 수 있습니다. 이러한 추적 로그는 시스템 재부팅 후에도 유지될 수 있습니다. 추적 옵션을 구현하기 전에 사용 가능한 플래시 스토리지를 확인합니다.
구성 모드에서 추적 옵션 기능을 활성화하고 추적 옵션 기능을 사용하도록 구성을 커밋할 수 있습니다. 마찬가지로 추적 옵션을 비활성화하려면 구성 모드에서 추적 옵션을 비활성화하고 구성을 커밋해야 합니다.
장치의 사용 가능한 디스크 공간 확인
문제
디바이스 파일 시스템의 사용 가능한 디스크 공간에 대한 통계를 확인합니다.
솔루션
운영 모드에서 show system storage 명령을 입력합니다.
user@host> show system storage Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 213M 74M 137M 35% / devfs 1.0K 1.0K 0B 100% /dev devfs 1.0K 1.0K 0B 100% /dev/ /dev/md0 180M 180M 0B 100% /junos /cf 213M 74M 137M 35% /junos/cf devfs 1.0K 1.0K 0B 100% /junos/dev/ procfs 4.0K 4.0K 0B 100% /proc /dev/bo0s1e 24M 13K 24M 0% /config /dev/md1 168M 7.6M 147M 5% /mfs /cf/var/jail 213M 74M 137M 35% /jail/var
은(는 /dev/ad0s1a
) 온보드 플래시 메모리를 나타내며 현재 용량은 35%입니다.
로그 파일을 확인하여 다양한 시나리오 확인 및 FTP에 로그 파일 업로드
문제
로그 파일을 보고 보안 IKE(Internet Key Exchange) 디버그 메시지, 보안 플로우 디버그 및 syslog에 대한 로깅 상태를 확인합니다.
솔루션
운영 모드에서 , show log pkid, show log security-trace및 show log messages 명령을 입력합니다show log kmd.
user@host> show log kmd user@host> show log pkid user@host> show log security-trace user@host> show log messages
명령을 사용하여 /var/log 디렉터리의 모든 로그 목록을 볼 수 있습니다 show log
.
명령을 사용하여 file copy
FTP 서버에 로그 파일을 업로드할 수도 있습니다.
(operational mode): user@host> file copy path/filename dest-path/filename Example:
user@host> file copy /var/log/kmd ftp://192.168.10.10/kmd.log
ftp://192.168.10.10/kmd.log 100% of 35 kB 12 MBps
IKE에서 메시지를 볼 수 있도록 IKE 추적 옵션 활성화
문제
IKE 또는 IPsec에 대한 성공 또는 실패 메시지를 보려면 명령을 사용하여 kmd 로그를 볼 수 있습니다 show log kmd
. kmd 로그에는 몇 가지 일반 메시지가 표시되므로 IKE 및 PKI 추적 옵션을 활성화하여 추가 세부 정보를 얻는 것이 유용할 수 있습니다.
일반적으로 응답자 역할이 있는 피어의 문제를 해결하는 것이 가장 좋습니다. 실패의 원인을 파악하려면 개시자 및 응답자로부터 추적 출력을 가져와야 합니다.
IKE(Internet Key Exchange) 추적 옵션을 구성합니다.
솔루션
user@host> configure Entering configuration mode [edit] user@host# edit security ike traceoptions [edit security ike traceoptions]
user@host# set file ? Possible completions: <filename> Name of file in which to write trace information files Maximum number of trace files (2..1000) match Regular expression for lines to be logged no-world-readable Don't allow any user to read the log file size Maximum trace file size (10240..1073741824) world-readable Allow any user to read the log file
[edit security ike traceoptions]
user@host# set flag ? Possible completions: all Trace everything certificates Trace certificate events database Trace security associations database events general Trace general events ike Trace IKE module processing parse Trace configuration processing policy-manager Trace policy manager processing routing-socket Trace routing socket messages timer Trace internal timer events
<filename> 필드에 파일 이름을 지정하지 않으면 모든 IKE 추적 옵션이 kmd 로그에 기록됩니다.
추적 데이터를 로그에 쓰려면 하나 이상의 플래그 옵션을 지정해야 합니다. 예:
file size
— 각 추적 파일의 최대 크기(바이트)입니다. 예를 들어 100만(1,000,000)은 최대 1MB의 파일 크기를 생성할 수 있습니다.files
— 플래시 메모리 장치에 생성 및 저장될 최대 추적 파일 수입니다.
추적을 시작하려면 구성을 커밋해야 합니다.
PKI 추적 옵션을 사용하여 IPsec에서 메시지 보기
문제
PKI 추적 옵션을 사용하도록 설정하여 IKE 오류가 인증서와 관련이 있는지 또는 비 PKI 문제와 관련이 있는지 확인합니다.
솔루션
[edit security pki traceoptions]
user@host# set file ? Possible completions: <filename> Name of file in which to write trace information files Maximum number of trace files (2..1000) match Regular expression for lines to be logged no-world-readable Don't allow any user to read the log file size Maximum trace file size (10240..1073741824) world-readable Allow any user to read the log file
[edit security pki traceoptions]
user@host# set flag ? Possible completions: all Trace with all flags enabled certificate-verification PKI certificate verification tracing online-crl-check PKI online crl tracing
인증서의 IKE 설정 문제를 해결하기 위한 IKE 및 PKI 추적 옵션 설정
문제
IKE(Internet Key Exchange) 및 PKI 추적 옵션에 대한 권장 설정을 구성합니다.
IKE 및 PKI 추적 옵션은 동일한 매개 변수를 사용하지만 모든 PKI 관련 추적의 기본 파일 이름은 pkid 로그에서 찾을 수 있습니다.
솔루션
user@host> configure Entering configuration mode [edit security ike traceoptions] user@host# set file size 1m user@host# set flag ike user@host# set flag policy-manager user@host# set flag routing-socket user@host# set flag certificates [edit security pki traceoptions] user@host# set file size 1m user@host# set flag all user@host# commit and-quit commit complete Exiting configuration mode
1단계 성공 메시지 분석
문제
IKE(Internet Key Exchange) 1단계 및 2단계 조건이 성공할 때 명령의 show log kmd
출력을 이해합니다.
솔루션
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 Phase-2 [responder] done for p1_local=ipv4(udp:500,[0..3]=10.1.1.2) p1_remote=fqdn(udp:500,[0..15]=ssg5.example.net) p2_local=ipv4_subnet(any:0,[0..7]=192.168.10.0/24) p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24)
샘플 출력은 다음을 나타냅니다.
10.1.1.2
- 로컬 주소입니다.ssg5.example.net
- 원격 피어(FQDN이 있는 호스트 이름).udp: 500
- NAT-T가 협상되지 않았습니다.Phase 1 [responder] done
- 역할(개시자 또는 응답자)과 함께 1단계 상태.Phase 2 [responder] done
- 프록시 ID 정보와 함께 1단계 상태.에 언급된 확인 명령을 사용하여 IPsec SA 상태를 확인할 수도 있습니다 IKE(Internet Key Exchange) 1단계 상태 확인.
1단계 실패 메시지 분석(제안 불일치)
문제
IKE(Internet Key Exchange) 1단계 조건이 실패인 명령의 show log kmd
출력을 이해하면 VPN이 1단계를 설정하지 않는 이유를 파악하는 데 도움이 됩니다.
솔루션
Nov 7 11:52:14 Phase-1 [responder] failed with error(No proposal chosen) for local=unknown(any:0,[0..0]=) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { 011359c9 ddef501d - 2216ed2a bfc50f5f [- 1] / 0x00000000 } IP; Error = No proposal chosen (14)
샘플 출력은 다음을 나타냅니다.
10.1.1.2
- 로컬 주소입니다.ssg5.example.net
- 원격 피어(FQDN이 있는 호스트 이름).udp: 500
- NAT-T가 협상되지 않았습니다.Phase-1 [responder] failed with error (No proposal chosen)
—제안 불일치로 인한 1단계 실패.
이 문제를 해결하려면 응답자와 개시자 모두에서 IKE(Internet Key Exchange) 게이트웨이 1단계 제안에 대한 매개 변수가 일치하는지 확인합니다. 또한 VPN에 대한 터널 정책이 있는지 확인합니다.
1단계 실패 메시지 분석(인증 실패)
문제
IKE(Internet Key Exchange) 1단계 조건이 실패인 경우 명령의 show log kmd
출력을 이해합니다. 이는 VPN이 1단계를 설정하지 않는 이유를 파악하는 데 도움이 됩니다.
솔루션
Nov 7 12:06:36 Unable to find phase-1 policy as remote peer:10.2.2.2 is not recognized. Nov 7 12:06:36 Phase-1 [responder] failed with error(Authentication failed) for local=ipv4(udp:500,[0..3]=10.1.1.2) remote=ipv4(any:0,[0..3]=10.2.2.2) Nov 7 12:06:36 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { f725ca38 dad47583 - dab1ba4c ae26674b [- 1] / 0x00000000 } IP; Error = Authentication failed (24)
샘플 출력은 다음을 나타냅니다.
10.1.1.2
- 로컬 주소입니다.10.2.2.2
—원격 피어Phase 1 [responder] failed with error (Authentication failed)
—응답자가 유효한 게이트웨이 피어에서 시작된 수신 요청을 인식하지 못하여 1단계 실패. PKI 인증서가 있는 IKE의 경우 이 오류는 일반적으로 잘못된 IKE ID 유형이 지정되거나 입력되었음을 나타냅니다.
이 문제를 해결하려면 다음을 기준으로 로컬 피어에 올바른 피어 IKE ID 유형이 지정되었는지 확인합니다.
원격 피어 인증서 생성 방법
수신된 원격 피어 인증서의 주체 대체 이름 또는 DN 정보
1단계 실패 메시지 분석(시간 초과 오류)
문제
IKE(Internet Key Exchange) 1단계 조건이 실패인 경우 명령의 show log kmd
출력을 이해합니다.
솔루션
Nov 7 13:52:39 Phase-1 [responder] failed with error(Timeout) for local=unknown(any:0,[0..0]=) remote=ipv4(any:0,[0..3]=10.2.2.2)
샘플 출력은 다음을 나타냅니다.
10.1.1.2
- 로컬 주소.10.2.2.2
- 원격 피어.Phase 1 [responder] failed with error(Timeout)
- 1단계 실패.이 오류는 원격 피어로 가는 도중에 IKE 패킷이 손실되거나 원격 피어에서 지연이 있거나 응답이 없음을 나타냅니다.
이 제한시간 초과 오류는 PKI 데몬의 응답을 기다린 결과이므로 PKI 추적 옵션 출력을 검토하여 PKI에 문제가 있는지 확인해야 합니다.
2단계 실패 메시지 분석
문제
IKE(Internet Key Exchange) 2단계 조건이 실패인 경우 명령의 show log kmd
출력을 이해합니다.
솔루션
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 Failed to match the peer proxy ids p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24) p2_local=ipv4_subnet(any:0,[0..7]=10.10.20.0/24) for the remote peer:ipv4(udp:500,[0..3]=10.2.2.2) Nov 7 11:52:14 KMD_PM_P2_POLICY_LOOKUP_FAILURE: Policy lookup for Phase-2 [responder] failed for p1_local=ipv4(udp:500,[0..3]=10.1.1.2) p1_remote=ipv4(udp:500,[0..3]=10.2.2.2) p2_local=ipv4_subnet(any:0,[0..7]=10.10.20.0/24) p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24) Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { 41f638eb cc22bbfe - 43fd0e85 b4f619d5 [0] / 0xc77fafcf } QM; Error = No proposal chosen (14)
샘플 출력은 다음을 나타냅니다.
10.1.1.2
- 로컬 주소입니다.ssg5.example.net
- 원격 피어(FQDN이 있는 IKE ID 유형, 호스트 이름).Phase 1 [responder] done
—1단계 성공.Failed to match the peer proxy ids
- 잘못된 프록시 ID가 수신되었습니다. 이전 샘플에서 받은 두 개의 프록시 ID는 192.168.168.0/24(원격) 및 10.10.20.0/24(로컬)(service=any)입니다. 이 예에 제공된 구성에 따라 예상 로컬 주소는 192.168.10.0/24입니다. 이는 로컬 피어에 컨피그레이션이 일치하지 않아 프록시 ID 일치가 실패했음을 보여줍니다.이 문제를 해결하려면 주소록 항목을 수정하거나 다른 피어와 일치하도록 피어 중 하나에서 프록시 ID를 구성합니다.
또한 출력은 실패 이유가 입니다
No proposal chosen
. 그러나 이 경우에는 메시지Failed to match the peer proxy ids
도 표시됩니다.
2단계 실패 메시지 분석
문제
IKE(Internet Key Exchange) 2단계 조건이 실패인 경우 명령의 show log kmd
출력을 이해합니다.
솔루션
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { cd9dff36 4888d398 - 6b0d3933 f0bc8e26 [0] / 0x1747248b } QM; Error = No proposal chosen (14)
샘플 출력은 다음을 나타냅니다.
10.1.1.2
- 로컬 주소입니다.fqdn(udp:500,[0..15]=ssg5.example.net
- 원격 피어.Phase 1 [responder] done
—1단계 성공.Error = No proposal chosen
- 2단계에서는 제안이 선택되지 않았습니다. 이 문제는 두 피어 간의 제안 불일치로 인해 발생합니다.이 문제를 해결하려면 두 피어에서 2단계 제안이 일치하는지 확인합니다.
IKE 및 PKI와 관련된 일반적인 문제 해결
문제
IKE 및 PKI와 관련된 일반적인 문제를 해결합니다.
추적 옵션 기능을 활성화하면 디버깅 문제에 대해 일반 로그 항목에서 얻을 수 있는 것보다 더 많은 정보를 수집할 수 있습니다. 추적 옵션 로그를 사용하여 IKE 또는 PKI 실패의 원인을 파악할 수 있습니다.
솔루션
IKE 및 PKI 관련 문제 해결 방법:
시계, 날짜, 표준 시간대 및 일광 절약 시간 설정이 올바른지 확인합니다. NTP를 사용하여 시계를 정확하게 유지합니다.
DN의 "C="(국가) 필드에 두 글자로 된 국가 코드를 사용해야 합니다.
예: 'USA' 또는 'United States'가 아닌 'US'를 사용합니다. 일부 CA의 경우 DN의 국가 필드를 채워야 하므로 두 글자 값으로만 국가 코드 값을 입력할 수 있습니다.
피어 인증서가 여러 OU=또는 CN= 필드를 사용하는 경우 컨테이너 메서드와 함께 고유 이름을 사용하고 있는지 확인합니다(시퀀스를 유지해야 하며 대/소문자를 구분해야 함).
인증서가 아직 유효하지 않은 경우 시스템 시계를 확인하고 필요한 경우 시스템 표준 시간대를 조정하거나 빠른 테스트를 위해 시계에 날짜를 추가합니다.
일치하는 IKE ID 유형 및 값이 구성되어 있는지 확인합니다.
해지 확인 실패로 인해 PKI가 실패할 수 있습니다. 이를 확인하려면 해지 확인을 일시적으로 비활성화하고 IKE(Internet Key Exchange) 1단계를 완료할 수 있는지 확인합니다.
해지 확인을 사용하지 않도록 설정하려면 구성 모드에서 다음 명령을 사용합니다.
set security pki ca-profile <ca-profile> revocation-check disable