DHCP Auto-Auth

From StarOS Community Wiki
Jump to: navigation, search

udhcpd/DHCP Auto-Auth is very basic, there is little to do.

Configuring udhcpd/DHCP Auto-Auth[edit]

Configuration[edit]

In the StarOS configuration menu system, go to:

interfaces --> {interface you want to run DHCP services on} --> dhcp auto-auth configuration --> configuration

In this configuration dialog you will find:

  • Default gateway
  • Subnet mask
  • Primary DNS
  • Secondary DNS
  • Lease Duration (see Caveats)
  • IP Address Range

You need to set these options as appropriate for the IP addresses you are handing out via DHCP on this interface. The default gateway would almost always be the IP of your interface (your StarV3 system is very likely meant to be the default gateway).

Subnet mask, Primary DNS, Secondary DNS are basic IP configuration settings needed for clients to use The Internet. IP Address Range would be the first and last IP addresses of the pool of IPs you will hand out via DHCP.

Enabling udhcpd/DHCP Auto-Auth[edit]

Once you've configured everything in the configuration dialog, go to:

interfaces --> {interface you want to run DHCP services on} --> interface features --> enable dhcp auto-auth

This will turn udhcpd on and if you hit F9 (or advanced --> display system log) you should see a log entry that indicates udhcpd has started.

Caveats[edit]

WinXP Known Problem with udhcpd[edit]

If you are running udhcpd/DHCP Auto-Auth as your DHCP service directly for WinXP clients, they may fail to renew their DHCP lease once it expires, which will result in a short interruption in their connectivity as they unbind their IP address and start the DHCP process over from the beginning.

I recommend setting the lease duration to at least one day (86400 seconds) to minimize the impact of this hassle.

Side Note[edit]

The above renewal issue isn't exclusive to Windows XP, it is evident in other versions of other OS's as well but is usually handled better. When you configure udhcpd be sure to change the 'Lease Duration' to something that is evenly dividable by 60, you want an integer as a result and not a float/double; Windows XP's dhcp client is known to get confused when it parses a lease time and there is a remainder.

In general, dhcp clients, when they get a valid lease, divide that lease by 2 and then attempt to update/renew that lease at half of the lease duration. Here is a bad example and a good example:

Bad Example (will confuse strict dhcp clients such as Windows XP)
Lease duration 1900 (seconds)
Lease time 31.666666666666666666666666666667 (minutes) **float, not integer.. this will break some dhcp clients
Renewal time 950 seconds (15.833333333333333333333333333333 minutes) **float, not integer.. this will break some dhcp clients

Good Example (all dhcp clients should be happy)
Lease duration 1800 (seconds)
Lease time 30 (minutes) **integer, should be compliant with all dhcp clients
Renewal time 900 seconds (15 minutes) **integer, should be compliant with all dhcp clients