We help IT Professionals succeed at work.

RRAS not giving DHCP addresses via PPTP VPN

Medium Priority
6,119 Views
Last Modified: 2012-05-06
Hi all,

I've got a SBS 2003 server that's started giving me problems recently.  I can connect via PPTP VPN but always get a self-assigned address (169.x.x.x) until I restart RRAS from within the RRAS console.  This started happening 1-2 weeks ago.

A few quick googles didn't yield much but did help me realise that something strange is going on - two processes are running on port 67 (DHCP) on the server (see below).

After I restart RRAS, the SVCHOST PID changes but still is running on port 67 concurrently with DHCP.  Despite two processes listening on port 67, RRAS now gives PPTP clients a valid IP (10.x.x.x)

Any ideas on the cause and fix?

============
netstat output:
============
 
Active Connections
 
  Proto  Local Address          Foreign Address        State           PID
  UDP    10.0.0.8:67            *:*                                    1612
  UDP    10.0.0.8:67            *:*                                    7272
 
 
============
Tasklist output:
============
 
Image Name                     PID Services                                    
========================= ======== ============================================
 
svchost.exe                   1612 AeLookupSvc, BITS, Browser, CryptSvc,       
                                   dmserver, EventSystem, helpsvc,             
                                   lanmanserver, lanmanworkstation, Messenger, 
                                   Netman, Nla, RasMan, RemoteAccess,          
                                   Schedule, seclogon, SENS, ShellHWDetection, 
                                   winmgmt, wuauserv

Open in new window

Comment
Watch Question

CERTIFIED EXPERT
Top Expert 2005

Commented:
Are you running WDS on this server also?

You may want to check DHCP leases next time you encounter this problem - see if the scope is exhausted or there are 10 RRAS leases already.

Normally, RRAS reserves 10 IPs at a time from DHCP for use with the clients that RAS in, when that pool gets near it's capacity, then RRAS will request another block of 10 IPs.  I think you may have a pool exhaustion happening.


Author

Commented:
After a month, the problem finally came back so I could look at things while they were messed up.

It only seems to happen after the server restarts.

A few other symptoms:
*  In DHCP, there are no RAS reservations - whether things are working or not.  This is the first SBS server I've seen with a DHCP Relay Agent configuration. (In RRAS, under IP routing there is General, Static Routing, and DHCP routing entries).

* In RRAS, the Internal interface is Up but has a 169.*.*.* self-assigned address.  After restarting RRAS, it correctly has a 10.0.*.* address.


It looks as though RRAS tries to reserve addresses and can't, then falls back to a 169.*.*.* IP.  Others have suggested changing the boot order of the services (to make sure DHCP starts up first - how do I do this?), checking if a rogue DHCP server is interfering (none as far as I can see), and if the DHCP server is trusted (it is Active Dir authorised).

Any suggestions?
CERTIFIED EXPERT
Top Expert 2005
Commented:
You should use the RRAS service to put in a dependency on DHCP service.

In Services.msc is where you can modify the RRAS service dependencies.  You may need to look at the DHCP server service to find the service name to add as the dependency.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
Thanks for the help - there doesn't appear to be a way to add dependencies via services.msc but I found the microsoft documentation on adding dependencies via the registry which worked.

Author

Commented:
I was able to add a dependency by following the microsoft instructions available here:

http://support.microsoft.com/kb/193888

Instructions:

Backup and open the registry
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Service name>
Add a key of type REG_MULTI_SZ named DependOnService (if it doesn't exist already)
Add the service dependcies, ONE per line

Note: To wait for the DHCP server, add "DHCPServer" not "DHCP" (this is the client)

Changes seem to be instantly reflected in services.msc
CERTIFIED EXPERT
Top Expert 2005

Commented:
Perfect!  Nice work.

Thanks!
NM
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.