ICMP 문제 식별 및 수정

이 튜토리얼에서는 연결 테스트를 반복적으로 사용하여 네트워크 연결 문제를 파악하고 수정하는 방법을 보여줍니다.

이 경우 Virtual Private Cloud(VPC) 방화벽 규칙은 가상 머신(VM) 인스턴스 하나의 외부 IP 주소가 ICMP 프로토콜을 사용하여 다른 VM의 외부 IP 주소에 핑하지 않도록 합니다.

VM 간 통신 문제는 종종 네트워크 연결 문제이므로 연결 테스트는 문제를 해결할 수 있도록 가능한 구성 문제에 대한 정보를 제공할 수 있습니다. 그런 다음 연결 테스트를 다시 실행하여 수정 사항을 확인할 수 있습니다.

개요

이 경우 VPC 네트워크의 동일한 서브넷에 VM 인스턴스 두 개를 구성했습니다. 두 VM 모두 외부 IP 주소가 있습니다. 핑 패킷을 vm1에서 vm2의 외부 IP 주소로 전송하여 이들 간의 연결을 테스트하면 핑이 작동하지 않습니다.

두 VM 간의 핑 거부 문제 해결
두 VM 간의 핑 거부 문제해결

시작하기 전에

튜토리얼을 시작하기 전에 연결 테스트 만들기 및 실행Before you begin 섹션에 있는 모든 단계를 수행합니다.

VPC 방화벽 규칙 작동 방식을 검토하는 것도 도움이 될 수 있습니다.

네트워크 리소스 구성

이 섹션에서는 테스트 경로에서 Google Cloud 리소스를 구성합니다.

VPC 네트워크 구성

VM이 포함된 기존 네트워크 및 서브넷을 사용하거나 새 네트워크 및 서브넷을 생성할 수 있습니다.

두 개의 VM 인스턴스 구성

  1. 이 가이드의 VM 인스턴스는 동일한 VPC 네트워크 및 서브넷에 있습니다. 기존 VM을 사용하거나 새 VM을 만들 수 있습니다.
  2. vm1vm2를 만들 때 외부 IP 주소를 할당합니다. 나중에 사용하므로 주소를 기록해 둡니다.

방화벽 규칙 default-deny-outgoing-ping 만들기

VM을 만든 후 default-deny-outgoing-ping이라는 이그레스 VPC 방화벽 규칙을 만듭니다. 이 규칙은 ICMP 프로토콜을 vm1에서 vm2까지 거부합니다. 이 네트워크에 이 규칙을 재정의하는 기존 방화벽 규칙이 없는지 확인합니다. 또한 이 규칙을 재정의하는 계층식 방화벽 정책 규칙이 없어야 합니다. 자세한 내용은 계층식 방화벽 정책 개요를 참조하세요.

이 VPC 방화벽 규칙을 구성하려면 다음 표의 값을 사용합니다.

VPC 방화벽 규칙 필드
Name default-deny-outgoing-ping
네트워크 VM이 있는 VPC 네트워크를 사용합니다.
우선순위 1000
트래픽 방향 송신
일치 시 작업 거부
대상 네트워크의 모든 인스턴스를 선택합니다.
도착 IP 범위 vm2의 외부 IP 주소를 사용합니다.
지정된 프로토콜 및 포트 기타 프로토콜 체크박스를 선택한 후 icmp를 입력합니다.

방화벽 규칙 default-deny-ingress-to-vm2 만들기

default-deny-ingress-to-vm2라는 인그레스 방화벽 규칙을 만들어 vm2의 외부 IP 주소에 대한 ICMP 프로토콜을 거부합니다. 이 네트워크에 이 규칙을 재정의하는 기존 방화벽 규칙이 없는지 확인합니다. 또한 이 규칙을 재정의하는 계층식 방화벽 정책 규칙이 없어야 합니다. 자세한 내용은 계층식 방화벽 정책 개요를 참조하세요.

다음 표의 값을 사용하여 규칙을 만듭니다.

VPC 방화벽 규칙 필드
Name default-deny-ingress-to-vm2
네트워크 VM이 있는 VPC 네트워크를 사용합니다.
우선순위 65534
트래픽 방향 인그레스
일치 시 작업 거부
대상 네트워크의 모든 인스턴스를 선택합니다.
소스 IP 범위 vm1의 외부 IP 주소를 사용합니다.
지정된 프로토콜 및 포트 기타 프로토콜 체크박스를 선택한 후 icmp를 입력합니다.

첫 번째 추적 실행

Google Cloud Console을 사용하여 trace를 실행하여 ICMP(핑) 패킷이 vm1에서 외부 IP 주소 vm2로 이동할 수 있는지 확인합니다. 이 trace를 실행한 후 연결 테스트는 VPC 방화벽 규칙 default-deny-outgoing-ping으로 인해 trace 패킷이 삭제되었음을 알려줍니다.

추적에 대한 입력값은 다음 표를 사용합니다.

필드 이름
프로토콜 icmp
소스 IP 주소

vm1의 외부 IP 주소를 사용합니다.

Google Cloud에서 사용되는 IP 주소입니다 체크박스를 선택합니다.

소스 IP 주소 또는 서비스 프로젝트 vm1의 프로젝트 이름을 확인합니다.
대상 IP 주소

vm2의 외부 IP 주소를 사용합니다.

Google Cloud에서 사용되는 IP 주소입니다 체크박스를 선택합니다.

대상 IP 주소 또는 서비스 프로젝트 vm2의 프로젝트 이름을 확인합니다.

다음 Google Cloud 콘솔 스냅샷은 방화벽 규칙 default-deny-outgoing-ping으로 인해 trace 패킷이 삭제되었음을 알려줍니다.

거부된 발신 핑이 포함된 trace에 대한 Console UI 스냅샷
거부된 발신 핑을 포함하는 추적의 Console UI 스냅샷

방화벽 규칙 default-deny-outgoing-ping을 중지한 후 두 번째 추적 실행

  1. 핑 테스트를 vm2에 허용하려면 VPC 방화벽 규칙 default-deny-outgoing-ping일시 중지합니다.
  2. 구성 업데이트가 완료되면 추적을 다시 실행합니다.
  3. 추적이 다시 실패합니다. vm2의 외부 IP 주소에 대한 인그레스 ICMP 패킷을 거부하는이 방화벽 규칙으로 인해 패킷이 삭제되었습니다.

다음 Google Cloud 콘솔 스냅샷은 인바운드 trace 패킷이 Cloud NAT를 통과할 수 있지만 앞에서 언급한 방화벽 규칙으로 인해 vm2에 도달할 수 없음을 보여줍니다.

vm2 연결에 실패한 trace에 대한 Console UI 스냅샷
vm2 연결에 실패한 trace에 대한 Console UI 스냅샷

방화벽 규칙 allow-ping-from-known-ranges 만들기

vm2의 외부 IP 주소에 대한 인그레스를 허용하려면 allow-ping-from-known-ranges라는 새 VPC 방화벽 규칙을 구성합니다. VPC 네트워크에 모든 인그레스 ICMP 패킷을 허용하면 보안 위험이 발생할 수 있으므로 ICMP 패킷을 vm2 외부 IP 주소로 전송할 수 있는 작은 소스 범위 집합만 지정합니다.

이 가이드의 목적을 위해 이 소스 범위에는 vm1의 외부 IP 주소만 포함되어 있지만 기존 방화벽 규칙 또는 규칙 우선순위를 확인하여 이 새 규칙보다 우선하지 않도록 합니다. 또한 이 규칙을 재정의하는 계층식 방화벽 정책 규칙이 없어야 합니다. 자세한 내용은 계층식 방화벽 정책 개요를 참조하세요.

다음 표의 값을 사용하여 규칙을 구성합니다.

VPC 방화벽 규칙 필드
Name allow-ping-from-known-ranges
네트워크 두 VM이 모두 포함된 네트워크 이름을 사용합니다.
우선순위 1000
트래픽 방향 인그레스
일치 시 작업 허용
대상 네트워크의 모든 인스턴스를 선택합니다.
소스 필터 IP 범위
소스 IP 범위 vm1의 외부 IP 주소를 사용합니다.
지정된 프로토콜 및 포트 기타 프로토콜 체크박스를 선택한 후 icmp를 입력합니다.

세 번째 추적 실행

allow-ping-from-known-ranges 방화벽 규칙을 작성한 후 vm2의 외부 IP 주소를 다시 핑합니다. 핑이 작동하고 문제가 해결됩니다.

두 VM 간에 허용되는 핑
두 VM간에 허용되는 핑

새 방화벽 규칙이 포함된 업데이트된 구성에 대해 다른 추적을 수행하여 이 결과를 확인할 수 있습니다. 이번에는 연결 테스트에서 패킷이 vm2에 전달되었고 일치하는 방화벽 규칙 allow-ping-from-known-rangesvm2 외부 IP 주소에 대한 인바운드 ICMP 패킷을 허용함을 알려줍니다.

vm2에 성공한 trace에 대한 Console UI 스냅샷
vm2에 성공한 trace에 대한 Console UI 스냅샷

정리

필요한 경우 이 튜토리얼을 위해 생성한 다음 Google Cloud 리소스를 비활성화하거나 삭제할 수 있습니다. 이들이 프로덕션 리소스가 아닌지 확인합니다. 리소스를 사용 중지하려는 경우, 요금이 청구되지 않도록 Compute Engine 가격 책정 페이지모든 네트워킹 가격 책정 페이지에서 확인하세요.

  1. 방화벽 규칙 사용 중지 또는 삭제
  2. VM 사용 중지 또는 삭제
  3. VPC 서브넷 삭제
  4. VPC 네트워크 삭제

다음 단계