시간을 줄여주는 블로그(IT, Azure)
Azure에서 Source NAT(SNAT)를 써보자. 본문
Source NAT는 내부에서 외부로 통신할 때 주소 변환이 되어 나가는 것을 말합니다.
여러가지 시나리오가 있지만, 보안관제나 PG사 혹은 VAN사와 연결할 때 일반적으로 Source NAT가 강제 됩니다.
Azure는 NAT Gateway가 GA되면서 본격적으로 SNAT를 활용할 수 있게 되었습니다.
기존에는 Azure External Load Balancer(ELB)를 쓰거나 Public IP를 할당하거나 3rd Party NVA를 쓰거나등의 방법이 있었는데, 위 3가지는 약간 쓰임새나 고려사항이 다르기 때문에 SNAT가 필요하면 NAT G/W를 많이 쓰게 될 것 같습니다.
정리하면 제가 아는 범위에서 SNAT를 지정하는 방법은 다음과 같습니다.
- Azure VM에 Public IP를 할당
- Azure ELB설정
- Azure Firewall 사용
- Azure NAT Gateway 사용
- 3rd Party NVA(Network Virtual Appliance)
pricing이 만들면 과금이 되는 구조라 기존 VPN G/W와 비슷합니다.
기존 방식과 혼합해서 사용이 가능하고 다음 리소스를 지정할 수 있습니다.
- Standard Load Balancer(Basic 안되요;;)
- Standard Public IP
- Standard Public IP Prefix
표준SKU만 지원 하는 부분에서 약간의 차이가 있지만, 종합해도 Azure Firewall이나 NVA보다 저렴합니다.
얼마전 Windows Virtual Desktop에서 SNAT와 DNAT 이슈 때문에 Azure Firewall을 썼는데, 이걸로 대체할 수 있을 것 같습니다. 또한 NAT G/W는 UDR(routing table)이 필요 없습니다. 서브넷에 바인딩 됩니다.
자세한 부분은 하기 URL을 읽어보시면 좋을 것 같네요
https://docs.microsoft.com/ko-kr/azure/virtual-network/nat-overview
배포 방법은 다음과 같습니다.
유휴 제한 시간은 NAT테이블 유지 시간 입니다.(세션유지)
생성되면 다음과 같이 PIP와 PIP Prefix, NAT G/W가 확인 됩니다.
저는 NAT를 검증하기 위해 2개의 VM을 만들었습니다.
- VM01 : 공인IP없음, NAT서브넷 영역으로 할당
- VM02 : 공인IP할당, NAT 서브넷 영역으로 할당
VM02를 할당한 PIP를 통해서 RDP로 접속한 뒤 외부에서 공인IP를 확인하면 다음과 같이 나타납니다.
위와 같이 인바운드와 아웃바운드의 주소가 다르게 적용되어 Outbound는 NAT G/W에서 할당한 주소로 매핑된 것을 확인할 수 있습니다. 다음의 구성 입니다.
이제 VM02에서 VM01로 접속하여 NAT IP를 확인해 보겠습니다.
역시 공인IP가 없지만 SNAT가 적용된 것을 확인할 수 있습니다.
NAT G/W에 바인딩된 서브넷의 모든 리소스는 표준 IP를 설정해야 하는 부분만 유의해 주시고, SNAT의 경우 포트고갈로 인한 소켓통신 문제가 있을 수 있기 때문에 LB일 경우 DSR을 설정하는 등 여러 부분을 고려해서 구성해야 합니다.
감사합니다.
'Azure > Azure Networking' 카테고리의 다른 글
Azure Route Server에 대해서 (0) | 2023.02.23 |
---|---|
Azure 네트워크 보안 그룹 일괄 업데이트(추가/삭제) 스크립트 (0) | 2020.06.10 |
Network Security group 적용 방법 (0) | 2018.06.14 |
Azure Virtual Network Peering (0) | 2018.06.08 |
가상 컴퓨터 Network 설정 (0) | 2017.08.09 |