First off a few words of thanks / reference:
- Most of this is based on the information presented in:
- Will deserves credit for tweaking the settings to finally get it working.
I presume you know what you’re doing and why you need this. And I also presume you have a working WPA2 Personal wireless access point running DD-WRT – if you’re running something else this howto will still be useful but you will need to adjust the DD-WRT specifics.
Now on with the show:
Install the Network Policy and Access Services role with it’s Network Policy Server service.
Create a certificate for RADIUS (hint: MMC is available already on Server 2008 R2 – Start -> Run: MMC) by opening MMC and adding the Certificates snap-in for a Computer Account on the Local Computer and then Requesting a new certificate (see image).
When you are creating your certificate it needs to be for a Computer.
If "Computer" is not available under Active Directory Enrollment Policy then you will need to grant the Enrol privilege to the machine you are requesting the certificate on. If you have multiple sites with a DC at each site (that will be doing RADIUS authentication) just grant the Domain Controllers group the Enrol privilege. You have to do this from Server Manager on the server that has ADCS installed.
Back to requesting the certificate. Click the details button and then properties: fill in any information you want for the certificate. At the very least give your certificate a Friendly Name so you can recognise it later.
When you’re ready click the Enrol button. You should now see your new certificate listed in the Certificates folder in the Certificates snap-in. Close the MMC now – save if you want.
Startup the Network Policy Server (either standalone or through Server Manager).
Register NPS in Active Directory.
First we’ll create a RADIUS Client (this is your DD-WRT AP). The guides I referenced above suggest using the wizard now… you can do that but it didn’t fully work for me – some of the policies had to be removed.
The settings for your RADIUS Client are fairly straight forward just make sure you keep a copy of your shared secret for later on (especially if you use the generate function).
Now we need to update the default Connection Request Policy (I chose to adapt the default as it suited me well; you could duplicate and disable or start from scratch it’s up to you). The default policy essentially allows anyone to attempt local authentication 24/7. I changed the policy in two areas: firstly the name and secondly the time and days (i.e. turn off weekend access).
You should not need to change ANYTHING on the Settings tab. But make sure that under Authentication the Authenticate requests on this server option is selected.
Next create a new Network Policy:
- Give your policy a name.
- Type of network access server: Unspecified.
- Conditions: Whatever you want! Seriously there are plenty of options here.
My implementation called for two groups (i.e. AD Security Groups): one for Users with access to wireless and another for Computers that may connect wirelessly. I have two groups due to other group policy design considerations you could achieve the same thing with one group. Or you could list users with wireless access here. Or IP addresses. Or… as stated before there are plenty of options. It is worth noting here that ALL conditions must be met so I would suggest you use Windows Groups if you want an "in either" implementation – it does NOT make sense to use both Machine and User groups in the same policy (unless you have users that should not have wireless access, logging on to a machine, that can be used wirelessly, and has other users logging on that should have wireless access… in other words keep it simple!).
Remember if you are logging in over wireless it will help if your computers can join the network before the user logs in (i.e. make sure KNOWN wireless computers are granted access here).
There is one essential condition: NAS Port Type! You only want Wireless clients right?
- Generally speaking you’ll want: Access granted. It’s all I’m covering too.
- EAP Types:
- Click Add: Choose "Microsoft: Protected EAP (PEAP)"
- Select the added entry click Edit.
- Nominate the certificate you created above (see the Friendly Name).
- You’ll also want to enable fast reconnect and have "Secured Password (EAP-MSCHAP v2)" under Eap Types.
- Leave the Less secure authentication methods enabled (change it later once it’s working – or leave it to support older/other clients).
- Constraints: I left all defaults as I covered everything with Conditions already. What’s the difference? Conditions determine if the policy should be used; Constraints grant/deny access. For my limited restrictions they are essentially the same thing.
Settings: More choices for you to make! Two things you definately must do:
- Delete: Framed-Protocol PPP.
- Encryption: Choose what you want – I only have strongest enabled.
- Check your settings and click Finish.
- At this stage you should restart the Network Policy Server service.
It’s time to configure DD-WRT browse to: Wireless -> Wireless Security.
And that’s it!
Well ok not really now you should test! You can find the NPS log files in %WINDIR%\System32\LogFiles\IN*.txt – configured correctly the old IAS Log Viewer can read the files. But be warned the LogFiles folder doesn’t show up in a file tree (you’ll have to type).
Once you are confident your clients and users can authenticate properly you should consider using group policy to deploy the wireless profile.