> For the complete documentation index, see [llms.txt](https://talebi.gitbook.io/windows-server/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://talebi.gitbook.io/windows-server/radius-server.md).

# RADIUS Server

Configure Radius Server for VPN on Windows Server.

{% hint style="info" %}
<https://learn.microsoft.com/en-us/windows/win32/nps/ias-radius-authentication-and-accounting>
{% endhint %}

## Overview:

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FupKVpahCqOnK7Al7z0gL%2FRadius.png?alt=media&amp;token=79ee6df1-0bd8-48d9-bc72-e493a98a3bce" alt=""><figcaption></figcaption></figure>

Remote Authentication Dial-In User Service (RADIUS) is a client/server networking protocol that provides centralized authentication, authorization, and accounting (AAA) management for computers that connect and use a network service.

In Windows Server, Network Policy Server is the Microsoft implementation of the RADIUS standard specified by the Internet Engineering Task Force (IETF).

NPS role will install automatically with the installation of Remote Access Service as a prerequisite on Windows Server.

Network Policy Server (NPS) allows you to create and enforce organization-wide network access policies for connection request authentication and authorization.

NPS allows you to centrally configure and manage network access authentication, authorization, and accounting with these three following features:

1. **RADIUS Server:** NPS performs centralized authentication, authorization, and accounting for wireless, remote access dial-up and virtual private network (VPN) connections.
2. **RADIUS-Proxy:** NPS acts as a RADIUS proxy to forward connection requests to a remote NPS or other RADIUS servers for load balancing.
3. **RADIUS accounting**: You can configure NPS to log events to a local log file or to a local or remote instance of Microsoft SQL Server.

In this guide, we will learn the steps to configure the Radius Server on Windows Server 2019. We will configure one NPS as a RADIUS server for VPN connection authentication and authorization

### Test Lab Setup:

Note: For this guide, we will use the virtual test lab created in VirtualBox.

* **WinServer(192.168.10.1):** Domain Controller and DNS Server.
* **RADIUS-Server(192.168.10.20):** Member Server acts as a RADIUS Server.
* **VPN-Server(192.168.10.22):** Standalone Server acts as a VPN Server.

1\. At first, we need to create a new security group in the Active Directory domain (for example, vpnuser1) in which we will need to add all users that will be allowed to authenticate on VPN Server)

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FaolThnesZQ29cApuM12h%2Fimage.png?alt=media&amp;token=1b180ac5-5c50-4db2-9239-1481f10d61b5" alt=""><figcaption></figcaption></figure>

2. Check the users dial-in properties settings.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FVM178U5qYVymwDqREpj4%2Fimage.png?alt=media&amp;token=f76ac6c1-efea-420f-977c-3e9cb9ca8cbc" alt=""><figcaption></figcaption></figure>

## Install NPS server role on Windows Server:

3\. Logon to **RADIUS-Server** server with a **domain administrator** account. **Open Server Manager Console.**

4\. **Click on Manage** and **select Add Role and Features.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2F0EHg654d3ylFjUM2BWeT%2Fimage.png?alt=media&amp;token=048f9017-2e66-40c9-95c6-27a5ed9a3b19" alt=""><figcaption></figcaption></figure>

5\. On the Before you begin page, **click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FqHCZX6kUN82kvh56ZnhV%2Fimage.png?alt=media&amp;token=76162373-767e-42f3-bbd9-1c33a131d85d" alt=""><figcaption></figcaption></figure>

6\. Select **Role-based or feature-based installation** and **click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FLAkAQEU6zDwRhyYAJHHZ%2Fimage.png?alt=media&amp;token=a1a8cb71-42a1-4617-a745-a5cbb2788a60" alt=""><figcaption></figcaption></figure>

7\. **Select a server** from the server pool on which you want to install the Network Policy and Access Service role, **click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FTXlancDhbpFVDrhSJQ9m%2Fimage.png?alt=media&amp;token=90649963-99cb-4b6a-918a-d1a4494b43e5" alt=""><figcaption></figcaption></figure>

<br>

8\. On select server roles page, **select the Network Policy and Access Services checkbox. Click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2Fb5QxCcmcu3LJkeni2hNT%2Fimage.png?alt=media&amp;token=aeb259af-ddf2-4db3-8581-43522e8442c2" alt=""><figcaption></figcaption></figure>

9\. **Click the Add Features** button to add the required feature for NPS. **Click Next** to continue.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FIMY0kjecXsnzv8hl0jSS%2Fimage.png?alt=media&amp;token=5e929ef4-3fa3-4c07-b191-bc568be8dacd" alt=""><figcaption></figcaption></figure>

10\. On select features, **click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FLBzLd5ie1A8jXIt7qvrc%2Fimage.png?alt=media&amp;token=afbf4899-35bc-4b39-902d-b6084efa5edc" alt=""><figcaption></figcaption></figure>

11\. Read overview information about Network Policy and Access Services and **click Next.**

12\. **Click Install** and complete the installation process.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FcyG6x1h3zgPyxnsmsusl%2Fimage.png?alt=media&amp;token=fdbe9d3c-e9e4-41d5-8450-914a479b8690" alt=""><figcaption></figcaption></figure>

## Configure RADIUS Server on Server:

### Step:1 Register NPS Server in Active Directory:

13\. **Click Close** to finish the installation.

14\. After the Network Policy and Access Services role installation is complete, **open the Network Policy Server in the Tools menu.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FNBhGotp6lTviHqKKlaBB%2Fimage.png?alt=media&amp;token=ef705236-ac2d-45a6-89ee-165a9389fecb" alt=""><figcaption></figcaption></figure>

To use the RADIUS server in the Active Directory Domain, we must register it first in the Active Directory.

15\. In the NPS management console, **right-click on NPS** and **select Register server in Active Directory.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FN8Z6royxjVEXyCfHJjRa%2Fimage.png?alt=media&amp;token=bee3a495-1ca8-49df-9787-c9a7bd47deeb" alt=""><figcaption></figcaption></figure>

16\. **Click OK** to confirm the successful registration of the RADIUS server in Active Directory.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FX4x8iaFVp5RP2awc3OFF%2Fimage.png?alt=media&amp;token=971f4e8e-47e0-4cd0-93f2-171e417d619a" alt=""><figcaption></figcaption></figure>

17\. Now the RADIUS server has the authority to read the properties of user accounts related to the remote access. **The RADIUS server will be added to the built-in domain group RAS and IAS Servers.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FwNTZx03QdLkxeOby4egp%2Fimage.png?alt=media&amp;token=09010a40-8522-48e5-b63b-323e36301543" alt=""><figcaption></figcaption></figure>

### Step:2 Add RADIUS Client (VPN) Entry and Create NPS Policies for RADIUS Server:

18\. Under Getting Started, **select RADIUS Server for Dial-Up or VPN Connection** from the drop-down menu. **Click on Configure VPN or Dial-Up link** to add a new RADIUS client.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FOwDmFSwslGE1WWzugfb4%2Fimage.png?alt=media&amp;token=9b39170b-4845-4387-a5b4-cb19a960a89e" alt=""><figcaption></figcaption></figure>

19\. **Select VPN Connections** and **specify a meaningful name**. **Click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2F9DrEA7cASZSwy8Al2zF1%2Fimage.png?alt=media&amp;token=c84e5f1f-52b2-4337-9f31-6654c225a272" alt=""><figcaption></figcaption></figure>

20\. **Click on the Add** button to add remote VPN servers as RADIUS clients.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FLbZp7vJcBNhlgBlim9ju%2Fimage.png?alt=media&amp;token=a61939fb-c191-40be-a13b-8231f92a8f09" alt=""><figcaption></figcaption></figure>

21\. On New Radius Client console, specify the details as mentioned below:

* Friendly Name: To identify the RADIUS client.
* Address: IP Address or FQDN of VPN Server.
* Manual Shared Secret: Type the shared secret password and re-enter to confirm the password.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FpEfFXdcC4YIttF6ubEeX%2Fimage.png?alt=media&amp;token=52511c15-b092-4936-83fc-5ed17c63b0bd" alt=""><figcaption></figcaption></figure>

22\. **Click OK** to save the changes.

23\. Verify Radius client entry and **click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2F5xaTRRvqYeDsLIMuEh1S%2Fimage.png?alt=media&amp;token=1db30c4e-b8e0-41db-ab1d-693710983dfb" alt=""><figcaption></figcaption></figure>

24\. **Select Extensible Authentication Protocol** checkbox and from the drop-down menu **select Microsoft: Secured password (EAP-MSCHAP v2). Click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FEsayVU9PdnJ5IJBv6zGK%2Fimage.png?alt=media&amp;token=bd2929b7-a052-4ae0-a76c-5dd0f33c70c6" alt=""><figcaption></figcaption></figure>

25\. **Click on Add** to specify User Groups as a condition to apply this policy.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2F6LNnKxIHGNb3kZv76PGZ%2Fimage.png?alt=media&amp;token=30e64e93-55cd-44bb-abb9-b90c5b8a84f1" alt=""><figcaption></figcaption></figure>

\
26\. **Add the security group VPN-User. Click on Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2F7XXZNbZRBeMJVhJzWpKM%2Fimage.png?alt=media&amp;token=403705a9-bf4f-4413-9d61-405e1593bd57" alt=""><figcaption></figcaption></figure>

27\. On Specify IP Filters console, **click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FcCorZLyOoOBbVHlVGWQM%2Fimage.png?alt=media&amp;token=155bb459-e8c3-462b-8937-fadf1973bc80" alt=""><figcaption></figcaption></figure>

28\. Choose the **Strongest encryption (128 bit)** and **click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FYmzVc0YIrKAsLu7CAeL3%2Fimage.png?alt=media&amp;token=c6316d23-b25a-4b82-921e-9ba15d33e070" alt=""><figcaption></figcaption></figure>

29\. **Click Next.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FpykRFvoVLnYzsnh3FbqF%2Fimage.png?alt=media&amp;token=6f006bdc-a2a6-4dad-aeba-c3cf936180ed" alt=""><figcaption></figcaption></figure>

30\. **Click Finish** to add create NPS Policies on the RADIUS Server.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FFDwapi9yDwYHIrONW53n%2Fimage.png?alt=media&amp;token=7c7897f7-6c52-44d6-935c-a4e3680ad03e" alt=""><figcaption></figcaption></figure>

### Step:3 Configure RADIUS Server Settings on VPN Server:

After creating the NPS policy, we can proceed to configure our VPN server for authentication on the newly installed RADIUS NPS server.

Already we have configured the VPN server role on Windows Server.

31\. On VPN Server, open Server Manager Console. **Click on Tools and select Routing and Remote Access.**

32\. Right-click on the server name and **select Properties.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2F6K5THaiYudZWq9o65F17%2Fimage.png?alt=media&amp;token=6be01c13-6a15-41e7-8de3-7d6caf88b205" alt=""><figcaption></figcaption></figure>

33\. **Click on Security Tab**. Under the Authentication provider, **select RADIUS authentication** and then **click on Configure.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FSS3OHwbZlrqtvsjBWn9L%2Fimage.png?alt=media&amp;token=7d655666-5616-41e0-b705-38261cda0059" alt=""><figcaption></figcaption></figure>

34\. **Click Add.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FRQMQnlvMsdEKqLADZA6y%2Fimage.png?alt=media&amp;token=aae4614f-73af-4600-9642-af321d533075" alt=""><figcaption></figcaption></figure>

35\. **Specify RADIUS Server IP Address**. **Click on Change**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2Fvf4RPf928eZt4N7QUdNT%2Fimage.png?alt=media&amp;token=b2e501a3-c844-4e6d-ba9f-1e09105ffeaf" alt=""><figcaption></figcaption></figure>

36\. **Specify Shared Secret password** (which we have specified during adding radius client). **Click OK.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FnvVedG1MkB4mBIuulSLp%2Fimage.png?alt=media&amp;token=c0347e89-e9f7-4e6f-b7ee-a0d41335ba75" alt=""><figcaption></figcaption></figure>

37\. **Click OK.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2Ffs2ZROekZSXJssTYTVx9%2Fimage.png?alt=media&amp;token=285c0365-8eb2-4f07-8356-97eb7023abf6" alt=""><figcaption></figcaption></figure>

38\. **Click OK.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FhfvKuzbLCph0QBzuRxNM%2Fimage.png?alt=media&amp;token=67dc5289-43ef-4307-b5ea-41c2667f7ef8" alt=""><figcaption></figcaption></figure>

\
39\. Under the Accounting provider, select RADIUS Accounting and then click on **Configure.**

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2FRgPHOv02OTN0nAXVQHgL%2Fimage.png?alt=media&amp;token=94e68b92-e554-4a33-b913-3787f0d892a0" alt=""><figcaption></figcaption></figure>

40\. Follow the same steps again to specify the RADIUS Server IP Address and Shared Secret password.

41\. **Click on Apply** and **OK** to save the changes.

<figure><img src="https://2438328698-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPf7CIJDZ869PqrsNNvPr%2Fuploads%2F0oo2RSl8LTt5F5ghfxTB%2Fimage.png?alt=media&amp;token=391d51da-e57a-435f-9ced-cbb93851b7f5" alt=""><figcaption></figcaption></figure>

Now our VPN server can use Windows Server NPS RADIUS server for authentication and accounting without any issue.

That completes the steps on how to configure NPS RADIUS Server for VPN Authentication on Windows Server.

Now, go on windows 10 and create a VPN connection:

connection Name: myvpn

Server Name: 192.168.10.22

Save the connection and click on connect. once you've connected enter your credential and then you should be connected to the VPN.
