IPv6 Server: ISC Dynamic Host Configuration Server (dhcpd)

From OnnoWiki
Jump to navigation Jump to search

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.