Preamble
Procedure
Troubleshooting
General
Client Configuration
Authentication
Windows Server 2003 is the first OS I tried setting up a RAS with. I found it extremely straightforward, it's old enough that finding a copy with bypassed activation is absolutely trivial, and it should run on nearly anything from the last 20 years, so I figure this is a good starting point.
If you're setting up a Windows client to connect to a Windows host, you can just bomb through this document and it should work right away.
Anything that isn't Windows is probably going to run into problems with authentication. Find details about this in the Authentication Setup section below.
RRAS is now enabled, and you'll be able to dial in, but unable to log in until you create a user group and access policy. We'll do the user group first:
You are now ready to receive dialup connections.
You should be able to dial in from another PC using the username and password
you set when you created the users, then access the internet.
You can find logs from RRAS in the Windows Event Viewer. They are of varying quality.
If, for instance, your modems fail to handshake due to
incompatible speeds, you won't see anything in the event log.
If you connect with a client that doesn't have LCP enabled, you'll also see
nothing.
You also won't see anything if you have LCP enabled, but no matching auth
protocols - so if MS-CHAP is enabled on the server but not the client, the
client will just get unceremoniously disconnected and nothing will appear in the
log. It's not great.
For all of these situations and more, you'll have to just go with your gut and play with it until you figure out what the right settings are. Sorry.
Once you clear those hurdles, you'll start getting useful logs. If you have bad creds, or aren't in a valid dialin user group, those things will get logged in the System log and Security log.
By default RRAS listens on all modems that are installed. This can be a pain in the ass if you want to use a modem to receive incoming faxes, or if you want to talk to a modem manually with e.g. Hyperterminal for diagnostics. You can change which modems are in the pool however.
From the Routing and Remote Access management window, right click on Ports and go to Properties. From there you'll see all listening devices, and you can pull up Configure on your modem:
Uncheck "Remote access connections," click OK and then OK on the properties window, and RRAS will let go of the modem.
From the Routing and Remote Access
management window, go to Ports and pull up the properties on
your modem to see the current status.
There are four different statuses I'm aware of: Listening, Authenticating,
Authenticated and Disconnecting
These aren't super informative. The modem will stay in
Listening state through the entire handshake process, and only change
once the two modems are synced.
When it does change, it'll go straight to Authenticating
If you connect with a client that doesn't have compatible auth protocols, among other things, the status will go to Authenticating for just a moment, then flip to Disconnecting and back to Listening. You have to hit Refresh really fast to see this happen, and sometimes it's the only way to really know you have an auth problem.
If you don't know how to configure dialup on Windows, here are the rough steps. They change between versions so I'm just going to give the general notion - they all mostly work like this.
In either case, the dialin window will prompt you to enter creds, and then start the dialing process. You'll know it has successfully handshooken when you see "Authenticating...". The next step is "Logging on to the network," and for me that always seems to take a very long time.
If your client dials up and just works, great. If not, and if it's not a Windows machine, you're very probably facing an issue with authentication.
Auth on PPP is a complicated mess of different implementations that looks dreadfully, insufferably boring and impossible to care about enough to figure out. I will try to bottom line it for you:
First, There are two ways to handle authentication on PPP - interactive login, or LCP authentication.
Interactive login is used almost universally on Unix
systems.
You dial in, get connected, and get a username/password prompt which you have to
log into manually.
After logging in, you run a command that initiates the PPP session. Typically
this is all done by hand.
PPP clients typically have an option to present a terminal after dialup so you
can do these steps by hand. Some can automatically simulate the necessary input.
LCP authentication is used on pretty much everything else.
As soon as your modem connects, a PPP session is initialized, and the client and
host negotiate credentials over a special packet protocol.
A non-Windows client will probably not support LCP authentication by default.
MacPPP, for instance, expects a Unix host by default and will simply connect and
do absolutely nothing.
You have to go into the LCP settings and enable "PAP" - described further below.
If your host is using LCP auth (and Windows does,) you will need to find a compatible auth protocol.
There are a half dozen authentication protocols LCP can use: PAP, CHAP, MS-CHAP, MS-CHAPv2, PEAP...
You will need to figure out what your client is capable of and pick a matching protocol, and you'll certainly need to adjust what Windows will accept, as described below.
When you created the Remote Access Policy earlier, you were forced to select Microsoft's preferred authentication methods. You will now need to change those. This needs to be done in two places.
First, you'll need to fix the access policy. Pull up the Routing and Remote Access admin interface and find the access policy you created:
Pull up the properties on that policy and click Edit Profile, then go to the Authentication tab:
As you can see, the default options are the Microsoft protocols. CHAP and PAP are open standards and either one might work on your client, with PAP being a near guarantee. Enable those and try connecting again. You might need to turn off MS-CHAP to get this to take.
Now you need to update the master RRAS configuration.
Right click on your server in the config window (shown as GRAVIS-2K3 below) and go to Properties
Go to the Security tab and select Authentication Methods. Make the same changes here that you made in the other window, then try reconnecting.
For what it's worth, I can't figure out how to make the Unauthenticated option work.
If this was interesting to you, or if you did something interesting with it, email me: articles@gekk.info
If you like my work, consider tossing me a few bucks. It takes a lot of effort and payment helps me stay motivated.