본문 바로가기
IT/Azure

VPN Forced tunneling (강제 터널링)

by rapker 2023. 5. 11.
반응형

 

728x90
 
참고
 
근래에 Azure의 강제 터널링에 대해 새롭게 알게 되어서 정리를 합니다.
 
이것도 깊이 들어가면 힘들어질 수 있으니 딱, 강제 터널링이 무엇인지, 어떻게 설정하는지 정도만 기록하도록 하겠습니다.
 
아래쪽에 (2021-09-30) 강제 터널링 후 터널 끊김 현상에 대한 내용이 있습니다.
강제 터널링 작업 전 한번 읽어보시는 것을 권장 드립니다.
 
 

강제 터널링?

 
아.... 어느 경우에 사용해야 하는 것인지 이렇게 적어보고 저렇게 적어봐도
나중에 무슨 말인지 이해 하는데 시간이 걸릴 것 같아서 계속 썼다 지웠다 하게 되는데요....
 
음....
 
강제 터널링은 On-prem과 S2S로 VPN연결이 되어 있는 상태에서 사용되는 것이고
VM의 모든 트래픽이 On-prem 방화벽을 거칠 수 있도록 설정하는 것입니다.
 
왜? 왜 강제 터널링을 사용해야 하는가?
 
강제 터널링이 필요한 경우가 여럿 있겠지만 딱! 한 가지만 예를 들어 보겠습니다.
(사실 여러가지 다른 예시를 많이 적어 놓고 싶지만 경험이... 아는것이... 없어서 .... -0-)
예)
보안이 엄청 중요한 프로젝트가 있고
사무실 컴퓨터는 엄청 빡빡하게 구성된 방화벽 때문에 일반적인 인터넷 사용이 불가능 한 상태인데
직원 중 누군가 azure vm을 통해 자유롭게 인터넷 사용이 가능하다면? 안되겠죠
이를 방지하기 위해 강제 터널링을 사용하여 VM이나 PC에서 모두 동일한 보안정책을 따르도록 할 수 있습니다.
(Azure단에 on-prem과 동일한 보안정책이 가능하다 할지라도 비용과 관리포인트가 늘기 때문에 담당자가....)
 
반응형
 
 
 

설정방법

 
그럼 어떻게 설정 하느냐~
강제 터널링! 이거 설정이 엄~~~청 간단합니다.
 
더도 덜도 말고 딱! 다음 두 가지 작업만 해주면 됩니다.
  • Subnet에 UDR 설정
  • VPN Gateway에 GatewayDefaultSite 설정
 
 

UDR 설정

 
UDR (User Defined Routing)을 만들고 모든 목적지의 ip는 VPN Gateway로 가라는 설정을 해줍니다.
 
 
Subnet에 UDR을 등록해 줍니다.
 
 
 
 
참~ 쉽죠 현재 50% 진행 되었습니다.
 
 
 
 

GatewayDefaultSite 설정

 
이제 Local Gateway를 VPN Gateway의 DefaultSite로 등록해 주어야 하는데요. 아쉽게도 이건 포털에서 작업할 수 없습니다.
 
가이드 문서에 따라 Powershell로 설정 할 수 있었습니다.
 
다만 가이드 문서의 내용은 리소스 그룹부터 만드는 과정을 powershell로 진행하기에 복잡해 보이지만,
위 가이드 문서의 내용 중 7번 항목만 진행하면 됩니다.
 

 

 
먼저 설정하기전의 GatewayDefaultSite 값을 확인 해봅니다.
Get-AzVirtualNetworkGateway -Name <VPN Gateway Name> -ResourceGroupName <Resource Group Name>
 
 
 
 
GatewayDefaultSite값이 null 인것을 확인 했고, 이제 GatewayDefaultSite 설정을 진행 합니다.
poweshell 커맨드를 실행하면 몇 분 정도 뒤에 완료가 되고 정보가 출력 됩니다.
$LocalGateway = Get-AzLocalNetworkGateway -Name <Local Gateway Name> -ResourceGroupName <Resource Group Name> 
$VirtualGateway = Get-AzVirtualNetworkGateway -Name <VPN Gateway Name> -ResourceGroupName <Resource Group Name>
Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
 
 

 

참 쉽죠~ 모든 설정이 끝났습니다!!
 
이제부터 vm에서 인터넷으로 나가는 모든 트래픽은 VPN Gateway를 거쳐 On-prem으로 전달되어 On-prem의 방화벽 정책에 영향을 받습니다.
 
 
 
 

2021-09-30 추가 내용
 
기본적인 site-to-site 설정 하고 ping, web 정상 동작 까지 확인된 상태에서
  • Subnet에 UDR (0.0.0.0/0) 작업 먼저 하고
  • 강제 터널링을 설정 하고 나니
ping, web 동작하지 않았고, 고객사쪽(on-prem)에는 터널링이 끊겨 있다고 합니다.
 
이를 해결하기 위해 subnet에서 udr을 제외 했다가 다시 적용해보았지만 이슈가 해결되지 않았고
 
udr에 임의경로를 추가 하거나 삭제 하는 행위가 있은 후 ping, web이 동작 했고, 고객사(on-prem)에서도 터널링이 연결되었다고 했습니다.
(강제 터널링 이후 udr이 제대로 반영되지 않는 상태가 되어버렸고 이를 갱신하는 작업이 있어 정상 상태로 돌아온 것으로 보여집니다.)
 
Azure Docs의 가이드문서의 순서 상으로는 아래와 같이 진행 되지만
  1. s2s vpn 설정
  2. udr 등록
  3. 강제 터널링
 
만약 다음에 강제 터널링 할 기회가 된다면 순서를 바꿔보면 좋을 것 같습니다.
  1. s2s vpn 설정
  2. 강제 터널링
  3. udr 등록
 
 
 
 
 
 
반응형
LIST

'IT > Azure' 카테고리의 다른 글

Azure Loadbalancer에 IPv6 사용  (0) 2023.05.11
Azure VM과 LB의 IPv6 테스트  (0) 2023.05.11
Azure VPN P2S(Point to Site) 연결 테스트  (0) 2023.05.11
Azure Application Gateway WAF v1 vs WAF v2  (0) 2023.05.11
Azure VWan ER +VPN  (0) 2023.05.11