다음을 통해 공유


자습서: 중첩된 및 라우팅 불가능한 네트워크에 Azure Firewall 개인 IP에 대한 DNAT 배포

Azure Firewall 개인 IP DNAT(대상 네트워크 주소 변환)를 사용하면 공용 IP 주소 대신 방화벽의 개인 IP 주소를 사용하여 인바운드 트래픽을 변환하고 필터링할 수 있습니다. 이 기능은 기존 공용 IP DNAT가 적합하지 않은 겹치는 네트워크 또는 라우팅할 수 없는 네트워크 액세스와 관련된 시나리오에 유용합니다.

개인 IP DNAT는 다음 두 가지 주요 시나리오를 해결합니다.

  • 겹치는 네트워크: 여러 네트워크가 동일한 IP 주소 공간을 공유하는 경우
  • 라우팅할 수 없는 네트워크: 직접 라우팅할 수 없는 네트워크를 통해 리소스에 액세스해야 하는 경우

이 튜토리얼에서는 다음을 배우게 됩니다:

  • 개인 IP DNAT 사용 사례 이해
  • 개인 IP DNAT 기능을 사용하여 Azure Firewall 배포
  • 겹치는 네트워크 시나리오에 대한 DNAT 규칙 구성
  • 라우팅할 수 없는 네트워크 액세스에 대한 DNAT 규칙 구성
  • 개인 IP DNAT 기능 테스트
  • 트래픽 흐름 및 규칙 처리 유효성 검사

필수 조건

중요합니다

개인 IP DNAT는 Azure Firewall 표준 및 프리미엄 SKU에서만 사용할 수 있습니다. 기본 SKU는 이 기능을 지원하지 않습니다.

시나리오 개요

이 자습서에서는 두 가지 일반적인 개인 IP DNAT 시나리오를 보여 줍니다.

시나리오 1: 겹치는 네트워크

동일한 IP 주소 공간(예: 10.0.0.0/16)을 사용하는 여러 가상 네트워크가 있으며 IP 충돌 없이 이러한 네트워크에서 리소스에 액세스해야 합니다.

시나리오 2: 제어할 수 없는 네트워크 액세스

Azure Firewall을 통해 온-프레미스 리소스에 액세스하는 것과 같이 원본에서 직접 라우팅할 수 없는 네트워크의 리소스에 대한 액세스를 제공해야 합니다.

환경을 배포하십시오

제공된 ARM 템플릿을 사용하여 필요한 모든 구성 요소를 사용하여 테스트 환경을 만듭니다.

배포 템플릿 다운로드

  1. Azure Network Security GitHub 리포지토리에서 ARM 템플릿을 다운로드합니다.

  2. PrivateIpDnatArmTemplateV2.json 로컬 컴퓨터에 파일을 저장합니다.

Azure Portal을 사용하여 배포

  1. Azure Portal에 로그인합니다.

  2. 리소스>템플릿 배포 만들기를 선택합니다(사용자 지정 템플릿을 사용하여 배포).

  3. 편집기에서 사용자 고유의 템플릿을 빌드합니다.를 선택합니다.

  4. 기존 콘텐츠를 삭제하고 다운로드한 ARM 템플릿의 콘텐츠를 붙여넣습니다.

  5. 저장을 선택합니다.

  6. 다음 정보를 제공합니다.

    • 구독: Azure 구독을 선택합니다.
    • 리소스 그룹: 새 리소스 그룹을 만들거나 기존 리소스 그룹을 선택합니다.
    • 지역: 선호하는 Azure 지역 선택
    • 위치: 이 매개 변수는 선택한 지역에 따라 자동 채워집니다.
  7. 템플릿 매개 변수를 검토하고 필요에 따라 수정합니다.

  8. 검토 + 만들기를 선택한 다음 만들기를 선택하여 템플릿을 배포합니다.

배포는 다음 리소스를 만듭니다.

  • 중첩된 및 라우팅할 수 없는 시나리오를 위한 가상 네트워크
  • 프라이빗 IP DNAT 구성이 있는 Azure Firewall
  • 연결을 테스트하기 위한 가상 머신
  • 네트워크 보안 그룹 및 경로 테이블
  • 필요한 모든 네트워킹 구성 요소

비고

ARM 템플릿에는 두 시나리오를 모두 테스트하기 위해 미리 구성된 DNAT 규칙이 포함되어 있습니다. 배포 후 이러한 규칙을 검사하거나 특정 요구 사항에 따라 수정할 수 있습니다.

개인 IP DNAT 규칙 확인

배포가 완료되면 두 시나리오 모두에 대해 DNAT 규칙이 올바르게 생성되었는지 확인합니다.

겹치는 네트워크에 대한 규칙 확인

  1. Azure Portal에서 Azure Firewall 리소스(azfw-hub-vnet-1)로 이동합니다.

  2. 설정에서 방화벽 정책을 선택합니다.

  3. 방화벽 정책(fp-azfw-hub-vnet-1)을 선택합니다.

  4. 설정에서 규칙 컬렉션 그룹을 선택합니다.

  5. 미리 구성된 규칙을 보려면 선택합니다 DefaultDnatRuleCollectionGroup .

다음 DNAT 규칙을 확인하십시오.

  • ToVM2-Http: 10.10.0.4:8010.10.2.4:80 번역합니다 (스포크-vnet-1에서 허브-vnet-2 방화벽에 액세스)
  • ToVM2-Rdp: 10.10.0.4:5338810.10.2.4:3389로 변환 (RDP 액세스)
  • ToVM3-Http: 10.10.0.4:8080172.16.0.4:80로 변환 (스포크-vnet-1에서 branch-vnet-1에 접근)
  • ToVM3-Rdp: 10.10.0.4:53389172.16.0.4:3389 로 변환 (RDP 액세스)

비경로 네트워크에 대한 규칙 검토

  1. 두 번째 Azure Firewall 리소스(azfw-hub-vnet-2)로 이동합니다.

  2. 설정에서 방화벽 정책을 선택합니다.

  3. 방화벽 정책(fp-azfw-hub-vnet-2)을 선택합니다.

  4. 설정에서 규칙 컬렉션 그룹을 선택합니다.

  5. 두 번째 시나리오에 대한 규칙을 보려면 선택합니다 DefaultDnatRuleCollectionGroup .

다음 DNAT 규칙을 확인하십시오.

  • ToVM2-Http: 10.10.2.4:80192.168.0.4:80로 연결 (hub-vnet-1의 방화벽 서브넷에서 스포크-vnet-2에 액세스)
  • ToVM2-Rdp: 10.10.2.4:3389192.168.0.4:3389로 변환 (스포크-vnet-2에 대한 RDP 액세스)

이러한 규칙은 두 스포크 네트워크가 동일한 IP 공간(192.168.0.0/24)을 사용하는 겹치는 네트워크 시나리오를 보여 줍니다.

가상 머신 설정

제공된 PowerShell 스크립트를 실행하여 VM 구성을 완료합니다.

시나리오 1에서 VM 구성(겹치는 네트워크)

  1. Azure Bastion 또는 RDP를 사용하여 가상 머신 win-vm-2 에 연결합니다.

  2. 관리자 권한으로 PowerShell을 엽니다.

  3. 구성 스크립트를 다운로드하고 실행합니다.

    # Download the script from GitHub repository
    Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Azure/Azure-Network-Security/master/Azure%20Firewall/Template%20-%20Private%20IP%20Dnat%20with%202%20Scenarios%20-%20Overlapped%20Network%20and%20Non-Routable%20Network/win-vm-2.ps1" -OutFile "C:\win-vm-2.ps1"
    
    # Execute the script
    .\win-vm-2.ps1
    

시나리오 2에서 VM 구성(라우팅 불가능한 네트워크)

  1. Azure Bastion 또는 RDP를 사용하여 가상 머신 win-vm-3 에 연결합니다.

  2. 관리자 권한으로 PowerShell을 엽니다.

  3. 구성 스크립트를 다운로드하고 실행합니다.

    # Download the script from GitHub repository
    Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Azure/Azure-Network-Security/master/Azure%20Firewall/Template%20-%20Private%20IP%20Dnat%20with%202%20Scenarios%20-%20Overlapped%20Network%20and%20Non-Routable%20Network/win-vm-3.ps1" -OutFile "C:\win-vm-3.ps1"
    
    # Execute the script
    .\win-vm-3.ps1
    

개인 IP DNAT 기능 테스트

두 시나리오 모두에 대해 개인 IP DNAT 구성이 올바르게 작동하는지 확인합니다.

겹치는 네트워크 시나리오 테스트

  1. 원본 네트워크의 클라이언트 컴퓨터에서 구성된 포트를 사용하여 Azure Firewall 개인 IP 주소에 연결하려고 시도합니다.

  2. 연결이 겹치는 네트워크의 대상 VM으로 성공적으로 변환되었는지 확인합니다.

  3. Azure Firewall 로그를 확인하여 규칙 적격 및 성공적인 번역을 확인합니다.

라우팅할 수 없는 네트워크 시나리오 테스트

  1. 적절한 원본 네트워크에서 Azure Firewall 개인 IP 주소에 연결합니다.

  2. 방화벽을 통해 비경로 네트워크에서 자원에 대한 접근을 확인하십시오.

  3. 적절한 규칙 처리 및 트래픽 흐름을 확인하려면 방화벽 로그를 모니터링합니다.

모니터링 및 문제 해결

개인 IP DNAT 성능을 모니터링하려면 Azure Firewall 진단 로그 및 메트릭을 사용합니다.

진단 로깅 활성화

  1. Azure Portal에서 Azure Firewall 리소스로 이동합니다.

  2. 진단 설정>+ 진단 설정 추가를 선택합니다.

  3. 로깅 구성:

    • Azure Firewall 애플리케이션 규칙 로그
    • Azure Firewall 네트워크 규칙 로그
    • Azure Firewall NAT 규칙 로그
  4. 원하는 대상(Log Analytics 작업 영역, 스토리지 계정 또는 Event Hubs)을 선택합니다.

모니터링할 주요 메트릭

최적의 성능을 보장하려면 다음 메트릭을 모니터링합니다.

  • 처리된 데이터: 방화벽에서 처리된 총 데이터 양
  • 네트워크 규칙 적중 횟수: 일치하는 네트워크 규칙 수
  • NAT 규칙 적중 횟수: 일치하는 DNAT 규칙 수
  • 처리량: 방화벽 처리량 성능

모범 사례

개인 IP DNAT를 구현할 때 다음 모범 사례를 따릅니다.

  • 규칙 순서 지정: 올바른 처리 순서를 보장하려면 우선 순위가 낮은 보다 구체적인 규칙을 배치합니다.
  • 원본 사양: 보안을 향상하기 위해 와일드카드 대신 특정 원본 IP 범위를 사용합니다.
  • 네트워크 세분화: 겹치는 네트워크를 격리하려면 적절한 네트워크 구분을 구현합니다.
  • 모니터링: 성능 문제를 식별하려면 정기적으로 방화벽 로그 및 메트릭을 모니터링합니다.
  • 테스트: 프로덕션 환경에서 안정성을 보장하려면 구현하기 전에 모든 DNAT 규칙을 철저히 테스트합니다.

자원을 정리하세요

테스트 환경이 더 이상 필요하지 않은 경우 리소스 그룹을 삭제하여 이 자습서에서 만든 모든 리소스를 제거합니다.

  1. Azure Portal에서 리소스 그룹으로 이동합니다.

  2. 리소스 그룹 삭제를 선택합니다.

  3. 삭제를 확인하려면 리소스 그룹 이름을 입력합니다.

  4. 삭제를 선택하여 모든 리소스를 제거합니다.

다음 단계

이 자습서에서는 겹치고 전송할 수 없는 네트워크 시나리오에 대해 Azure Firewall의 개인 IP DNAT를 배포하고 구성하는 방법을 배웠습니다. 테스트 환경을 배포하고, DNAT 규칙을 구성하고, 유효성을 검사했습니다.

Azure Firewall DNAT 기능에 대해 자세히 알아보려면 다음을 수행합니다.