IPv6 Server: ISC Dynamic Host Configuration Server (dhcpd)
ISC DHCP mendukung IPv6 sejak versi 4.x.
Konfigurasi ISC DHCP server untuk IPv6 (dhcpd)
Sekedar catatan, saat ini, ISC DHCP server hanya dapat memberi layanan IPv4 atau IPv6, artinya jika kita ingin memberikan dua layanan sekaligus, kita harus start daemon dua kali (opsi IPv6 menggunakan “-6”) agar mendukung ke dua protokol.
Install DHCP server
Untuk menginstalasi DHCP 4 Server yang mendukung DHCPv6; install paket isc-dhcp-server :
sudo apt-get install isc-dhcp-server
Selanjutnya, kita perlu mengedit / modifikasi file konfigurasi di /etc/dhcp/dhcpd.conf.
Konfigurasi Sederhana
Agar DHCP server untuk IPv6 dapat berjalan di sistem kita, kita perlu memodifikasi init script di /etc/init.d/isc-dhcp-server:
Ubah di semua tempat dimana dhcpd start dengan menambahkan parameter extra -6; harusnya ada tiga buah. Kita dapat menambahkan parameter tersebut sebelum -t diberikan ke dhcpd.
Jika kita ingin agar ada DHCP untuk IPv4 dan satu untuk IPv6 bersamaan dalam sistem yang sama, maka copy init script orisinil ke file baru, init script orisinil jangan di ubah, dan di file baru kita tambahkan parameter -6.
Untuk mengkonfigurasi DHCP server, kita dapat memodifikasi file konfigurasi di /etc/dhcp/dhcpd.conf. Catat perubahan sintax berikut untuk keyword tertentu.
DHCP v4 keyword DHCP v6 keyword subnet <address/prefix> subnet6 <address/prefix> range <start ip> <end ip> range6 (<start ip> <end ip> | <network/prefix>)
Contoh untuk file konfigurasi khusus /etc/dhcp/dhcpd6.conf untuk bagian IPv6 dari dhcpd. Catatan, router yang digunakan harus mempunyai interface yang di konfigurasi dengan IPv6 address dari subnet tersebut.
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; } }
Catatan bahwa “dhcp.client-id” tidak lagi berupa MAC address, sebuah ID yang unik yang akan digunakan! “dhcp6c” menggunakan file /var/lib/dhcpv6/dhcp6c_duid (akan dibuat saat pertama kali start, jika tidak ada) sebagai identitas yang unik. Ini merupakan identifier sepanjang 14 byte , berawal dengan 2 byte informasi (biasanya “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:
Penggunaan
dhcpd
Start server di 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
ISC DHCP v6 Client
Installing the DHCP client
On most systems, the ISC DHCP client should already be installed. This is true for both standard desktop and server installs.
The ISC DHCP client can be installed with the following command:
sudo apt-get install isc-dhcp-client
You can then use the dhcp client by issuing the following command:
sudo dhclient <iface>
Where <iface> is the network device you want to configure. For example, eth0, or wlan0.
Client configuration
ISC DHCP 4 provides much of the same configuration files and parameters as DHCP 3.
The configuration file used by dhclient is /etc/dhcp/dhclient.conf. Most configuration parameters are the same as in DHCP3 and /etc/dhcp3/dhclient.conf; please refer to man dhclient.conf.
From man dhclient.conf:
The client does not yet have a default DHCPv6 Option Request Option (ORO), nor has it been integrated with the 'request' and 'require' syntax above. It is neccessary to configure an ORO then.
send dhcp6.oro 1, 2, 7, 12, 13, 23, 24, 39;
The above ORO will request both identifiers (server, client), the preference, unicast, nameservers, domain-search, and FQDN(v6) options.