Konfigurasi DHCPv6
Sama halnya dengan IPv4, untuk mengonfigurasi DPCPv6 server menggunakan paket isc-dhcp-server
. Install paket tersebut dengan perintah :
sudo apt-get install isc-dhcp-server
Catatan: bahwa ISC DHCP Server hanya dapat melayani IPv4 atau IPv6 saja, artinya Anda harus menjalankan daemon dua kali (untuk IPv6 tambahkan opsi “-6”) untuk mendukung kedua protokol.
Konfigurasi
Buat berkas konfigurasi secara terpisah di /etc/dhcp/dhcp6.conf
yang isinya sebagai berikut :
# mulai berkas konfigurasi /etc/dhcp/dhcp6.conf subnet6 2001:db8:0:f101::/64 { # untuk klien range6 2001:db8:0:f101::1000 2001:db8:0:f101::ffff; #untuk klien temporary range6 2001:db8:0:f101::/64 temporary; } # akhir berkas konfigurasi /etc/dhcp/dhcp6.conf
Menjalankan
Jalankan secara manual untuk mengetahui apakah berkas konfigurasi sudah benar dengan perintah :
samsul@tios:/etc/init.d$ sudo /usr/sbin/dhcpd -6 -d -cf /etc/dhcp/dhcpd6.conf wlan0
Akan nampak keluaran sebagai berikut :
Internet Systems Consortium DHCP Server 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Wrote 0 leases to leases file. Bound to *:547 Listening on Socket/5/wlan0/2001:db8:0:f101::/64 Sending on Socket/5/wlan0/2001:db8:0:f101::/64
Startup Script
Untuk ISC DHCP IPv4 dapat dijalankan dengan perintah :
sudo service isc-dhcp-server start
atau
sudo /etc/init.d/isc-dhcp-server start
Namun, untuk menjalankan IPv6, kita perlu memodifikasi berkas /etc/init.d/isc-dhcp6-server
secara terpisah. Salin berkas startup /etc/init.d/isc-dhcp-server
menjadi /etc/init.d/isc-dhcp6-server
cd /etc/init.d/ sudo cp isc-dhcp-server isc-dhcp6-server
Lalu sunting dengan teks editor favorit :
sudo vim isc-dhcp6-server
Tambahkan opsi -6
seperti yang dimaksud di atas sehingga menjadi sebagai berikut :
#!/bin/sh # # ### BEGIN INIT INFO # Provides: isc-dhcp-server # Required-Start: $remote_fs $network $syslog # Required-Stop: $remote_fs $network $syslog # Should-Start: $local_fs slapd $named # Should-Stop: $local_fs slapd # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: DHCP server # Description: Dynamic Host Configuration Protocol Server ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin test -f /usr/sbin/dhcpd || exit 0 DHCPD_DEFAULT="${DHCPD_DEFAULT:-/etc/default/isc-dhcp-server}" # It is not safe to start if we don't have a default configuration... if [ ! -f "$DHCPD_DEFAULT" ]; then echo "$DHCPD_DEFAULT does not exist! - Aborting..." if [ "$DHCPD_DEFAULT" = "/etc/default/isc-dhcp-server" ]; then echo "Run 'dpkg-reconfigure isc-dhcp-server' to fix the problem." fi exit 0 fi . /lib/lsb/init-functions # Read init script configuration [ -f "$DHCPD_DEFAULT" ] && . "$DHCPD_DEFAULT" NAME=dhcpd DESC="ISC DHCP server" # fallback to default config file DHCPD_CONF=${DHCPD_CONF:-/etc/dhcp/dhcp6.conf} # try to read pid file name from config file, with fallback to /var/run/dhcpd.pid if [ -z "$DHCPD_PID" ]; then DHCPD_PID=$(sed -n -e 's/^[ \t]*pid-file-name[ \t]*"(.*)"[ \t]*;.*$/\1/p' < "$DHCPD_CONF" 2>/dev/null | head -n 1) fi DHCPD_PID="${DHCPD_PID:-/var/run/dhcpd6.pid}" test_config() { if ! /usr/sbin/dhcpd -6 -t $OPTIONS -q -cf "$DHCPD_CONF" > /dev/null 2>&1; then echo "dhcpd self-test failed. Please fix $DHCPD_CONF." echo "The error was: " /usr/sbin/dhcpd -6 -t $OPTIONS -cf "$DHCPD_CONF" exit 1 fi } # single arg is -v for messages, -q for none check_status() { if [ ! -r "$DHCPD_PID" ]; then test "$1" != -v || echo "$NAME is not running." return 3 fi if read pid < "$DHCPD_PID" && ps -p "$pid" > /dev/null 2>&1; then test "$1" != -v || echo "$NAME is running." return 0 else test "$1" != -v || echo "$NAME is not running but $DHCPD_PID exists." return 1 fi } case "$1" in start) test_config log_daemon_msg "Starting $DESC" "$NAME" start-stop-daemon --start --quiet --pidfile "$DHCPD_PID" \ --exec /usr/sbin/dhcpd -- \ -q $OPTIONS -cf "$DHCPD_CONF" -pf "$DHCPD_PID" $INTERFACES sleep 2 if check_status -q; then log_end_msg 0 else log_failure_msg "check syslog for diagnostics." log_end_msg 1 exit 1 fi ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" start-stop-daemon --stop --quiet --pidfile "$DHCPD_PID" log_end_msg $? rm -f "$DHCPD_PID" ;; restart | force-reload) test_config $0 stop sleep 2 $0 start if [ "$?" != "0" ]; then exit 1 fi ;; status) echo -n "Status of $DESC: " check_status -v exit "$?" ;; *) echo "Usage: $0 {start|stop|restart|force-reload|status}" exit 1 esac exit 0
Setelah operasi ini, ISC DHCPv6 dapat dijalankan dengan perintah :
sudo service isc-dhcp6-server start
atau
sudo /etc/init.d/isc-dhcp6-server start