hub and spoke 구조는 Virtual WAN을 사용하지 않고 virtual network 로만 구성하고자 할때 Azure에서 권장하는 구조입니다. 일반적으로 온프레미스와 virtual network gateway간 연결해서 사용할 때 자주 볼 수 있는 아키텍쳐이며, 본 포스트는 아래와 같은 구조에서 virtual machine끼리 통신하도록 하는 예제입니다.
단순 vnet peering 만으로는 spoke1-vm과 spoke2-vm간 통신이 불가능하고, route tables라는 리소스를 생성해서 적용해 줘야 합니다. Azure 공식 문서에는 잠깐의 언급만 하고 자세히 다루지는 않아서 본 포스트에서 spoke1-vm과 spoke2-vm간 통신하는 예제를 다루어 보았습니다.
첫 번째 NIC의 IP 주소를 테스트 구성도처럼 지정합니다. (192.168.100.101)
두 번째 NIC 추가 및 테스트 구성도처럼 IP 주소를 지정합니다. (192.168.200.101)
두 번째 NIC는 DMZ-Subnet에 연결합니다.
두 번째 NIC의 IP configurations 메뉴에서 IP forwarding을 Enabled로 변경합니다.
RRAS VM을 시작합니다.
4. RRAS VM Windows 방화벽 중지 및 NSG 설정
RRAS VM의 Windows 방화벽을 중지합니다.
VPN Gateway와 S2S VPN 연결을 위해, RRAS VM의 NSG의 Inbound 규칙에 아래의 Port들을 허용으로 추가합니다. *Source는 VPN Gateway의 Public IP 주소, Destination은 RRAS VM의 첫 번째 NIC의 Private IP 주소 - TCP port 443 (SSTP) - UDP port 500 (IKEv2) - UDP port 4500 (IKEv2 NAT traversal)
5. VPN Gateway 설정
Local Network Gateway와 Connection 리소스를 생성합니다.
Local Network Gateway를 생성할 때,
IP address에는 RRAS VM의 Public IP 주소를 입력하고,
Address Space에는 온프레미스 IP 대역을 입력합니다. (192.168.0.0/16)
Connection 리소스를 생성할 때, Connection type은 Site-to-site (IPsec)을 선택합니다.
Virtual network gateway, Local network gateway, Shared key(PSK)를 지정합니다.
나머지 옵션은 기본값을 사용합니다.
* Shared key는 RRAS 구성에서도 사용됩니다.
6. RRAS 역할 설치
RRAS VM에 원격으로 접속한 후 RRAS 역할을 설치하고 구성합니다.
Server Manager - Add Roles and Features
Server Roles에서 Remote Access를 선택합니다.
Role Services에서 DirectAccess and VPN (RAS), Routing을 선택합니다.
나머지 옵션들은 기본값을 사용해서 RRAS 역할을 설치합니다.
7. RRAS 구성
* 이 부분이 이번 글에서 핵심입니다.
RRAS 역할이 설치된 후 Azure VPN Gateway와 연결하기 위해 RRAS를 구성합니다.
Routing and Remote Access 관리 콘솔을 실행합니다.
RRAS VM을 오른쪽 버튼 클릭하고 'Configure and Enable Routing and Remote Access'를 클릭합니다.
Routing and Remote Access Server Setup Wizard
[Next]
Configuration
'Secure connection between two private networks'
[Next]
Demand-Dial Connections
'No'
[Next]
Completing the Routing and Remote Access Server Setup Wizard
[Finish]
Network Interfaces 오른쪽 버튼 클릭 - 'New Demand-dial Interface' 클릭
Demand-Dial Interface Wizard
[Next]
Interface Name
Interface name : AzureVPNGW
[Next]
Connection Type
Connect using virtual private networking(VPN)
[Next]
VPN Type
IKEv2
[Next]
Destination Address
VPN Gateway의 Public IP 주소 입력
[Next]
Protocols and Security
Route IP packets on this interface
[Next]
Static Routes for Remote Networks
[Add]
Azure IP 대역 등록 (172.16.0.0/16)
[Next]
Dial-Out Credentials
[Next]
Completing the Demand-Dial Interface Wizard
[Finish]
*Preshared key를 지정합니다.
새로 생성된 Network Interface 오른쪽 버튼 클릭 - 'Properties'
[Security] 탭
Use preshared key for authentication - Preshared key 입력 ('12345')