Bikin Server DNS resolver sendiri (Premium DNS)

Posted by Achmad 'Rhoma' Fanani (kanny) on 4/30/2015 06:20:00 PM

Akhir-akhir ini banyak yg mengeluh tentang koneksi telkom speedy, kebanyakan ribut soal DNS..
mulai dr ga bisa buka situs, tampilan situs tidak sempurna, dll...
ada yg bisa diatasi dengan cara ubah DNS, tapi banyak pula yg udah ganti DNS namun tetep aja bermasalah..

Kali ini ane mo berbagi trik cara bikin DNS cache sendiri.
Sebagaimana kita tau, ISP Telkom sekarang ini sepertinya telah 'memaksa' port 53 menuju server mereka.
wal hasil apapun DNS yg kita pakai, ujungnya tetep melalui filtering DNS telkom.. {ciiw}

Jadi kita akan bikin DNS cache yg tidak menggunakan port standat (53)
ada juga yg menyebutnya Premium DNS :)

Pertama kita bisa sewa VPS. Terserah mo pake VPS mana,
VPS singapore lebih rekomended.
Tapi kalo mau VPS murah, dengan hanya USD $3.99 /Tahun bisa beli disini

Seperti biasa silahkan register.
Setelah Login kemudian masuk sini
Pilih diantara 3 paket yg murah ini.. :)


Setelah itu selesaikan order dg pembayaran pake Paypal..
* bagi yg gak punya Paypal, beli nitip ane jg boleh.

next.. next.. next..

selanjutnya kita akan install Unbound DNS..
karena ane terbiasa pake debian, jadi kali ini tuts nya jg ber-debian
Jadi silahkan reinstall OS pada VPS ente dengan debian atau Ubuntu. Tapi kalo seneng pake OS selainnya jg boleh.. gak majalah :D

Langsung aja kita remote VPS pake ssh.
buka putty, isikan IP Address vps & port

setelah masuk terminal, ketik mantra-mantra berikut..

  apt-get update
  apt-get install unbound
  wget ftp://ftp.internic.net/domain/named.cache
  mv named.cache /etc/unbound/
  cd /etc/unbound/

Edit file /etc/unbound/unbound.conf
  nano /etc/unbound/unbound.conf
Berikut ane kasi contoh config unbound.conf
server:
port:5353
access-control: 127.0.0.0/8 allow
access-control: 0.0.0.0/0 allow
auto-trust-anchor-file: "/var/lib/unbound/root.key"
verbosity: 1
statistics-interval: 120
num-threads: 1
interface: 0.0.0.0
outgoing-range: 512
num-queries-per-thread: 1024
msg-cache-size: 16m
rrset-cache-size: 32m
msg-cache-slabs: 4
rrset-cache-slabs: 4
cache-max-ttl: 86400
infra-host-ttl: 60
infra-lame-ttl: 120
infra-cache-numhosts: 10000
infra-cache-lame-size: 10k
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
do-daemonize: yes
logfile: ""
use-syslog: no
identity: "DNS"
version: "1.4"
hide-identity: yes
hide-version: yes
harden-glue: yes
do-not-query-address: 127.0.0.1/8
do-not-query-localhost: yes
module-config: "iterator"
local-zone: "localhost." static
local-data: "localhost. 10800 IN NS localhost."
local-data: "localhost. 10800 IN SOA localhost. nobody.invalid. 1 3600 1200 604800 10800"
local-data: "localhost. 10800 IN A 127.0.0.1"
local-zone: "127.in-addr.arpa." static
local-data: "127.in-addr.arpa. 10800 IN NS localhost."
local-data: "127.in-addr.arpa. 10800 IN SOA localhost. nobody.invalid. 2 3600 1200 604800 10800"
local-data: "1.0.0.127.in-addr.arpa. 10800 IN PTR localhost."
forward-zone:
name: "."
forward-addr: 8.8.8.8
forward-addr: 8.8.4.4
forward-addr: 208.67.222.222
forward-addr: 208.67.220.220
remote-control:
control-enable: yes
control-interface: 127.0.0.1
control-port: 953
server-key-file: "/etc/unbound/unbound_server.key"
server-cert-file: "/etc/unbound/unbound_server.pem"
control-key-file: "/etc/unbound/unbound_control.key"
control-cert-file: "/etc/unbound/unbound_control.pem"

Perhatikan baris ke 2;
port:5353

artinya unbound akan menerima reques pada port 5353.
kenapa tidak menggunakan port default (53), karena port 53 udah 'dipaksa' oleh telkom :)
Jadi kita pakai port lainnya, misalkan 5353

kamu juga bisa menentukan dari IP mana saja unbound boleh menerima request.
Tinggal ubah baris berikut dengan IP yg kamu tentukan:
access-control: 0.0.0.0/0 allow

0.0.0.0/0 berarti mengizinkan request dr IP manapun..

Setelah itu save file dg menekan Ctrl o
dan keluar dari editor nano dg menekan Ctrl x

Selanjutnya tulis mantra berikut:
  unbound-control-setup
  chown unbound:root unbound_*
  chmod 440 unbound_*
  unbound-checkconf  /etc/unbound/unbound.conf
  service unbound restart
 

Selesai...
kita coba resolve domain
caranya ketik semisal seperti ini

nslookup -port=5353 facebook.com 127.0.0.1
Selanjutnya, pada Mikrotik tambahkan rule pada NAT untuk "memaksa" port 53 menuju ke IP VPS port 5353

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=53 protocol=tcp to-addresses=\
    138.128.xxx.xxx to-ports=5353
add action=dst-nat chain=dstnat dst-port=53 protocol=udp to-addresses=\
    138.128.xxx.xxx to-ports=5353


OK.. selamat mencoba.. ;)


Nama Anda
New Johny WussUpdated: 4/30/2015 06:20:00 PM

0 komentar:

CB