Difference between revisions of "IPv6 Server: ISC Dynamic Host Configuration Server (dhcpd)"

From OnnoWiki
Jump to navigation Jump to search
(New page: 22.6. ISC Dynamic Host Configuration Server (dhcpd) ISC DHCP supports IPv6 since version 4.x. 22.6.1. Configuration of the ISC DHCP server for IPv6 (dhcpd) Note that currently, the ISC D...)
 
Line 2: Line 2:
  
 
ISC DHCP supports IPv6 since version 4.x.
 
ISC DHCP supports IPv6 since version 4.x.
22.6.1. Configuration of the ISC DHCP server for IPv6 (dhcpd)
+
 
 +
==22.6.1. Configuration of the ISC DHCP server for IPv6 (dhcpd)==
  
 
Note that currently, the ISC DHCP server can only serve IPv4 or IPv6, means you have to start the daemon twice (for IPv6 with option “-6”) to support both protocols.
 
Note that currently, the ISC DHCP server can only serve IPv4 or IPv6, means you have to start the daemon twice (for IPv6 with option “-6”) to support both protocols.
22.6.1.1. Simple configuration
+
 
 +
===22.6.1.1. Simple configuration===
  
 
Create a dedicated configuration file /etc/dhcp/dhcpd6.conf for the IPv6 part of the dhcpd. Note, that the router requires to have a interface configured with an IPv6 address out of the defined subnet.
 
Create a dedicated configuration file /etc/dhcp/dhcpd6.conf for the IPv6 part of the dhcpd. Note, that the router requires to have a interface configured with an IPv6 address out of the defined subnet.
  
default-lease-time 600;
+
default-lease-time 600;
max-lease-time 7200;  
+
max-lease-time 7200;  
log-facility local7;  
+
log-facility local7;  
subnet6 2001:db8:0:1::/64 {
+
subnet6 2001:db8:0:1::/64 {
        # Range for clients
+
        # Range for clients
        range6 2001:db8:0:1::129 2001:db8:0:1::254;
+
        range6 2001:db8:0:1::129 2001:db8:0:1::254;
        # Additional options
+
        # Additional options
        option dhcp6.name-servers fec0:0:0:1::1;
+
        option dhcp6.name-servers fec0:0:0:1::1;
        option dhcp6.domain-search "domain.example";
+
        option dhcp6.domain-search "domain.example";
        # Prefix range for delegation to sub-routers
+
        # Prefix range for delegation to sub-routers
        prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
+
        prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
        # Example for a fixed host address
+
        # Example for a fixed host address
        host specialclient {
+
        host specialclient {
    host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
+
    host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
        fixed-address6 2001:db8:0:1::127;
+
        fixed-address6 2001:db8:0:1::127;
    }  
+
    }  
}  
+
}  
  
 
Note that the “dhcp.client-id” no longer belongs to a MAC address, an unique ID is used instead! “dhcp6c” (see above) uses the file /var/lib/dhcpv6/dhcp6c_duid (would be created during first start, if not existing) as unique identity. It's a 14 byte long identifier, starting with a 2 byte length information (usually “0x000e”):
 
Note that the “dhcp.client-id” no longer belongs to a MAC address, an unique ID is used instead! “dhcp6c” (see above) uses the file /var/lib/dhcpv6/dhcp6c_duid (would be created during first start, if not existing) as unique identity. It's a 14 byte long identifier, starting with a 2 byte length information (usually “0x000e”):
  
# hexdump -e '"%07.7_ax " 1/2 "%04x" " " 14/1 "%02x:" "\n"' /var/lib/dhcpv6/dhcp6c_duid 0000000 000e 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45:
+
# hexdump -e '"%07.7_ax " 1/2 "%04x" " " 14/1 "%02x:" "\n"' /var/lib/dhcpv6/dhcp6c_duid 0000000 000e 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45:
 +
 
 +
==22.6.2. Usage==
  
22.6.2. Usage
+
===22.6.2.1. dhcpd===
22.6.2.1. dhcpd
 
  
 
Start server in foreground:
 
Start server in foreground:
  
# /usr/sbin/dhcpd -6 -f -cf /etc/dhcp/dhcpd.conf eth1  
+
# /usr/sbin/dhcpd -6 -f -cf /etc/dhcp/dhcpd.conf eth1  
Internet Systems Consortium DHCP Server 4.1.0  
+
 
Copyright 2004-2008 Internet Systems Consortium.  
+
Internet Systems Consortium DHCP Server 4.1.0  
All rights reserved.  
+
Copyright 2004-2008 Internet Systems Consortium.  
For info, please visit http://www.isc.org/sw/dhcp/  
+
All rights reserved.  
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file  
+
For info, please visit http://www.isc.org/sw/dhcp/  
Wrote 0 leases to leases file.  
+
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file  
Bound to *:547  
+
Wrote 0 leases to leases file.  
Listening on Socket/5/eth1/2001:db8:0:1::/64  
+
Bound to *:547  
Sending on  Socket/5/eth1/2001:db8:0:1::/64
+
Listening on Socket/5/eth1/2001:db8:0:1::/64  
 +
Sending on  Socket/5/eth1/2001:db8:0:1::/64

Revision as of 14:00, 27 June 2013

22.6. ISC Dynamic Host Configuration Server (dhcpd)

ISC DHCP supports IPv6 since version 4.x.

22.6.1. Configuration of the ISC DHCP server for IPv6 (dhcpd)

Note that currently, the ISC DHCP server can only serve IPv4 or IPv6, means you have to start the daemon twice (for IPv6 with option “-6”) to support both protocols.

22.6.1.1. Simple configuration

Create a dedicated configuration file /etc/dhcp/dhcpd6.conf for the IPv6 part of the dhcpd. Note, that the router requires to have a interface configured with an IPv6 address out of the defined subnet.

default-lease-time 600;
max-lease-time 7200; 
log-facility local7; 
subnet6 2001:db8:0:1::/64 {
        # Range for clients
        range6 2001:db8:0:1::129 2001:db8:0:1::254;
        # Additional options
        option dhcp6.name-servers fec0:0:0:1::1;
        option dhcp6.domain-search "domain.example";
        # Prefix range for delegation to sub-routers
        prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
        # Example for a fixed host address
        host specialclient {
    		host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
        	fixed-address6 2001:db8:0:1::127;
    	} 
} 

Note that the “dhcp.client-id” no longer belongs to a MAC address, an unique ID is used instead! “dhcp6c” (see above) uses the file /var/lib/dhcpv6/dhcp6c_duid (would be created during first start, if not existing) as unique identity. It's a 14 byte long identifier, starting with a 2 byte length information (usually “0x000e”):

# hexdump -e '"%07.7_ax " 1/2 "%04x" " " 14/1 "%02x:" "\n"' /var/lib/dhcpv6/dhcp6c_duid 0000000 000e 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45:

22.6.2. Usage

22.6.2.1. dhcpd

Start server in foreground:

# /usr/sbin/dhcpd -6 -f -cf /etc/dhcp/dhcpd.conf eth1 
Internet Systems Consortium DHCP Server 4.1.0 
Copyright 2004-2008 Internet Systems Consortium. 
All rights reserved. 
For info, please visit http://www.isc.org/sw/dhcp/ 
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file 
Wrote 0 leases to leases file. 
Bound to *:547 
Listening on Socket/5/eth1/2001:db8:0:1::/64 
Sending on   Socket/5/eth1/2001:db8:0:1::/64