HELIOS Base UB64 User manual (Version 4.0.0)  
 

12 DHCP server

Each client on the network needs a unique IP address, and there are three ways to obtain this address:

The HELIOS Admin DHCP tab in the Server Settings menu is used to configure the HELIOS DHCP server. The DHCP server allocates IP addresses dynamically. This avoids configuring each client individually with a manually assigned IP address. You need to configure a DHCP server whether you want to automatically allocate static or dynamic IP addresses.

Information that the HELIOS DHCP server provides for clients:

12.1 HELIOS DHCP server

Primary DHCP server

The DHCP tab shows details on the interface name and address, the subnet mask, the gateway to be used by a DHCP client, etc. (Fig. 12.1).

DHCP range without dynamic DNS update

Fig. 12.1: DHCP range without dynamic DNS update

hsymInstruction

First choose Primary from the DHCP Server pull-down menu. Then click the Add... button and fill in a range of IP addresses to be set aside for dynamic allocation.

You can assign several ranges if needed, but make sure they do not overlap. You may also choose another host interface and assign a range on that, too. The range you specify is checked for plausibility, and if the range spans the host interface itself, it will be split automatically into two ranges.

In “HELIOSDIR/var/conf/ethers.pcs” the server stores the configuration and for each client the Ethernet address, the IP address, the workstation name, and the date of usage in order to assign the same IP address on the next DHCP request.

Secondary DHCP server

If your network has more than one HELIOS server, you may optionally configure a backup DHCP server, to guarantee network availability if the main DHCP server is down for any reason. The secondary DHCP server automatically adopts the configuration file “ethers.pcs” from the primary DHCP server. In case the primary DHCP server is down for more than 20 seconds, the secondary DHCP server takes over the DHCP service until the primary DHCP server is available again (which can take up to 10 minutes).

hsymInstruction

Start HELIOS Admin and connect to the host you wish to configure as secondary DHCP server. This is because the secondary DHCP server configuration file must be stored on the secondary host and not on the primary.

hsymInstruction

Choose Secondary from the DHCP Server pull-down menu and enter the name of the primary DHCP server in the Primary Server field.

Fig. 12.2 shows the secondary DHCP server “turtle” configured as a backup for the primary DHCP server “ankh”.

Note:

The secondary DHCP server will automatically inherit the ranges and already assigned addresses from “ethers.pcs”. However, preferences, e.g. gateway (see 19.13 “DHCP server and WINS preference keys”) must be set manually for the secondary DHCP server.

DHCP – Secondary DHCP server

Fig. 12.2: DHCP – Secondary DHCP server

Disable DHCP server
hsymInstruction

Select a host interface and choose Disabled from the DHCP Server pull-down menu to disable the servicing of client boot requests on the specified interface.

It is recommended to do this if your DHCP server has more than one interface, and one of them should not be used.

Note:

If your network has two or more hosts that are also DHCP server and use NIS, we recommend that you enable servicing of boot requests on the interfaces of one host, and disable them on all other hosts. Otherwise, all hosts will answer boot requests for clients which are configured statically in “/var/yp/hosts” and “/var/yp/ethers” (or equivalent).

12.2 DHCP with dynamic DNS update

12.2.1 Dynamic DNS update

Note:

See also 12.3 “Configuring IP address and host name for HELIOS clients”.

This feature requires a DNS server with at least BIND version 8 and on the DHCP server a BIND 8 compatible DNS client installation, and the “nsupdate” (or similar) application. Most OS vendors provide a BIND of version 8 or newer with their current OS implementation. Check with your hardware/operating system vendor for OS requirements and availability of BIND 8.

With the above requirements met, DHCP supports dynamic DNS update according to RFC 2136, and secure DNS according to RFC 2137.

Note:

BIND 8 prior to 8.2 includes support for dynamic DNS as specified in RFC 2136 but does currently not include the authentication mechanism described in RFC 2137. As a result, any update requests received from allowed hosts will be accepted.

A DHCP TCP/IP address range can be specified in the DHCP tab in the HELIOS Admin Server Settings dialog (Fig. 12.3). The DHCP clients will receive this TCP/IP configuration including IP address, subnet mask, router, WINS and DNS server address. This enables the client to be a fully configured TCP/IP citizen, to connect to the server and use other TCP/IP services.

A ping on the DHCP client shows that it is alive (e.g. ping 172.16.2.28). A DNS lookup (e.g. ping mac-mike.dyn.helios.de) will only work if the client TCP/IP address has an entry in the DNS server configuration. The DHCP server can automatically update the DNS server with the host names of DHCP clients. The DNS configuration is dynamically updated every time the DHCP server provides its configuration to a client (e.g. Mac or Windows clients).

DHCP range with dynamic DNS update

Fig. 12.3: DHCP range with dynamic DNS update

12.2.2 DNS domain configuration

It is required to specify the DNS domain in which the DHCP name should be configured (e.g. “dyn.helios.de”). The DHCP client name will be used for DNS configuration. A DNS reverse lookup would be e.g.: mac-mike.dyn.helios.de.

Note:

To avoid a simple DHCP client from overwriting your DNS configuration by setting the client workstation name e.g. to “ftp”, which means it will update the DNS setting of “ftp.helios.de” to the client IP address, we recommend to specify a unique domain for dynamic DNS clients. In our example we configure the dynamic DNS update name to “dyn.helios.de” which would register the client as “mac-mike.dyn.helios.de”.

12.2.3 DNS server must allow remote updates

The DNS server can run on the same machine as HELIOS, or on a different server on the network. By default, the DNS server will deny all remote DNS updates for security reasons. It is required to allow the DNS server to accept remote updates which are initiated by the HELIOS DHCP server. Using a UNIX based DNS server, the “/etc/named.conf” configuration file needs an entry (see below) to allow the DHCP server to update DNS entries. Provided our HELIOS DHCP server has the IP address “172.16.0.1” the additional “named.conf” configuration would be:

zone "dyn.helios.de" { 
type master; 
file "heliosdyn.data"; 
allow-update { localhost; 172.16.0.1; }; 
};

Please consult your DNS administrator for help on the DNS configuration.

12.2.4 Client host names

On Windows and Mac clients the DHCP request contains the workstation name, which is used to register the DNS workstation name, e.g. “mac-mike” will be registered as “mac-mike.dyn.helios.de”.

OS X

On OS X the computer name is configured in the Computer Name field, in the system preferences “Sharing” section (Fig. 12.4).

OS X: <code>Computer Name</code> in the “Sharing” dialog

Fig. 12.4: OS X: Computer Name in the “Sharing” dialog

Windows

On Windows computers the workstation name is configured in the system properties (Fig. 12.5).

Windows: Computer name in the system properties

Fig. 12.5: Windows: Computer name in the system properties

If two DHCP clients are using the same name, only the last DNS entry will be valid. There is no warning for duplicate names. To allow successful dynamic DNS updates the workstation name should only contain digits 0-9 and ASCII characters. Special characters like umlauts, spaces, or underlines may not work correctly.

The HELIOS DHCP configuration file “ethers.pcs” will contain a list of the assigned MAC address and TCP/IP address, including the workstation names, e.g.:
0:3:93:da:44:8a 172.16.3.161-ibook Fri Dec 18 04:00:47.

When using a primary and secondary HELIOS DHCP server, make sure that the BIND requirements for dynamic DNS, which have been described before in 12.2.1 “Dynamic DNS update”, are also available on the secondary DHCP server. Otherwise it will not be able to update dynamic DNS.

12.3 Configuring IP address and host name for HELIOS clients

In TCP/IP networks it is essential to have a unique IP address for each TCP/IP node on the network. Thus each HELIOS client needs a unique address. If the network is connected externally to the internet, each IP address must be unique worldwide too, and must be assigned by the appropriate regulatory authority.

Furthermore, in the case of Ethernet, each network card has a hardware address which must be unique for each local network segment. This is taken care of automatically, usually by the network card manufacturer.

It is common to assign each TCP/IP node a name (the name is easier to remember than the IP address). Information on host name, IP address and Ethernet address of each service is typically stored in the following UNIX system files.

Important:

If you modify entries in the files “ethers” or “bootptab” manually, you must run the command srvutil reconf dhcpsrv. Otherwise the changes will not be recognized by the server!

Each client in the HELIOS network needs a unique IP address, and there are three ways – apart from local configuration – that it can get this:

a) – static “ethers” configuration

Client IP addresses are allocated by manually editing the appropriate UNIX system files (“/etc/ethers” and “/etc/hosts” or their NIS equivalent). See your UNIX documentation for details.

b) – static “bootptab” configuration

Client IP addresses are allocated by manually editing the appropriate UNIX system files (“/etc/bootptab” and “/etc/hosts” or their NIS equivalent). See your UNIX documentation for details.

c) – dynamic allocation

Client IP addresses are allocated by “dhcpsrv” and stored in “HELIOSDIR/​var/​conf/​ethers.pcs” on the host. This method, called dynamic address allocation, is less work for the system administrator, especially in large networks.

All methods require that you configure a HELIOS DHCP server on your HELIOS host. Configuration is best done in the DHCP tab in HELIOS Admin Server Settings menu.

It is also possible to use a combination of all three methods on the same network. The HELIOS client sends a DHCP request to hosts on the same network segment to get an IP address. If a HELIOS server receives this DHCP request, and if it is configured as DHCP server, it first checks the appropriate UNIX system files for the client’s IP address, and then looks for an entry in “var/conf/ethers.pcs”. An address is assigned automatically if its Ethernet address is not already listed in either of these two places. The assigned address is then appended as a new entry in the “ethers.pcs” file to make sure that the client gets the same address in the future, too.

Important:

Make sure not to use overlapping IP ranges, e.g. when using a combination of all three methods because this would lead to severe IP address allocation malfunctions!

“ethers.pcs” documents the relationship between network hardware address and IP address for dynamically assigned client IP addresses, together with the date of last change for each entry. It is automatically updated by the DHCP server – whenever a client connects to the server for the first time, it is assigned a new unique IP address if it does not already have one in this file (or by methods a) or b) in “/etc/hosts”, “/etc/ethers” and “/etc/bootptab”).

“ethers.pcs” also contains information on a range of IP addresses which have been set aside by the system administrator for dynamic allocation.

Furthermore, a mechanism is provided to age entries which have not been used for a specified period of time, i.e. to delete them from this file automatically. For example, aging will occur if the client is no longer used for server access or if you initially allow the client’s IP address to be assigned dynamically, and then add an entry for the client to the standard host system files. For more details, see the preference dynage in 19.13 “DHCP server and WINS preference keys”.

If you delete client entries from “ethers.pcs” manually, dynamically configured clients will be assigned a new IP address automatically, but it may be different from the one before.

Example:

“ethers.pcs” for a primary DHCP server:

Primary:	172.16.2.1-172.16.3.254 dyn.helios.de 
# 
#MAC addr.      internet addr.  last change date 
# 
2:60:8c:2:ad:6c 172.16.3.36     Sat Dec 19 18:20:51 
0:0:6b:81:39:12 172.16.3.37     Fri Dec 18 15:00:33 
9:0:7:ff:ff:ff  173.16.3.43-pc  Fri Dec 18 15:00:43 
. 
.

A secondary DHCP server entry in “ethers.pcs” could look like:

Secondary: 172.16.0.1 
Range: 172.16.2.1-172.16.3.254 
...

In this example, one IP address range has been set aside by the system administrator for dynamic allocation. If the HELIOS host has more than one network interface, the interfaces to be used for servicing client boot requests are determined automatically from the specified range(s).

One additional piece of information must also be configured if you want to use dynamic allocation:

You should list all gateways (if there is more than one) on your network with the gateway preference or just use HELIOS Admin to configure the gateways.

12.3.1 License terms for a secondary DHCP server

Any HELIOS installed file server product allows setting up a secondary DHCP server. It is permitted to use a secondary DHCP server with the same amount of users as licensed for the primary DHCP server. For example, a 5 user base product can be a secondary DHCP server for a 100 user main DHCP server.

12.4 DHCP server service port

The HELIOS DHCP server service port is 2027.

It can be used on a primary HELIOS DHCP server to show info about the current configuration and also to update the “ethers.pcs” file on-the-fly. A secondary DHCP server will learn changed information from the primary DHCP server as described in 12.1 “HELIOS DHCP server” above.

hsymInstruction

Issue the command socket localhost 2027, type help for the command overview, help [cmd] to get more help about a specific command, and quit to leave.

Note:

By default, the DHCP server service port can only be reached from localhost. See RemoteAccess in 19.13 “DHCP server and WINS preference keys”.

status

Show global status and configuration information.

Example:
-> status
status: Mon Apr 27 09:29:40 2015, uptime: 53 minutes.
'en0', 'lo0', 2 interfaces
[Preference] DNS: (not set)
 +[resolve.conf] en0: 172.16.0.1
 +[resolve.conf] lo0: 172.16.0.1
[Preference] gateway: (not set)
[Preference] scope ID: (not set)
[ethers.pcs] file modification: Mon Apr 27 09:20:54 2015
[ethers.pcs]       last change: Mon Apr 27 09:34:39 2015
Note:

The WINS server preference scopeid is used from the PCShare server. For details see the HELIOS PCShare manual.

addether <macaddr> <network>

Add a free IP address for the passed combination of hardware address <macaddr> and network address <netaddr>.

Note:

IP address allocation follows the same rules as a DHCP client IP address allocation.

Example:
$ /usr/local/helios/bin/socket localhost 2027 
dhcpsrv 1.0.5, started: Thu Oct 9 10:04:42 2014 
-> addether 22:22:22:22:22:22 172.16.3.0 
172.16.3.128 has been added.
setname <hostname> <addr>

Sets the <hostname> for IP address <addr> so that the client that receives the IP address <addr> during bootup will also receive a resolvable host name. The IP address must already be available to the DHCP server process, e.g. either listed in “HELIOSDIR/var/​conf/​ethers.pcs” or added before, by using the “addether” command. The host name must only contain digits 0-9, and characters a-z, A-Z, and the hyphen “-”.

Example:
setname pc-mike 172.16.3.128
delete <addr>

Deletes an entry for passed IP address <addr>.

Example:
-> delete 172.16.3.254
if

Shows info for all detected interfaces, with information on their name, addr (IP address), netmask, broadcast (IP address), network (IP address), and status.

Example
 (shortened to not exceed page width):
-> if 
-- name --|...|-- broadcast --|- network --|-- status -- 
 2:eth0    ... 172.16.3.255    172.16.0.0   IFS_primary 
 1:lo      ... 0.0.0.0         127.0.0.0    IFS_disabled
ranges

Shows info for all defined ranges and their assigned IP addresses.

Example:
-> ranges 
primary: detected 1 range 
range 'eth0' 172.16.2.1 -> 172.16.3.254 
172.16.3.250     00:00:c0:ba:d8:28 pc-krabappel 
172.16.3.182     00:68:fa:a5:ff:19 pc-skinner 
172.16.3.235     00:19:c5:7b:de:ad mac-chalmers 
172.16.3.228     00:05:02:9d:7h:g3 mac-hoover 
4 entries
flush

Writes all configuration information immediately to the configuration file “ethers.pcs”.

Example:
-> flush 
last update: Thu Oct 11 11:22:02 2007 
 updated to: Thu Oct 11 11:35:46 2007.
update

If the DHCP server is configured as secondary (backup) DHCP server, this command immediately updates the configuration information from the primary DHCP server.

12.5 Duplicate HELIOS DHCP check

The HELIOS DHCP server registers its DHCP service via mDNS (“Bonjour”) on each activated DHCP interface. If a duplicate DHCP server is detected that is also registered via mDNS, the “detecting” HELIOS DHCP server will become inactive.


HELIOS Website © 2015 HELIOS Software GmbH  
HELIOS Manuals February 6, 2019