728x90

Windows Server의 RRAS (Routing and Remote Access Service) 기능을 사용하여 Azure Virtual Network와 S2S VPN을 연결하는 방법을 소개합니다.

 

S2S (Site to Site) VPN은 온프레미스 네트워크와 Azure Virtual Network 간의 연결을 의미하는데, 온프레미스의 VPN 장비와 Azure의 VPN Gateway를 서로 연결해서 구성합니다.

S2S VPN 구성을 테스트하고 싶어도 온프레미스에 VPN 장비가 없으면 테스트가 거의 불가능합니다.

 

이 글에서는 Azure Virtual Network를 온프레미스 네트워크라고 가정하고, Windows Server에 RRAS 역할을 설치하여 VPN 장비처럼 동작하도록 구성하는 방법을 소개합니다.

테스트 구성도를 보시면 좀 더 쉽게 이해하실 수 있을겁니다.

 

RRAS 테스트 구성도

 

 

왼쪽의 Virtual Network를 온프레미스 네트워크라고 가정하고, rras-vm을 VPN 장비처럼 동작하도록 구성하는 방법을 소개할 예정입니다.

테스트 환경 구성이 완료되면 온프레미스의 dmz-svr01과 Azure의 mgmt-vm간에 private ip 주소로 통신이 가능해집니다.

 

*중요
Microsoft는 Azure 의 Windows Server 가상 머신에서의 RRAS 사용을 공식적으로는 지원하지 않습니다.

https://support.microsoft.com/en-us/help/2721672/microsoft-server-software-support-for-microsoft-azure-virtual-machines


따라서, Azure에서는 테스트 용도로만 RRAS를 사용해야 합니다.
Azure에서 RRAS를 사용하다가 문제가 생기더라도 Microsoft로부터 지원을 받을 수 없습니다.

 

*테스트에서는 Azure Korea Central 지역을 사용합니다.

 

1. 가상 네트워크 구성

구성도와 같이 두 개의 가상 네트워크를 만듭니다.

Onprem-NW Hub-VNET
Address spaces : 192.168.0.0/16
- RRAS-Subnet : 192.168.100.0/24
- DMZ-Subnet : 192.168.200.0/24
Address spaces : 172.16.0.0/16
- GatewaySubnet : 172.16.0.0/26
- Mgmt-Subnet : 172.16.1.0/24

 

 

 

2. VPN Gateway 생성

Hub-VNET에 VPN Gateway를 만듭니다.

저는 아래와 같이 설정하였습니다.

 

VPN Gateway 생성

 

 

VPN Gateway가 생성되면 Public IP address를 확인합니다.

 

 

 

 

3. RRAS용 Windows VM 생성

Windows Server 2019 VM을 생성합니다.

저는 아래와 같이 설정했습니다만, 동일하게 설정하지 않으셔도 됩니다.

  • Image : Windows Server 2019 Datacenter - Gen2
  • Size : Standard D2as_v4

 

 

 

Virtual network와 Subnet은 아래와 동일하게 설정합니다.

  • Virtual network : OnPrem-NW
  • Subnet : RRAS-Subnet

 

 

 

RRAS VM 생성이 완료되면 VM을 중지합니다. 

VM이 중지되면 IP 주소를 테스트 구성도처럼 지정합니다.

 

RRAS VM

 

 

첫 번째 NIC의 IP 주소를 테스트 구성도처럼 지정합니다. (192.168.100.101)

 

RRAS 첫 번째 NIC

 

 

두 번째 NIC 추가 및 테스트 구성도처럼 IP 주소를 지정합니다. (192.168.200.101)

두 번째 NIC는 DMZ-Subnet에 연결합니다.

 

RRAS 두 번째 NIC

 

 

두 번째 NIC의 IP configurations 메뉴에서 IP forwardingEnabled로 변경합니다.

 

RRAS 두 번째 NIC - IP forwarding Enabled

 

 

RRAS VM을 시작합니다.

 

 

4. RRAS VM Windows 방화벽 중지 및 NSG 설정

RRAS VM의 Windows 방화벽을 중지합니다.

 

Windows Firewall Turn off

 

 

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)

 

RRAS-Subnet의 NSG

 

 

 

5. VPN Gateway 설정

Local Network Gateway와 Connection 리소스를 생성합니다.

 

Local Network Gateway를 생성할 때,

IP address에는 RRAS VM의 Public IP 주소를 입력하고,

Address Space에는 온프레미스 IP 대역을 입력합니다. (192.168.0.0/16)

 

Local network gateway

 

 

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 Manager

 

 

Server Roles에서 Remote Access를 선택합니다.

 

Server Roles - Remote Access

 

 

Role Services에서 DirectAccess and VPN (RAS), Routing을 선택합니다.

 

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'를 클릭합니다.

 

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]

 

Interface name

 

 

Connection Type

  • Connect using virtual private networking(VPN)
  • [Next]

 

Connection Type - Connect using virtual private networking (VPN)

 

 

VPN Type

  • IKEv2
  • [Next]

 

VPN Type - IKEv2

 

 

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]

 

Azure IP 대역 등록

 

 

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')
  • [OK]

 

Preshared key 등록

 

 

*Azure VPN Gateway와 연결합니다.

 

AzureVPNGW 오른쪽 버튼 클릭 - 'Connect'

 

Connect

 

연결 완료 (Connection State가 Connected로 표시됩니다.)

 

 

 

 

VPN Gateway Connection 리소스를 확인해보면, Status가 Connected로 표시됩니다.

(Connected로 표시되기까지 약 3~5분 정도 걸립니다.)

 

 

 

이제 S2S VPN 연결이 완료되었습니다.

 

 

8. 테스트용 VM 생성

네트워크 통신 테스트를 위한 VM들을 온프레미스 네트워크(OnPrem-NW)와 Azure Virtual Network(Hub-VNET)에 생성합니다.

(dmz-svr01, mgmt-vm)

 

 

 

*VM을 생성하는 과정에 대한 설명은 생략합니다.

 

 

 

9. 온프레미스 서브넷에 UDR 설정

*이 부분도 중요합니다.

 

온프레미스(OnPrem-NW)에서 Azure Virtual network(Hub-VNET)의 IP 대역으로 나가는 트래픽이 RRAS를 통과하도록 하기위해 UDR을 사용합니다.

 

Routes에서

  • Address prefix는 Azure IP 대역을 지정하고 (172.16.0.0/16),
  • Next hop type은 'Virtual appliance',
  • Next hop IP address는 RRAS의 두 번째 NIC의 IP 주소를 입력합니다 (192.168.200.101).

UDR을 온프레미스 서브넷(DMZ-Subnet)에 연결합니다.

 

UDR

 

 

10. 네트워크 통신 테스트

테스트를 위해 VM의 Windows 방화벽은 중지합니다.

 

 

 

두 VM 간에 Private IP 주소로 통신이 가능한지 확인해봅니다.

 

 

끝.

728x90
728x90

Azure 가상 네트워크에 Azure Firewall을 배포하고, 가상 네트워크 간 라우팅, DNAT, 네트워크 필터링 규칙을 구성하는 방법을 설명합니다.

아래와 같은 테스트 환경을 구성하고 Azure Firewall을 테스트하였습니다.

  • 허브(Hub) 네트워크에 Azure Firewall을 배치하여 스포크(Spoke) 네트워크 간 라우팅 처리
  • Azure Firewall의 DNAT 규칙으로 인터넷 인바운드 처리
  • Azure Firewall의 네트워크 규칙(Network rule)으로 스포크 네트워크 간 RDP 연결 처리

 

Azure Firewall 테스트 구성도

 

 

위 테스트 환경 구성은 일반적인 허브-스포크(Hub-Spoke) 구성입니다.

허브 네트워크에 Azure VPN Gateway와 Azure Firewall을 배치하고, 온프레미스와는 S2S VPN으로 연결하고, 다른 Azure 가상 네트워크는 Peering으로 연결합니다.

테스트에서는 온프레미스의 Windows Server 2019에 RRAS(Routing and Remote Access Service) 역할을 구성하여 Azure VPN Gateway와 S2S로 연결하였습니다.

 

Windows Server 2019 RRAS

 

 

1. 가상 네트워크 생성 및 Peering으로 연결

Azure에 아래와 같이 3개의 가상 네트워크를 만듭니다.

 

3개의 Virtual network 준비

 

 

허브 네트워크(VNET-Hub)에 VPN Gateway를 배포하고, 온프레미스와 S2S VPN을 연결합니다. (온프레미스와 S2S VPN 연결에 대한 설명은 생략합니다.)

 

VPN Gateway

 

 

허브 네트워크(VNET-Hub)와 스포크 네트워크들(PRD-VNET, DEV-VNET)은 Peering으로 연결하였습니다.

 

VNET Peering

 

 

참고로, Peering 옵션에서 Gateway transit을 사용하도록 설정하였습니다.

 

VPN Gateway transit

 

 

가상 네트워크 구성이 완료된 후 가상 머신을 배포합니다.

 

2. Azure Firewall 배포

허브 네트워크(VNET-Hub)에 Azure Firewall을 배포합니다. Azure Firewall은 AzureFirewallSubnet이라는 이름의 전용 서브넷에 배포되어야 합니다. 서브넷 사이즈는 /26으로 만듭니다.

Azure Firewall 배포

 

Azure Firewall 배포

 

 

Azure Firewall 배포가 완료되면 Azure Firewall의 Private IP 주소를 확인합니다.

 

Azure Firewall - Private IP

 

 

3. 라우팅 테이블 구성 (UDR)

네트워크 간 트래픽이 Azure Firewall을 거치도록 라우팅 테이블을 구성합니다.

 

Azure Firewall - UDR

 

 

스포크 네트워크들(PRD-VNET, DEV-VNET)은 Next hop을 Azure Firewall로 지정합니다.

GatewaySubnet은 Next hop으로  Azure Firewall을 지정합니다.

 

 

4. DNAT 규칙 추가

인터넷에서 PRD-VNET의 WEB VM으로 HTTP (TCP 80) 접속을 허용하는 DNAT 규칙을 Azure Firewall에 추가합니다.

DNAT(Destination NAT) 규칙을 사용하면, 인터넷에서 Azure 가상 네트워크의 VM으로의 직접적인 연결은 차단하고, Azure Firewall의 공인 IP 주소를 통해 Azure VM으로 연결될 수 있도록 구성할 수 있습니다.

 

Azure Firewall DNAT

 

 

우선 Azure Firewall에 Public IP 주소를 하나 추가합니다.

 

Azure Firewall - Add Public IP Address

 

 

Azure Firewall의 Rule - NAT rule collection에 아래와 같이 DNAT 규칙을 추가합니다.

 

Azure Firewall - NAT Rule collection

 

 

브라우저에서 DNAT 규칙의 공인 IP 주소로 접속해봅니다.

 

 

 

 

5. 네트워크 규칙 추가

Azure Firewall에 온프레미스와 Azure PRD, DEV 네트워크간 RDP 연결을 허용하는 규칙을 생성합니다. 

네트워크 규칙(Network rule)으로 Azure VM으로 들어오고 나가는 네트워크 연결을 허용하거나 차단할 수 있습니다.

 

Azure Firewall - Network Rule

 

 

 

Azure Firwall - Rules - Network rule collection에 RDP 허용 규칙을 추가합니다.

 

Azure Firewall - Network Rule collection

 

 

 

OnPrem-PRD

 

 

 

OnPrem-DEV

 

 

 

PRD-DEV

 

 

RDP 허용 규칙 추가 후 각 네트워크 간 RDP 연결이 되는지 확인해봅니다.

온프레미스 -> PRD-VNET의 VM으로 RDP 연결

 

OnPrem to PRD VM

 

 

PRD-VNET의 VM에서 DEV-VNET VM으로 RDP 연결

 

PRD VM to DEV VM

 

 

-끝

728x90

+ Recent posts