문제 해결 AWS Client VPN: VPC에 대한 터널 연결 문제 - AWS Client VPN

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

문제 해결 AWS Client VPN: VPC에 대한 터널 연결 문제

AWS Client VPN 연결에 연결 문제가 발생하는 경우이 체계적인 문제 해결 접근 방식에 따라 문제를 식별하고 해결합니다. 이 섹션에서는 원격 클라이언트와 Amazon VPC 리소스 간의 일반적인 Client VPN 연결 문제를 진단하는 step-by-step 절차를 제공합니다.

네트워크 연결 사전 조건

Client VPN 연결 문제를 해결하기 전에 다음 네트워크 사전 조건을 확인합니다.

  • Client VPN 엔드포인트 서브넷에 인터넷 연결이 있는지 확인합니다(인터넷 게이트웨이 또는 NAT 게이트웨이를 통해).

  • Client VPN 엔드포인트가 고가용성을 위해 서로 다른 가용 영역의 서브넷과 연결되어 있는지 확인합니다.

  • VPC에 충분한 IP 주소 공간이 있고 클라이언트 CIDR 블록과 충돌하지 않는지 확인합니다.

  • 대상 서브넷에 적절한 라우팅 테이블 연결이 있는지 확인합니다.

Client VPN 엔드포인트 상태 확인

먼저 Client VPN 엔드포인트가 올바른 상태인지 확인합니다.

  1. AWS CLI 를 사용하여 Client VPN 엔드포인트 상태를 확인합니다.

    aws ec2 describe-client-vpn-endpoints --region your-region
  2. 출력에서 엔드포인트 상태를 찾습니다. 상태는 여야 합니다available.

  3. 엔드포인트에 연결된 대상 네트워크(서브넷)가 있는지 확인합니다.

  4. 상태가가 아닌 경우 구성 문제를 나타낼 수 있는 오류 메시지 또는 보류 중 상태가 있는지 available확인합니다.

클라이언트 연결 확인

Client VPN 엔드포인트에 대한 클라이언트 연결 상태를 확인합니다.

  1. 활성 클라이언트 연결을 확인합니다.

    aws ec2 describe-client-vpn-connections --client-vpn-endpoint-id cvpn-endpoint-id --region your-region
  2. 출력의 연결 상태 및 오류 메시지를 검토합니다.

  3. 클라이언트 인증 로그에 실패한 인증 시도가 있는지 확인합니다.

  4. 클라이언트가 구성된 클라이언트 CIDR 블록에서 IP 주소를 수신하고 있는지 확인합니다.

참고

클라이언트가 연결할 수 없는 경우 인증 구성, 권한 부여 규칙 또는 네트워크 연결에 문제가 있을 수 있습니다.

클라이언트 인증 확인

인증 문제는 Client VPN 연결 문제의 일반적인 원인입니다.

  • 상호 인증을 위해 클라이언트 인증서가 유효하고 만료되지 않았는지 확인합니다.

  • Active Directory 인증의 경우 사용자 자격 증명 및 도메인 연결을 확인합니다.

  • SAML 기반 페더레이션 인증의 경우 IdP 구성 및 사용자 권한을 확인합니다.

  • 자세한 오류 정보는 CloudWatch의 인증 로그를 검토하세요.

  • 엔드포인트에 구성된 인증 방법이 클라이언트 구성과 일치하는지 확인합니다.

권한 부여 규칙 확인

권한 부여 규칙은 클라이언트가 액세스할 수 있는 네트워크 리소스를 제어합니다.

  1. 현재 권한 부여 규칙 나열:

    aws ec2 describe-client-vpn-authorization-rules --client-vpn-endpoint-id cvpn-endpoint-id --region your-region
  2. 클라이언트가 액세스해야 하는 대상 네트워크에 대한 규칙이 있는지 확인합니다.

  3. 규칙이 올바른 Active Directory 그룹을 지정하는지 확인합니다(AD 인증을 사용하는 경우).

  4. 권한 부여 규칙이 active 상태인지 확인합니다.

Client VPN 경로 검증

Client VPN 연결에는 적절한 라우팅 구성이 필수적입니다.

  1. Client VPN 엔드포인트 경로 확인:

    aws ec2 describe-client-vpn-routes --client-vpn-endpoint-id cvpn-endpoint-id --region your-region
  2. 클라이언트가 액세스해야 하는 대상 네트워크에 경로가 있는지 확인합니다.

  3. Amazon VPC 라우팅 테이블을 확인하여 반환 트래픽이 Client VPN 엔드포인트에 도달할 수 있는지 확인합니다.

    aws ec2 describe-route-tables --filters "Name=vpc-id,Values=vpc-id" --region your-region
  4. 대상 네트워크 연결이 올바르게 구성되었는지 확인합니다.

보안 그룹 및 네트워크 ACLs 확인

보안 그룹 및 네트워크 ACLs Client VPN 트래픽을 차단할 수 있습니다.

  1. 대상 EC2 인스턴스의 보안 그룹을 확인합니다.

    aws ec2 describe-security-groups --group-ids sg-xxxxxxxxx --region your-region
  2. 인바운드 규칙이 Client VPN CIDR 블록의 트래픽을 허용하는지 확인합니다.

    • Client VPN CIDR의 SSH(포트 22): 10.0.0.0/16

    • Client VPN CIDR의 HTTP(포트 80): 10.0.0.0/16

    • Client VPN CIDR의 HTTPS(포트 443): 10.0.0.0/16

    • 필요에 따라 사용자 지정 애플리케이션 포트

  3. Client VPN 엔드포인트 보안 그룹(해당하는 경우)에서 다음을 허용하는지 확인합니다.

    • 0.0.0.0/0의 UDP 포트 443(OpenVPN)

    • VPC CIDR 블록으로 아웃바운드되는 모든 트래픽

  4. 네트워크 ACLs이 트래픽을 차단하지 않는지 확인합니다. 네트워크 ACLs은 상태 비저장이므로 인바운드 및 아웃바운드 규칙을 모두 구성해야 합니다.

  5. 전송하려는 특정 트래픽에 대한 인바운드 및 아웃바운드 규칙을 모두 확인합니다.

클라이언트 연결 테스트

Client VPN 클라이언트에서 Amazon VPC 리소스로의 연결을 테스트합니다.

  1. 연결된 Client VPN 클라이언트에서 Amazon VPC 리소스에 대한 연결을 테스트합니다.

    ping vpc-resource-ip traceroute vpc-resource-ip
  2. 특정 애플리케이션 연결을 테스트합니다.

    telnet vpc-resource-ip port
  3. 프라이빗 DNS 이름을 사용하는 경우 DNS 확인 확인:

    nslookup private-dns-name
  4. 분할 터널링이 활성화된 경우 인터넷 리소스에 대한 연결을 테스트합니다.

클라이언트 디바이스 진단

클라이언트 디바이스에서 다음 검사를 수행합니다.

  1. 클라이언트 구성 파일(.ovpn)에 올바른 설정이 포함되어 있는지 확인합니다.

    • 올바른 서버 엔드포인트 URL

    • 유효한 클라이언트 인증서 및 프라이빗 키

    • 적절한 인증 방법 구성

  2. 클라이언트 로그에서 연결 오류를 확인합니다.

    • Windows: 이벤트 뷰어 → 애플리케이션 및 서비스 로그 → OpenVPN

    • macOS: 콘솔 앱, "Tunnelblick" 또는 "OpenVPN" 검색

    • Linux: /var/log/openvpn/ 또는 시스템 저널

  3. 클라이언트의 기본 네트워크 연결을 테스트합니다.

    ping 8.8.8.8 nslookup cvpn-endpoint-id.cvpn.region.amazonaws.com

DNS 확인 문제 해결

DNS 문제는 프라이빗 DNS 이름을 사용하여 리소스에 액세스하지 못하게 할 수 있습니다.

  1. Client VPN 엔드포인트에 DNS 서버가 구성되어 있는지 확인합니다.

    aws ec2 describe-client-vpn-endpoints --client-vpn-endpoint-ids cvpn-endpoint-id --query 'ClientVpnEndpoints[0].DnsServers'
  2. 클라이언트에서 DNS 확인 테스트:

    nslookup private-resource.internal dig private-resource.internal
  3. 사용자 지정 DNS 확인을 사용하는 경우 Route 53 Resolver 규칙을 확인합니다.

  4. 보안 그룹이 Client VPN CIDR에서 DNS 서버로의 DNS 트래픽(UDP/TCP 포트 53)을 허용하는지 확인합니다.

성능 문제 해결

Client VPN 연결의 성능 문제를 해결합니다.

  • CloudWatch 지표를 사용하여 수신/송신 바이트에 대한 대역폭 사용률을 모니터링합니다.

  • 클라이언트의 연속 ping 테스트를 사용하여 패킷 손실을 확인합니다.

  • Client VPN 엔드포인트가 연결 제한에 도달하지 않는지 확인합니다.

  • 로드 배포에 여러 Client VPN 엔드포인트를 사용하는 것이 좋습니다.

  • 다양한 클라이언트 위치로 테스트하여 리전별 성능 문제를 식별합니다.

Client VPN 지표 모니터링

CloudWatch를 사용하여 Client VPN 엔드포인트 지표 모니터링:

  1. 활성 연결 지표 확인:

    aws cloudwatch get-metric-statistics \ --namespace AWS/ClientVPN \ --metric-name ActiveConnectionsCount \ --dimensions Name=Endpoint,Value=cvpn-endpoint-id \ --start-time start-time \ --end-time end-time \ --period 300 \ --statistics Average
  2. 인증 실패 지표 검토:

    aws cloudwatch get-metric-statistics \ --namespace AWS/ClientVPN \ --metric-name AuthenticationFailures \ --dimensions Name=Endpoint,Value=cvpn-endpoint-id \ --start-time start-time \ --end-time end-time \ --period 300 \ --statistics Sum
  3. 수신 및 송신 바이트, 패킷과 같은 기타 사용 가능한 지표를 검토합니다.

Client VPN 로그 확인

Client VPN 연결 로그는 연결 시도 및 오류에 대한 자세한 정보를 제공합니다.

  • 아직 구성되지 않은 경우 Client VPN 연결 로깅을 활성화합니다.

  • CloudWatch 로그에서 연결 시도, 인증 실패 및 권한 부여 오류를 검토합니다.

  • 연결 문제의 근본 원인을 나타내는 특정 오류 코드와 메시지를 찾습니다.

  • 실패한 연결에서 구성 문제를 나타낼 수 있는 패턴이 있는지 확인합니다.

일반적인 문제 및 해결 방법

Client VPN 연결에 영향을 미칠 수 있는 일반적인 문제:

인증 실패 횟수

클라이언트 인증서가 만료되었거나 유효하지 않거나 Active Directory 자격 증명이 잘못되었습니다. 인증 구성 및 자격 증명 유효성을 확인합니다.

권한 부여 규칙 누락

클라이언트는 누락되거나 잘못된 권한 부여 규칙으로 인해 대상 네트워크에 액세스할 수 없습니다. 필요한 네트워크에 적절한 권한 부여 규칙을 추가합니다.

터널링 문제 분할

분할 터널링 구성으로 인해 트래픽 라우팅이 잘못되었습니다. 필요에 따라 분할 터널링 설정을 검토하고 조정합니다.

클라이언트 IP 풀 소진

클라이언트 CIDR 블록에 사용 가능한 IP 주소가 없습니다. 클라이언트 CIDR 범위를 확장하거나 사용하지 않는 클라이언트의 연결을 해제합니다.

MTU 문제

MTU 크기 제한으로 인해 대용량 패킷이 삭제되고 있습니다. MTU를 1436바이트로 설정하거나 클라이언트 디바이스에서 경로 MTU 검색을 활성화해 보세요.

DNS 해결 문제

클라이언트는 프라이빗 DNS 이름을 확인할 수 없습니다. DNS 서버 구성을 확인하고 보안 그룹을 통해 DNS 트래픽이 허용되는지 확인합니다.

겹치는 IP 범위

클라이언트 CIDR 블록이 로컬 네트워크 범위와 충돌합니다. 클라이언트 CIDR과 로컬 네트워크 간에 겹치는 IP 주소 범위를 확인하고 해결합니다.

TLS 핸드셰이크 실패

TLS 협상 중에 연결이 실패합니다. 인증서 유효성을 확인하고, 올바른 암호 제품군을 확인하고, 클라이언트 및 서버 인증서가 올바르게 구성되었는지 확인합니다.

경로 전파 지연

클라이언트는 새 경로를 즉시 사용할 수 없습니다. Client VPN 경로를 변경한 후 경로 전파에 1~2분을 기다립니다.

연결 끊김/불안정성

연결이 자주 끊기거나 불안정합니다. 클라이언트 디바이스에서 네트워크 정체, 방화벽 간섭 또는 전원 관리 설정을 확인합니다.