Masalah di Server DNS IDNIC
Saya melihat ada beberapa masalah di server DNS yang digunakan oleh IDNIC. Masalah tersebut adalah bahwa beberapa server DNS tidak authoritative. Tidak authoritative artinya tidak mengaku sebagai server DNS dari domain IDNIC. Berikut adalah hasil analisis saya terhadap DNS server IDNIC.
Pertama-tama saya mulai melakukan query ke root servers. Seperti biasa, baris yang diawali oleh $ adalah perintah yang saya ketik pada shell UNIX.
<strong>$ dig ns id @a.root-servers.net</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 5270
;; flags: qr rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 4
;; ANSWER SECTION:
id. 172800 IN NS NS2.id.
id. 172800 IN NS SEC3.APNIC.NET.
id. 172800 IN NS NS1.id.
;; ADDITIONAL SECTION:
NS2.id. 172800 IN A 202.153.134.52
SEC3.APNIC.NET. 172800 IN AAAA 2001:dc0:1:0:4777::140
SEC3.APNIC.NET. 172800 IN A 202.12.28.140
NS1.id. 172800 IN A 202.155.30.227
Hasil tersebut menunjukkan bahwa domain .id ditangani oleh ns2.id, sec3.apnic.net dan ns1.id. Kemudian selanjutnya saya melakukan query ke ketiga DNS server tersebut:
<strong>$ dig ns id @ns2.id</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 52036
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 0, ADDITIONAL: 8
;; ANSWER SECTION:
id. 13300 IN NS ns.uu.net.
id. 13300 IN NS ns1.id.
id. 13300 IN NS ns1.rad.net.id.
id. 13300 IN NS ns1.indo.net.id.
id. 13300 IN NS ns2.id.
id. 13300 IN NS sec3.apnic.net.
id. 13300 IN NS auth02.ns.uu.net.
id. 13300 IN NS ns.ac.id.
id. 13300 IN NS ns.eu.net.
;; ADDITIONAL SECTION:
ns.ac.id. 13300 IN A 202.159.124.34
ns.ac.id. 13300 IN A 202.153.134.11
ns.eu.net. 155512 IN A 192.16.202.11
ns.uu.net. 169953 IN A 137.39.1.3
ns1.id. 13300 IN A 202.155.30.227
ns1.rad.net.id. 150 IN A 202.154.1.2
ns1.indo.net.id. 3859 IN A 202.159.32.2
ns2.id. 13300 IN A 202.153.134.52
<strong>$ dig ns id @ns1.id</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 64905
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 0, ADDITIONAL: 9
;; ANSWER SECTION:
id. 13300 IN NS ns1.id.
id. 13300 IN NS ns1.rad.net.id.
id. 13300 IN NS ns1.indo.net.id.
id. 13300 IN NS ns2.id.
id. 13300 IN NS sec3.apnic.net.
id. 13300 IN NS auth02.ns.uu.net.
id. 13300 IN NS ns.ac.id.
id. 13300 IN NS ns.eu.net.
id. 13300 IN NS ns.uu.net.
;; ADDITIONAL SECTION:
ns.ac.id. 13300 IN A 202.153.134.11
ns.ac.id. 13300 IN A 202.159.124.34
ns.uu.net. 171428 IN A 137.39.1.3
ns1.id. 13300 IN A 202.155.30.227
ns1.rad.net.id. 3600 IN A 202.154.1.2
ns1.indo.net.id. 7200 IN A 202.159.32.2
ns2.id. 13300 IN A 202.153.134.52
sec3.apnic.net. 672 IN A 202.12.28.140
sec3.apnic.net. 3487 IN AAAA 2001:dc0:1:0:4777::140
<strong>$ dig ns id @sec3.apnic.net</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 15113
;; flags: qr aa rd; QUERY: 1, ANSWER: 9, AUTHORITY: 0, ADDITIONAL: 0
;; ANSWER SECTION:
id. 13300 IN NS ns.uu.net.
id. 13300 IN NS ns1.id.
id. 13300 IN NS ns1.rad.net.id.
id. 13300 IN NS ns1.indo.net.id.
id. 13300 IN NS ns2.id.
id. 13300 IN NS sec3.apnic.net.
id. 13300 IN NS auth02.ns.uu.net.
id. 13300 IN NS ns.ac.id.
id. 13300 IN NS ns.eu.net.
Tampak bahwa query ke ketiga nameservers tersebut menghasilkan beberapa tambahan nameservers, yaitu ns.uu.net, ns1.rad.net.id, ns1.indo.net.id, auth02.ns.uu.net, ns.ac.id, dan ns.eu.net. Mari kita cek status seluruh nameservers utama beserta nameservers tambahan tersebut.
<strong>$ dig soa id @ns.uu.net</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 22469
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 13
;; AUTHORITY SECTION:
. 446923 IN NS F.ROOT-SERVERS.NET.
. 446923 IN NS B.ROOT-SERVERS.NET.
. 446923 IN NS J.ROOT-SERVERS.NET.
. 446923 IN NS K.ROOT-SERVERS.NET.
. 446923 IN NS L.ROOT-SERVERS.NET.
. 446923 IN NS M.ROOT-SERVERS.NET.
. 446923 IN NS I.ROOT-SERVERS.NET.
. 446923 IN NS E.ROOT-SERVERS.NET.
. 446923 IN NS D.ROOT-SERVERS.NET.
. 446923 IN NS A.ROOT-SERVERS.NET.
. 446923 IN NS H.ROOT-SERVERS.NET.
. 446923 IN NS C.ROOT-SERVERS.NET.
. 446923 IN NS G.ROOT-SERVERS.NET.
;; ADDITIONAL SECTION:
F.ROOT-SERVERS.NET. 533323 IN A 192.5.5.241
B.ROOT-SERVERS.NET. 533323 IN A 192.228.79.201
J.ROOT-SERVERS.NET. 533323 IN A 192.58.128.30
K.ROOT-SERVERS.NET. 533323 IN A 193.0.14.129
L.ROOT-SERVERS.NET. 533323 IN A 198.32.64.12
M.ROOT-SERVERS.NET. 533323 IN A 202.12.27.33
I.ROOT-SERVERS.NET. 533323 IN A 192.36.148.17
E.ROOT-SERVERS.NET. 533323 IN A 192.203.230.10
D.ROOT-SERVERS.NET. 533323 IN A 128.8.10.90
A.ROOT-SERVERS.NET. 533323 IN A 198.41.0.4
H.ROOT-SERVERS.NET. 533323 IN A 128.63.2.53
C.ROOT-SERVERS.NET. 533323 IN A 192.33.4.12
G.ROOT-SERVERS.NET. 533323 IN A 192.112.36.4
<strong>$ dig soa id @ns1.id</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 37613
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 9, ADDITIONAL: 9
;; ANSWER SECTION:
id. 13300 IN SOA ns1.id. hostmaster.idnic.net.id.
2004071300 28800 10800 604800 172800
;; AUTHORITY SECTION:
id. 13300 IN NS ns2.id.
id. 13300 IN NS sec3.apnic.net.
id. 13300 IN NS auth02.ns.uu.net.
id. 13300 IN NS ns.ac.id.
id. 13300 IN NS ns.eu.net.
id. 13300 IN NS ns.uu.net.
id. 13300 IN NS ns1.id.
id. 13300 IN NS ns1.rad.net.id.
id. 13300 IN NS ns1.indo.net.id.
;; ADDITIONAL SECTION:
ns.ac.id. 13300 IN A 202.159.124.34
ns.ac.id. 13300 IN A 202.153.134.11
ns.uu.net. 171040 IN A 137.39.1.3
ns1.id. 13300 IN A 202.155.30.227
ns1.rad.net.id. 3600 IN A 202.154.1.2
ns1.indo.net.id. 7200 IN A 202.159.32.2
ns2.id. 13300 IN A 202.153.134.52
sec3.apnic.net. 284 IN A 202.12.28.140
sec3.apnic.net. 3099 IN AAAA 2001:dc0:1:0:4777::140
<strong>$ dig soa id @ns1.rad.net.id</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 12023
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 9, ADDITIONAL: 11
;; ANSWER SECTION:
id. 13300 IN SOA ns1.id. hostmaster.idnic.net.id.
2004071300 28800 10800 604800 172800
;; AUTHORITY SECTION:
id. 13300 IN NS ns.ac.id.
id. 13300 IN NS ns.eu.net.
id. 13300 IN NS ns.uu.net.
id. 13300 IN NS ns1.id.
id. 13300 IN NS ns1.rad.net.id.
id. 13300 IN NS ns1.indo.net.id.
id. 13300 IN NS ns2.id.
id. 13300 IN NS sec3.apnic.net.
id. 13300 IN NS auth02.ns.uu.net.
;; ADDITIONAL SECTION:
ns.ac.id. 13300 IN A 202.153.134.11
ns.ac.id. 13300 IN A 202.159.124.34
ns.eu.net. 49854 IN A 192.16.202.11
ns.uu.net. 2851 IN A 137.39.1.3
ns1.id. 13300 IN A 202.155.30.227
ns1.rad.net.id. 3600 IN A 202.154.1.2
ns1.indo.net.id. 13300 IN A 202.159.32.2
ns2.id. 13300 IN A 202.153.134.52
sec3.apnic.net. 110236 IN AAAA 2001:dc0:1:0:4777::140
sec3.apnic.net. 2875 IN A 202.12.28.140
auth02.ns.uu.net. 2012 IN A 198.6.1.82
<strong>$ dig soa id @ns1.indo.net.id</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 49106
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 9, ADDITIONAL: 11
;; ANSWER SECTION:
id. 13300 IN SOA ns1.id. hostmaster.idnic.net.id.
2004071300 28800 10800 604800 172800
;; AUTHORITY SECTION:
id. 13300 IN NS ns1.indo.net.id.
id. 13300 IN NS ns2.id.
id. 13300 IN NS sec3.apnic.net.
id. 13300 IN NS auth02.ns.uu.net.
id. 13300 IN NS ns.ac.id.
id. 13300 IN NS ns.eu.net.
id. 13300 IN NS ns.uu.net.
id. 13300 IN NS ns1.id.
id. 13300 IN NS ns1.rad.net.id.
;; ADDITIONAL SECTION:
ns.ac.id. 7471 IN A 202.159.124.34
ns.ac.id. 7471 IN A 202.153.134.11
ns.eu.net. 150626 IN A 192.16.202.11
ns.uu.net. 20271 IN A 137.39.1.3
ns1.id. 13300 IN A 202.155.30.227
ns1.rad.net.id. 726 IN A 202.154.1.2
ns1.indo.net.id. 7200 IN A 202.159.32.2
ns2.id. 13300 IN A 202.153.134.52
sec3.apnic.net. 168803 IN A 202.12.28.140
sec3.apnic.net. 27 IN AAAA 2001:dc0:1:0:4777::140
auth02.ns.uu.net. 154055 IN A 198.6.1.82
<strong>$ dig soa id @ns2.id</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 35912
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 9, ADDITIONAL: 8
;; ANSWER SECTION:
id. 13300 IN SOA ns1.id. hostmaster.idnic.net.id.
2004071300 28800 10800 604800 172800
;; AUTHORITY SECTION:
id. 13300 IN NS ns1.indo.net.id.
id. 13300 IN NS ns2.id.
id. 13300 IN NS sec3.apnic.net.
id. 13300 IN NS auth02.ns.uu.net.
id. 13300 IN NS ns.ac.id.
id. 13300 IN NS ns.eu.net.
id. 13300 IN NS ns.uu.net.
id. 13300 IN NS ns1.id.
id. 13300 IN NS ns1.rad.net.id.
;; ADDITIONAL SECTION:
ns.ac.id. 13300 IN A 202.159.124.34
ns.ac.id. 13300 IN A 202.153.134.11
ns.eu.net. 154964 IN A 192.16.202.11
ns.uu.net. 172441 IN A 137.39.1.3
ns1.id. 13300 IN A 202.155.30.227
ns1.rad.net.id. 3347 IN A 202.154.1.2
ns1.indo.net.id. 3311 IN A 202.159.32.2
ns2.id. 13300 IN A 202.153.134.52
<strong>$ dig soa id @sec3.apnic.net</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 34802
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; ANSWER SECTION:
id. 13300 IN SOA ns1.id. hostmaster.idnic.net.id.
2004071300 28800 10800 604800 172800
<strong>$ dig soa id @auth02.ns.uu.net</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 43615
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 13
;; AUTHORITY SECTION:
. 446752 IN NS E.ROOT-SERVERS.NET.
. 446752 IN NS F.ROOT-SERVERS.NET.
. 446752 IN NS G.ROOT-SERVERS.NET.
. 446752 IN NS H.ROOT-SERVERS.NET.
. 446752 IN NS I.ROOT-SERVERS.NET.
. 446752 IN NS J.ROOT-SERVERS.NET.
. 446752 IN NS K.ROOT-SERVERS.NET.
. 446752 IN NS L.ROOT-SERVERS.NET.
. 446752 IN NS M.ROOT-SERVERS.NET.
. 446752 IN NS A.ROOT-SERVERS.NET.
. 446752 IN NS B.ROOT-SERVERS.NET.
. 446752 IN NS C.ROOT-SERVERS.NET.
. 446752 IN NS D.ROOT-SERVERS.NET.
;; ADDITIONAL SECTION:
E.ROOT-SERVERS.NET. 533152 IN A 192.203.230.10
F.ROOT-SERVERS.NET. 533152 IN A 192.5.5.241
G.ROOT-SERVERS.NET. 533152 IN A 192.112.36.4
H.ROOT-SERVERS.NET. 533152 IN A 128.63.2.53
I.ROOT-SERVERS.NET. 533152 IN A 192.36.148.17
J.ROOT-SERVERS.NET. 533152 IN A 192.58.128.30
K.ROOT-SERVERS.NET. 533152 IN A 193.0.14.129
L.ROOT-SERVERS.NET. 533152 IN A 198.32.64.12
M.ROOT-SERVERS.NET. 533152 IN A 202.12.27.33
A.ROOT-SERVERS.NET. 533152 IN A 198.41.0.4
B.ROOT-SERVERS.NET. 533152 IN A 192.228.79.201
C.ROOT-SERVERS.NET. 533152 IN A 192.33.4.12
D.ROOT-SERVERS.NET. 533152 IN A 128.8.10.90
<strong>$ dig soa id @ns.ac.id</strong>
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 38856
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 9, ADDITIONAL: 8
;; ANSWER SECTION:
id. 13300 IN SOA ns1.id. hostmaster.idnic.net.id.
2004071300 28800 10800 604800 172800
;; AUTHORITY SECTION:
id. 13300 IN NS ns2.id.
id. 13300 IN NS sec3.apnic.net.
id. 13300 IN NS auth02.ns.uu.net.
id. 13300 IN NS ns.ac.id.
id. 13300 IN NS ns.eu.net.
id. 13300 IN NS ns.uu.net.
id. 13300 IN NS ns1.id.
id. 13300 IN NS ns1.rad.net.id.
id. 13300 IN NS ns1.indo.net.id.
;; ADDITIONAL SECTION:
ns.ac.id. 13300 IN A 202.153.134.11
ns.ac.id. 13300 IN A 202.159.124.34
ns.eu.net. 154913 IN A 192.16.202.11
ns.uu.net. 172390 IN A 137.39.1.3
ns1.id. 13300 IN A 202.155.30.227
ns1.rad.net.id. 3296 IN A 202.154.1.2
ns1.indo.net.id. 3260 IN A 202.159.32.2
ns2.id. 13300 IN A 202.153.134.52
<strong>$ dig soa id @ns.eu.net</strong>
;; connection timed out; no servers could be reached
Disini terlihat bahwa beberapa nameserver tidak menjawab sebagaimana mestinya:
- ns.uu.net tidak authoritative untuk domain .id
- auth02.ns.uu.net juga tidak authoritative untuk domain .id
- ns.eu.net tidak dapat dihubungi pada test ini
Dengan demikian, satu dari tiga query domain .id ke nameserver yang telah meng-cache NS record domain .id akan memakan waktu lebih lama. Solusi paling mudah untuk mengatasi masalah ini adalah dengan melepas status ketiga nameserver tersebut sebagai nameserver untuk domain .id.
Masalah yang sama juga ditemukan pada second level domain seperti or.id, co.id, net.id atau web.id. But, that is left as an exercise for the reader™
.
Masalah lainnya yang cukup mengganggu adalah bahwa IDNIC mengutilisasi nameserver milik ISP seperti CBN, IndoNet dan RadNet sebagai nameserver IDNIC. Padahal nameserver-nameserver tersebut juga berfungsi sebagai nameserver authoritative untuk klien mereka dan sekaligus sebagai cache DNS tanpa ada pemisahan cache.
Contoh kasus:
Pemilik domain example.co.id menitipkan domainnya ke (misalnya) RadNet. Pihak RadNet kemudian menambahkan zone example.co.id pada nameserver ns1.rad.net.id. Perlu diketahui bahwa ns1.rad.net.id merupakan nameserver authoritative untuk domain co.id. Sampai saat ini tidak ada masalah.
Lalu setelah beberapa lama pemilik domain example.co.id memutuskan untuk memindahkan penitipan domain ke ISP lain, misalnya ke ISP-X. Pihak ISP-X kemudian menambahkan zone example.co.id pada nameserver mereka. Perlu diketahui bahwa nameserver ISP-X bukan merupakan nameserver authoritative untuk domain co.id.
Setelah pemindahkan ini muncul masalah. Kadang-kadang query untuk example.co.id masih menunjuk ke tempat lama, dan kadang-kadang sudah menunjuk ke tempat baru. Mengapa demikian? Karena pihak RadNet belum/tidak menghapus zone example.co.id pada nameserver-nya. Akibatnya, query DNS yang kebetulan ditujukan ke ns1.rad.net.id akan dijawab dengan data yang lama. Untuk mengatasi masalah ini, pihak pemilik domain perlu untuk meminta pihak RadNet untuk menghapus zone example.co.id dari nameserver RadNet. Terkadang hal ini sulit dilakukan karena keterbatasan pengetahuan DNS dari pihak pemilik domain.
Selain itu, akibat konfigurasi seperti ini, pelanggan akses Internet dari RadNet akan selalu mendapatkan data yang lama dari example.co.id. Hal ini disebabkan karena nameserver tersebut juga berfungsi sebagai cache bagi pelanggan akses Internet dari RadNet.
Bagaimana memecahkan masalah ini? Menurut saya IDNIC harus memiliki nameserver sendiri, tidak menumpang nameserver milik ISP. Atau paling tidak perlu dilakukan pemisahan terhadap nameserver IDNIC dan nameserver milik ISP. Untuk menghindari masalah ini di tingkat ISP, pihak ISP juga perlu memisahkan nameserver untuk keperluan cache dan nameserver authoritative.
Selain itu mungkin perlu dipertimbangkan agar nameserver IDNIC tidak perlu melakukan query rekursif. Misalnya pada contoh di atas, selain menjawab DNS server domain id, juga ada tambahan berupa alamat IP dari seluruh DNS server. Sedangkan sebagian client DNS tidak akan menggunakan record-record tambahan tersebut jika record-record tersebut diluar kekuasaan domain id. Hal ini dilakukan untuk menghindari cache poisoning. Jadi menurut saya, query rekursif pada nameserver authoritative sebaiknya dihilangkan saja. Data tambahan yang perlu hanyalah berupa glue record , yaitu record-record yang berada di bawah kekuasaan domain id.
[...] in .id dimonopoli oleh APJII saja. Langkah selanjutnya yang harus diambil ccTLD-ID adalah: memperbaiki masalah server DNS IDNIC , salah satunya dengan mengoperasikan se [...]
ahhh SOK TAU lu Pri…..