먼저 이 글은 Microsoft Docs 실습의 풀이라고 생각하면 되겠다.
자습서: Azure Portal을 사용하여 경로 테이블이 포함된 네트워크 트래픽 라우팅 실습을 따라하며, 이 글을 참고하면 더욱 도움이 될 거라고 생각한다.
Vnet의 범위는 10.0.0.0/16으로 설정하고 3개의 서브넷을 추가한다.
다음 보안 탭에서 BastionHost 사용을 선택한다.
Bastion을 사용하여 가상 머신에 연결하는 경우에는 가상머신의 공용 IP주소가 필요하지 않다.
아이디 비밀번호만 입력하면 VM을 포탈에서 바로 연결할 수 있기 때문에 간편하다.
네트워크 가상 어플라이언스는 DMZ에 위치하여 모든 수신 및 발신 트래픽을 확인하고 설정된 규칙을 충족하는 네트워크 트래픽만 허용하므로 안전한 네트워크 경계를 제공한다.
Window Server로 가상머신을 만든다.
NVA는 네트워크 트래픽을 제어하는 가상머신이라고 생각하면 되겠다.
경로 테이블은 도착지와 경유지를 설정한다고 생각하면 되고 이제 출발지를 설정해야한다.
이제 출발지(Public)와 경유지(DMZ), 그리고 도착지(Private)를 모두 설정하였다.
이전에 만들어 놓은 서브넷을 이용하여 Public 가상머신과 Private 가상머신을 생성한다.
Window Server로 Public 가상머신을 만든다.
Window Server로 Private 가상머신을 만든다.
New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
추적경로를 확인하기 위하여 ICMP를 사용하도록 설정하였다.
이전에 Portal에서 NVA의 IP forwarding을 한 것처럼 OS에서도 IP forwarding을 해야한다.
다음 명령으로 myVMNVA VM에 대한 원격 데스크톱을 연다.
mstsc /v:myvmnva
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name IpEnableRouter -Value 1
Restart-Computer
mstsc /v:myvmpublic
New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
Public VM에서도 역시 추적경로를 확인하기 위하여 ICMP를 사용하도록 설정하였다.
tracert myvmprivate
Tracing route to myvmprivate.q04q2hv50taerlrtdyjz5nza1f.bx.internal.cloudapp.net [10.0.1.4]
over a maximum of 30 hops:
1 1 ms * 2 ms myvmnva.internal.cloudapp.net [10.0.2.4]
2 2 ms 1 ms 1 ms myvmprivate.internal.cloudapp.net [10.0.1.4]
Trace complete.
tracert myvmpublic
Tracing route to myvmpublic.q04q2hv50taerlrtdyjz5nza1f.bx.internal.cloudapp.net [10.0.0.4]
over a maximum of 30 hops:
1 1 ms 1 ms 1 ms myvmpublic.internal.cloudapp.net [10.0.0.4]
Trace complete.
그렇다면 여기서 반대로 Private에서 Public으로 가는 경로에 NVA를 거치도록 설정을 해보자.
Tracing route to myvmpublic.f1rq4hpl03xe5imtwim5vjxozh.bx.internal.cloudapp.net [10.0.0.4]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms myvmnva.internal.cloudapp.net [10.0.2.4]
2 1 ms 1 ms 2 ms myvmpublic.internal.cloudapp.net [10.0.0.4]
Trace complete.
실습 풀이를 보기 전 먼저 혼자서 실습을 해보자.
위 내용을 응용하면 충분히 해결할 수 있다.
경로 테이블은 도착지와 경유지를 설정한다고 생각하면 되고 이제 출발지를 설정해야한다.
이제 출발지(Public)와 경유지(DMZ), 그리고 도착지(Private)를 모두 설정하였다.
tracert myvmprivate
Tracing route to myvmpublic.f1rq4hpl03xe5imtwim5vjxozh.bx.internal.cloudapp.net [10.0.0.4]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms myvmnva.internal.cloudapp.net [10.0.2.4]
2 1 ms 1 ms 2 ms myvmpublic.internal.cloudapp.net [10.0.0.4]
Trace complete.