Build DNS Server IPV6 dengan DBNDNS di Kimsufi menggunakan OpenVZ Proxmox

Sebelum membangun DNS server IPV6, kita coba persiapkan terlebih dahulu infrastruktur IPV6 di dalam Proxmox. Karena dalam percobaan kali ini menggunakan Proxmox sebagai host, dan OpenVZ sebagai Guest.

  1. OpenVZ dengan IPV4.
  2. OpenVZ dengan IPV6
  3. Install DBNDNS di OpenVZ.

OpenVZ dengan IPV4

install openvz terlebih dahulu dengan create CT via Proxmox. setelah itu setting IPV4 misal dengan 10.10.11.2. setelah openvz ok. setting Host Proxmox agar dapat berkomunikasi dengan Guest OpenVZ. misal kita set ip host proxmox dengan ip 10.10.11.1 di interface venet0.

ifconfig venet0 10.10.11.1 netmask 255.255.255.0

start OpenVZ dengan perintah:

vzctl start OpenVZ_ID

Gunakan perintah vzlist -a untuk melihat OpenVZ_ID

Ping dari Host untuk melihat hasilnya:

root@ipv6:~# ping 10.10.11.2
PING 10.10.11.2 (10.10.11.2) 56(84) bytes of data.
64 bytes from 10.10.11.2: icmp_req=1 ttl=64 time=0.106 ms
64 bytes from 10.10.11.2: icmp_req=2 ttl=64 time=0.067 ms

Ping dari Guest OpenVZ untuk test:

root@ipv6:~# vzctl enter 104
entered into CT 104
root@nsX:/# ping 10.10.10.1
PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.
64 bytes from 10.10.10.1: icmp_req=1 ttl=64 time=0.089 ms

Sampai di sini kita sudah membuat jaringan internal dari Host Proxmox ke Guest OpenVZ atau sebaliknya. Agar Guest OpenVZ dapat ping keluar (internet), maka perlu ditambahkan tabel NAT IPTABLE:

iptables -t nat -A POSTROUTING -s '10.10.11.0/24' -o vmbr0 -j MASQUERADE

bagian ini adalah optional saja, karena kadangkala ada repository yang belum dapat ngreach dari IPV6, maka kita perlu koneksi IPV4. Jika repostory sudah didukung IPV6. skip saja.

OpenVZ dengan IPV6

Tambahkan di /etc/sysctl.conf:

net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.proxy_ndp=1
net.ipv6.bindv6only=1

Reload:

sysctl -p

Untuk menambahkan IPV6 di dalam Guest OpenVZ dari Host Proxmox tinggal ketik perintah:

vzctl set OPENVZ_ID --ipadd 2001:41d0:8:9a2d::d7d7/64 --save

secara default kita akan mendapatkan IPV6 dari Kimsufi sebanyak /64.

Untuk setting DNS Google IPV6 di Guest OpenVZ dari Host Proxmox tinggal ketik:

zctl set OPENVZ_ID --nameserver 2001:4860:4860::8888 --save

Cek Hasilnya, masuk ke kontainer dulu:

root@nsX:/# curl ip.appspot.com;echo   
2001:41d0:8:9a2d::d7d7
root@nsX:/#

Terlihat sudah menggunakan ipv6.

Install DBNDNS di OpenVZ

Kenapa pakai DBNDNS ? . Karena berdasarkan informasi dari http://blog.reimus.ca/how-to-install-tinydns-djbdns-on-linux-debian/ , versi djbdns di debian ada 2 paket, yaitu djbdns yang versi asli original + 3 minor patches dan dbndns yaitu fork dari djbdns + ipv6 support patch.

Sebelum installasi, arahkan dulu repository ke dalam versi sid:

deb http://ftp.debian.org/debian sid main contrib

Install DBNDNS:

apt-get install dbndns

Konfigurasi:

useradd Gtinydns;
useradd Gdnslog;
tinydns-conf Gtinydns Gdnslog /etc/tinydns7 2001:41d0:e:dc4::d7d7

ip 2001:41d0:e:dc4::d7d7 adalah IPV6 yang kita tambahkan tadi.

Create Symlink agar service dapat jalan:

ln -s /etc/tinydns7 /etc/service/tinydns7

check service

root@ipv6:~# svstat /etc/service/tinydns7
/etc/service/tinydns7: up (pid 4421) 70914 seconds
root@ipv6:~#

untuk menambahkan IPV6 lain tinggal ulangi:

dari Host Proxmox

vzctl set OPENVZ_ID --ipadd 2001:41d0:8:9a2d::d8d8/64 --save

dari Guest OpenVZ:

useradd Gtinydns8;
useradd Gdnslog8;
tinydns-conf Gtinydns8 Gdnslog8 /etc/tinydns8 2001:41d0:e:dc4::d8d8
ln -s /etc/tinydns8 /etc/service/tinydns8

sampai di sini sudah selesai. data.cdb dari tinydns bisa ditempatkan di dalam directory /etc/tinydnsX/root/

cek terakhir:

root@ipv6:~# dig host @IPV6_DNS_SERVE

Tambahan

Untuk menambahkan IPV6 di Host Proxmox Kimsufi bisa dengan:

ip -6 addr add YOUR_IPV6_ADDRESS/64 dev vmbr0
ip -6 addr add 2001:41d0:8:9a2d::2/64 dev vmbr0

Karena saya memakai promox, default route sudah otomatis didefine. Alamat route default route di Kimsufi :

XXXX:XXXX:X:XXFF:FF:FF:FF:FF

untuk test, bisa test ping6 ke 2001:41d0:8:9a2d::2 atau lihat route dengan command ip -6 route show

root@ipv6:~# ip -6 route show | grep default
default via 2001:41d0:8:9aff:ff:ff:ff:ff dev vmbr0  metric 1024  mtu 1500 advmss 1440 hoplimit 0
root@ipv6:~#

Referensi:

  1. https://known.phyks.me/2014/getting-ipv6-to-work-with-a-kimsufi-server.
  2. http://mmaton.com/2014/02/ipv6-only-proxmox-ct/
  3. http://blog.reimus.ca/how-to-install-tinydns-djbdns-on-linux-debian/