Reveal our identity with DNS --Domain Name System-- Training Pustena 20 Maret 2011
Reveal our identity with DNS--Domain Name System--Training Pustena20 Maret 2011
Overview materiBackground DNSSejarah Prinsip kerjaKomponenImplementasi DNS dengan BINDSejarah BINDKonfigurasiInstalasiTestingTugas
Background DNSSejarah DNSApa itu DNS ?Sistem hierarkis terdistribusi untuk melakukan penerjemahan dari hostname ke alamat IPKenapa perlu DNS?Setiap komputer harus memiliki IP unikJumlah IP = 232Manusia lebih mudah mengingat/menyebutkan nama/hostname daripada IPContoh : 167.205.64.129 -> lhauk.ee.itb.ac.id
Background DNSPrinsip kerja:HierarkialTerdistribusi
Top Level Domain (.com, .id, dll)Name server : host yang menjalankan program yang menyimpan informasi domainInformasi zoneJenis : primary (data dari filesystem) & slave (data dari primary)KomponenResolver : client query, interpret, kirim informasiResource record : database informasi domain
Implementasi DNS dengan BINDSejarahDNS awalnya menggunakan file tunggal : HOST.TXT (disimpan di Stanford Research Insitute NIC), ditransfer dengan FTPMasalah : jumlah komputer terhubung ke internet semakin besar, double host & otentisitasPaul Mockapertis : JEEVES BIND (4.8.3)@4.3 BSD unixBIND now : 9.5. (bind.isc.org)
Implementasi DNS dengan BINDKonfigurasiNamedNamed.confZone fileReverse file
Konfigurasi BINDNamed.confformat : statement:AclIncludeKeyLoggingOptionsServerzone
Konfigurasi BINDZone fileFormat:[nama] [ttl] IN type dataNama : adalah nama dari objek domain yang ditunjuk oleh sumber record. Bisa menjadi host individual. TTL: kepanjangan dari time-to-live, mendefinisikan lama waktu infomasi pada resource record seharusnya disimpan dalam cache remote system.IN mengidentifikasi record sebagai internet DNS resource record.Type mengidetntifikasi jenis record.Data menginformasikan spesifikasi dari record sesuai jenisnya.Statement
Resource record text nameRecord typeFunctionStart of AuthoritySOAMenandai awal dari data suatu zone dan mendefiniskan parameter yang akan mempengaruhi keseluruhan zoneNameserverNSMengidentifikasikan namaa server domainAddressAMengkonversi hostname ke alamatPointerPTRMengkonversi alamat ke hostnameMail ExchangeMXMengidentifikasi kemana mail akan dikirmkan pada suautu domain nameCanonical nameCNAMEMendefinisikan alias dari hostnameTextTXTMenyimpan informasi lain berupa teksHost informationHINFOMenyimpan informasi system informasi host
Contoh zone file
example.com. IN SOA host.example.com. root.example.com. (
1 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL;DNS Serversexample.com. IN NS host.example.com.
;Machine Nameshost.example.com. IN A 192.168.1.11
;Aliaseswww IN CNAME host.example.com.
;MX Recordexample.com. IN MX 10 host.example.com.
Konfigurasi BINDReverse Fileformat
Contoh Reverse file
$TTL 3600
1.168.192.in-addr.arpa. IN SOA host.example.com. root.example.com. (
1 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL;DNS Servers1.168.192.in-addr.arpa. IN NS host.example.com.
;Machine IPs11 IN PTR host.example.com.11 IN PTR www.example.com.
Instalasi BINDGunakan FreeBSD 8.0Setting http_proxy# ee /etc/make.confFETCH_ENV=http_proxy=http://167.205.79.31:3128MASTER_SITE_OVERRIDE=ftp://ftp.itb.ac.id/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/#MASTER_SITE_OVERRIDE=ftp://ftp.jaist.ac.jp/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/Upgrade port terlebih dahulu#cp /usr/share/examples/cvsup/ports-supfile /root/portsEdit file /root/ports, ganti *default host=CHANGE_THIS.FreeBSD.org jadi*default host=ftp.itb.ac.id#csup g L 2 /path.cvsupinstal# cd /usr/ports/dns/bind98 # make config ; make install clean
Instalasi BIND# cp /etc/make.conf /etc/make.conf.old # echo "NO_BIND = YES" >> /etc/make.conf# ee /var/named/etc/namedb/named.conf// listen-on { 127.0.0.1; };forwarders { IP_nameserver_ISP; };zone gantengmaut.net" { type master; file "master/gantengmaut.net"; allow-transfer { localhost; }; allow-update { key rndc-key; }; };//reversezone "1.168.192.in-addr.arpa" { type master; file "master/ gantengmaut.net.rev"; allow-transfer { localhost; }; allow-update { key rndc-key; }; };
# rndc-confgen -a # cd /var/named/etc/namedb # cp named.conf named.conf.old # cat rndc.key >> named.conf# cd /var/named/etc/namedb/master # ee gantengmaut.net# ee gantengmaut.rev# chown -R bind /var/named/etc/namedb/dynamic
testing//cek named.conf# named-checkconf /path_named.conf//cek named.zone atau reverse# named-checkzone /path_name/reverse nama_zone_reverse# ee /etc/resolv.conf domain gantengmautnameserver 127.0.0.1 nameserver 61.32.24.84 nameserver 206.13.22.96# ee /etc/rc.conf named_enable="YES # /etc/rc.d/named start # dig google.com
updateEdit zone + reverseUpdate serial, serial lama lebih besar daripada serial baru# rndc reload# host domain_baru//error ?# tail f /var/log/messages