Kebutuhan :

Orange Pi
MicroSD 16 GB -> OS
Flashdisk 16 GB -> DATA
Hardisk External -> DATA
Orange Pi IP : 192.168.100.12 (sesuaikan dengan IP range anda)
IP Jaringan : 192.168.100.0/24 (sesuaikan dengan IP range anda)

OS yang akan kita gunakan untuk Orange Pi adalah Raspbian. Link downloadnya bisa dilihat di situs Orange Pi. Karena disini saya menggunakan Orange PI PC maka image OS yang saya download berada di bawah Orange Pi One and Orange Pi PC.

Walaupun ini salah satu Home Server yang saya gunakan bukan berarti bisa menggantikan server rumahan yang saya buat sebelumnya, karena beda kegunaan.

Tiap-tiap orang memiliki kebutuhan yang berbeda, disini saya menggunakan Orange Pi sebagai DNS Server (Unbound + DNSCrypt), Torrent downloader, Music Player.

Tahap 1 : Install Orange Pi

Untuk membuat imange OS :
Download SDCard Formatter
Download OS Image pilih Raspbian
Download Win32 Diskimager untuk menginstall OS Image (ISO) ke Micro SD.
langkah ini sudah sangat jelas dijelaskan di Quick Start Guide Orange Pi
jadi lebih baik anda langsung menuju link tersebut.

setelah menginstall Raspbian, yang pertama harus dilakukan adalah membersihkan OS dari file/user yang tidak digunakan dan upgrade OS ke versi terbaru
Upgrade OS

apt-get clean all
apt-get update
apt-get upgrade -y

hapus user yang tidak digunakan

userdel -r bananapi
userdel -r orangepi

Mengganti hostname
Disini saya menggunakan hostname dns. Edit file /etc/hosts ubah orangepi menjadi dns, begitu juga dengan file /etc/hostname. Agar perubahan diterapkan, restart Orange Pi

reboot

Tahap 2 : DNS Server

Karena Indihome menginjek iklan di setiap halaman web dan juga memblokir beberapa website yang salah blokir, sehingga penggunaan sebagai DNS Server ini sangat penting. Selain ini DNS Server ini juga digunakan untuk mempermudah akses ke beberapa service dengan menggunakan domain lokal, saya menggunakan .pal sebagai extensinya (akhirannya), gunakan extention yang tidak terdaftar di IANA.

Disini saya menggunakan Unbound (DNS + Cache) dan DNSCrypt.

1. Install Unbound

apt-get install unbound dnsutils

file konfigurasi unbound berada di /etc/unbound/, hapus file /etc/unbound/unbound.conf ganti dengan

server:
directory: "/etc/unbound"
root-hints: "/etc/unbound/root.server"
interface: 192.168.100.12
access-control: 192.168.100.0/24 allow
access-control: 192.168.0.0/16 allow
access-control:	10.10.10.0/24 allow
verbosity: 2
hide-identity: yes
hide-version: yes
prefetch: yes
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
num-threads: 3
outgoing-range: 400
so-rcvbuf: 10m
so-sndbuf: 10m
cache-min-ttl: 3600
private-address: 10.0.0.0/8
private-address: 172.16.0.0/12
private-address: 192.168.0.0/16
private-address: 127.0.0.1/8
 
include: /etc/unbound/domain.conf

ingat untuk mengganti 192.168.100.12 dengann IP Orange Pi anda.

2. Download root name servers

wget http://www.internic.net/domain/named.root -O /etc/unbound/root.server

Untuk kegunaan domain lokal, simpan di /etc/unbound/domain.conf, contoh domain.conf

local-data: "router.pal.			IN		A		192.168.100.1"
local-data: "dns.pal.			IN		A		192.168.100.12"
 
## PTR
local-data-ptr: "192.168.100.1		router.pal."
local-data-ptr: "192.168.100.12		dns.pal."

setelah selesai jalankan service Unbound.

service unbound restart

Tes query DNS dengan dig.

dig getfedora.org @192.168.100.12
dig bing.com @192.168.100.12
dig debian.org @192.168.100.12
dig router.pal @192.168.100.12

salah satu contoh bila query berhasil

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> bing.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64792
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
 
;; QUESTION SECTION:
;bing.com.			IN	A
 
;; ANSWER SECTION:
bing.com.		3600	IN	A	204.79.197.200
 
;; Query time: 27 msec
;; SERVER: 192.168.100.12#53(192.168.100.12)
;; WHEN: Tue Mar  8 20:52:29 2016
;; MSG SIZE  rcvd: 42

untuk domain lokal

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> router.pal @192.168.100.12
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52492
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
 
;; QUESTION SECTION:
;router.pal.			IN	A
 
;; ANSWER SECTION:
router.pal.		3600	IN	A	192.168.100.1
 
;; Query time: 1 msec
;; SERVER: 192.168.100.12#53(192.168.100.12)
;; WHEN: Tue Mar  8 20:53:12 2016
;; MSG SIZE  rcvd: 43

Karena Unbound sudah berjalan dengan sempurna, sekarang kita lanjut menginstall DNSCrypt.

3. Install dependency untuk compile libsodium dan DNSCrypt

apt-get install libtool automake libltdl7-dev

Sebelum menginstall DNSCrypt install libsodium terlebih dahulu. Download libsodium

wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.8.tar.gz

extract dan install

tar zxvf libsodium-1.0.8.tar.gz
cd libsodium-1.0.8
autogen.sh
./configure
make
make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf; ldconfig

4. Install DNSCrypt
Download DNSCrypt terbaru

wget https://download.dnscrypt.org/dnscrypt-proxy/LATEST.tar.gz

extract dan install

tar zxvf LATEST.tar.gz
cd dnscrypt-proxy-*
./autogen.sh
./configure
make
make install

5. Download database terbaru DNSCrypt server

r
rm -f /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv
wget https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv -O  /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv

Untuk menggabungkan DNSCrypt dengan Unbound, edit file unbound.conf tambahkan dibagian paling bawah

forward-zone:
  name: "."
  forward-addr: 192.168.100.12@4040

lalu jalankan DNSCrypt dengan format

dnscrypt-proxy --local-address=192.168.100.12:4040 -R cisco -d

saya memilih cisco (OpenDNS) sebagai DNSCrypt server anda bebas memilih nama yang ada di dnscrypt-resolvers.csv.

Restart Unbound agar menggunakan konfigurasi file yang baru, lalu ulangi perintah dig yang ada diatas, perintahnya persis sama. Terakhir ubah file /etc/resolv.conf menjadi

nameserver 192.168.100.12
nameserver 208.67.222.222

kita menggunakan 2 nameserver, yang kedua adalah IP OpenDNS, bila Orange Pi mati/error sehingga tidak bisa meresolve domain, maka perannya akan digantikan oleh nameserver kedua.
Sampai disini anda sudah bisa menggunakan DNSCrypt + Unbound untuk DNS Server di jaringan LAN anda.
edit dns router
Pada kebanyakan kasus orang tidak membutuhkan domain lokal, jadi anda cukup menggunakan DNSCrypt tanpa menginstall Unbound.

Join the Conversation

2 Comments

Your email address will not be published. Required fields are marked *