Jumat, 30 Agustus 2013

BIND Chroot DNS Master and Slave Dalam Satu Server

DNS  (Domain Name System) adalah sebuah server yang bertugas untuk menterjemahkan alamat IP Address ke dalam bentuk sebuah nama domain, tujuannya adalah untuk mempermudah penemuan atau akses ke dalam sebuah situs berdasarkan nama atau domain yang mudah untuk diingat. Tentunya bisa dibayangkan jika sobat sekalian harus mengingat banyaknya nomor-nomor IP Address yang harus dihapal untuk mengakses situs tujuan.
DNS juga diperlukan untuk mengatur nama domain dan subdomain yang dipakai pada sebuah perusahaan ataupun untuk diri pribadi, umunya DNS server terdiri dari Master dan Slave yang terinstall pada dua buah server dengan IP Address yang berbeda. 
Pada kesempatan ini penulis ingin berbagi bagaimana caranya untuk menjalankan Master dan Slave sebuah DNS server yang menggunakan BIND-9 dalam satu buah server dan berjalan dengan metode chroot, untuk itu perlu disiapkan sebuah server dengan dua buah ethernet card yang telah terinstall Linux dan sudah dikonfigurasikan dengan dua buah alamat IP yang berbeda.

Server spesifikasi :
Sistem Operasi : Fedora Core 6 32 bit, RAM 1 GHz
IP Address 1  : 10.10.10.2 (eth1) – Sesuaikan dengan IP address anda.

IP Address 2  : 172.16.0.2 (eth2)
BIND dan SSL : bind-9.9.2 dan openssl-0.9.8x
Langkah-langkah berikut harus dilakukan setelah login meggunakan root dalam server:
Jika sobat menggunakan versi fedora yang lebih tinggi dan versi openssl telah sama atau lebih tinggi, lewati langkah untuk install openssl dibawah ini:
cd /src
tar xfvz openssl-0.9.8x.tar.gz
cd openssl-0.9.8x
./configure
make
make test
make install

Download dan install bind
cd source tar xfvz bind-9.9.2.tar.gz
cd bind-9.9.2 rpm -e
bind
bind-utils caching-nameserver (lewati jika bind tidak diinstall)
./configure --prefix=/usr/local --disable-ipv6 --with-openssl=/Path-to-openssl-sobat make make install

Konfigurasi dan persiapkan jail (chroot)
groupadd named useradd -g named -d /chroot/named -s /bin/true named passwd -l named mkdir -p /chroot/named cd /chroot/named mkdir dev mkdir etc mkdir logs mkdir -p var/run mkdir -p conf/secondaries mknod dev/null c 1 3 mknod dev/zero c 1 5 mknod dev/random c 1 8 cp /etc/localtime etc

Buat konfigurasi named.conf, karena Master dan Slave berjalan dalam satu server berarti ada dua buah konfigurasi, sebut saja named1.conf dan named2.conf
# vi /chroot/named/etc/named1.conf, copykan template berikut didalamnya : named1.conf
controls { inet 127.0.0.1 allow { 127.0.0.1; } keys { rndckey; }; }; acl "internal" { 10.10.10.0/24; 172.16.0.0/24; 127.0.0.1; }; logging { channel default_syslog { syslog local2; severity debug; }; channel audit_log { file "/logs/named1.log"; severity debug; print-time yes; }; category default { default_syslog; }; category general { default_syslog; }; category security { audit_log; default_syslog; }; category config { default_syslog; }; category resolver { audit_log; }; category xfer-in { audit_log; }; category xfer-out { audit_log; }; category notify { audit_log; }; category client { audit_log; }; category network { audit_log; }; category update { audit_log; }; category queries { audit_log; }; category lame-servers { audit_log; }; }; options { listen-on port 53 { 127.0.0.1; 10.10.10.2; }; directory "/conf"; pid-file "/var/run/named1.pid"; statistics-file "/var/run/named1.stats"; memstatistics-file "/var/run/named1.memstats"; dump-file "/var/run/named1.dump"; zone-statistics yes; version "[bind-version]"; notify no; auth-nxdomain yes; transfer-format many-answers; max-transfer-time-in 60; interface-interval 0; allow-transfer { none; }; allow-query { internal; }; allow-query-cache { internal; }; }; view "internal-in" in { match-clients { internal; }; recursion yes; additional-from-auth yes; additional-from-cache yes; zone "." in { type hint; file "db.rootcache"; }; zone "0.0.127.in-addr.arpa" in { type master; file "db.127.0.0"; allow-query { any; }; allow-transfer { none; }; }; zone "localhost" { type master; file "db.localhost"; allow-query { any; }; allow-transfer { none; }; }; zone "domainmu.com" in { type master; file "domainmu.zone"; allow-transfer { 172.16.0.2; 10.10.10.2; }; }; zone "10.10.10.in-addr.arpa" in { type master; file "db.10.10.10"; allow-transfer { 172.16.0.2; 10.10.10.2; }; }; zone "0.16.172.in-addr.arpa" in { type master; file "db.172.16.0"; allow-transfer { 172.16.0.2; 10.10.10.2; }; }; }; view "external-in" in { match-clients { any; !internal; }; recursion no; additional-from-auth no; additional-from-cache no; // Link in our zones zone "." in { type hint; file "db.rootcache"; }; zone "domainmu.com" in { type master; file "domainmu.zone"; allow-query { any; }; }; zone "10.10.10.in-addr.arpa" in { type master; file "db.10.10.10"; allow-query { any; }; }; zone "0.16.172.in-addr.arpa" in { type master; file "db.172.16.0"; allow-query { any; }; }; }; view "external-chaos" chaos { match-clients { any; !internal;}; recursion no; zone "." { type hint; file "/dev/null"; }; zone "bind" { type master; file "db.bind"; allow-query { internal; }; allow-transfer { none; }; }; }; include "/etc/rndc-key";
# ln -s /chroot/named/etc/named1.conf /etc/named1.conf
Ulangi dua langkah diatas untuk membuat named2.conf (ganti name1,conf dengan named2.conf)
klik 
named2.conf berikut untuk isi konfigurasi named yang kedua.

controls {
        inet 127.0.0.1 allow { 127.0.0.1; } keys { rndckey; };
};

acl "trusted" { 10.10.10.0/24; 172.16.0.0/24; 127.0.0.1; };


logging {

    channel default_syslog {
        syslog local2;
        severity debug;
    };

    channel audit_log {
        file "/logs/named2.log";
        severity debug;
        print-time yes;
    };

    category default { default_syslog; };
    category general { default_syslog; };
    category security { audit_log; default_syslog; };
    category config { default_syslog; };
    category resolver { audit_log; };
    category xfer-in { audit_log; };
    category xfer-out { audit_log; };
    category notify { audit_log; };
    category client { audit_log; };
    category network { audit_log; };
    category update { audit_log; };
    category queries { audit_log; };
    category lame-servers { audit_log; };

};

// Set options for security
options {
    listen-on port 53 { 127.0.0.1; 172.16.0.2; };
    directory "/conf";
    pid-file "/var/run/named2.pid";
    statistics-file "/var/run/named2.stats";
    memstatistics-file "/var/run/named2.memstats";
    dump-file "/var/run/named2.dump";
    zone-statistics yes;
    version "[nameservers]";

    allow-notify { 10.10.10.2; };
    allow-update { 10.10.10.2; };
    auth-nxdomain yes;
    transfer-format many-answers;
    max-transfer-time-in 60;
    interface-interval 0;

    allow-transfer { none; };

    allow-query { internal; };

    allow-query-cache { internal; };
};


view "internal-in" in {

    match-clients { internal; };
    recursion yes;
    additional-from-auth yes;
    additional-from-cache yes;

    zone "." in {
        type hint;
        file "secondaries/db.rootcache";
    };

    zone "0.0.127.in-addr.arpa" in {
        type master;
        file "secondaries/db.127.0.0";

        allow-query {
            any;
        };

        allow-transfer {
            none;
        };
    };

    zone "localhost" {
       type master;
       file "secondaries/db.localhost";

        allow-query {
            any;
        };

        allow-transfer {
            none;
       };
    };

    zone "domainmu.com" in {
        type slave;
        file "secondaries/domainmu.zone";
        masters {10.10.10.2;};
    };

    zone "10.10.10.in-addr.arpa" in {
        type slave;
        file "secondaries/db.10.10.10";
        masters {10.10.10.2;};
    };

    zone "0.16.172.in-addr.arpa" in {
        type slave;
        file "secondaries/db.172.16.0";
        masters {10.10.10.2;};
    };

};

view "external-in" in {

    match-clients { any; !internal;};
    recursion no;
    additional-from-auth no;
    additional-from-cache no;

    zone "." in {
        type hint;
        file "secondaries/db.rootcache";
    };

    zone "domainmu.com" in {
        type slave;
        file "secondaries/domainmu.zone";
        masters {10.10.10.2;};

        allow-query {
            any;
        };
    };

    zone "10.10.10.in-addr.arpa" in {
        type slave;
        file "secondaries/db.10.10.10";
        masters {10.10.10.2;};

        allow-query {
            any;
        };
    };

    zone "0.16.172.in-addr.arpa" in {
        type slave;
        file "secondaries/db.172.16.0";
        masters {10.10.10.2;};

        allow-query {
            any;
        };
    };
};


view "external-chaos" chaos {
    match-clients { any; !internal; };
    recursion no;

        zone "." {
            type hint;
            file "/dev/null";
        };

        zone "bind" {
            type master;
            file "secondaries/db.bind";

            allow-query {
                internal;
            };
            allow-transfer {
                none;
            };
        };
};

include "/etc/rndc-key";
Buat tiga buah file db.rootcache, db.localhost and db.127.0.0 dalam direktori /chroot/named/conf
# dig +tcp @a.root-servers.net . ns > /chroot/named/conf/db.rootcache
# vi /chroot/named/conf/db.localhost, copykan kode dibawah ini:
;
; db.localhost
;
$TTL 86400
@ IN SOA @ root (
42 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS @
IN A 127.0.0.1

# vi /chroot/named/conf/db.127.0.0, copykan kode dibawah ini:

;
; db.127.0.0
;
$TTL 86400
@ IN SOA localhost. root.localhost. (
1 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
Buatlah bind.zone untuk alasan security
# vi /chroot/named/conf/db.bind
;
$TTL 1D
$ORIGIN bind.
@ 1D CHAOS SOA localhost. root.localhost. (
2001013101 ; serial
3H ; refresh
1H ; retry
1W ; expiry
1D ) ; minimum
CHAOS NS localhost.
version.bind. CHAOS TXT "BIND 9.1.3+robhacks"
authors.bind. CHAOS TXT "Are You Bind Master?"

Langkah selanjutnya ada setup direktori dan file permission, untuk mempermudah akan dibuat sebuah file untuk melakukan hal tersebut.
# vim /chroot/named.perms
# named.perms
# setting ownership dan permission dalam direktori named

cd /chroot/named

chown -R root:named .

find . -type f -print | xargs chmod u=rw,og=r    
find . -type d -print | xargs chmod u=rwx,og=rx  

chmod o= etc/*.conf

touch conf/secondaries/.empty  # placeholder
find conf/secondaries/ -type f -print | xargs chown named:named
find conf/secondaries/ -type f -print | xargs chmod ug=r,o=

chown root:named conf/secondaries/
chmod ug=rwx,o=  conf/secondaries/

chown root:root  var/
chmod u=rwx,og=x var/

chown root:named  var/run/
chmod ug=rwx,o=rx var/run/

chown root:named  logs/
chmod ug=rwx,o=rx logs/
Untuk menjalankannya ketikkan:
# sh -x /chroot/named.perms
Instal dan Konfigurasi rndc daemon
# cd /chroot/named/etc
# /usr/local/sbin/dnssec-keygen -a HMAC-MD5 -b 256 -n HOST rndc
Krndc.+xxx+xxxxx

# cat Krndc.+xxx+xxxxx.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: xxxxx-xxxxx-xxxxxx-xxxxxx-xxxxx-xxxx  --- key yang akan di copy ke rndc-key
Buat file rndc-key
# cd /chroot/named/etc
# vim rndc-key, copykan kode berikut
key "rndckey" {
       algorithm       "hmac-md5";
       secret          "xxxxx-xxxxx-xxxxxx-xxxxxx-xxxxx-xxxx";
};
# rm -f Krndc.+xxx+xxxxx.*  — hapus file setelah rndc-key tersimpan
Membuat file rndc.conf
# cd /chroot/named/etc
# vim rndc.conf, copykan kode berikut:
options {
        default-server  127.0.0.1;
        default-key     "rndckey";
};

server 127.0.0.1 {
        port 953;
        key     "rndckey";
};

include "/chroot/named/etc/rndc-key";
# chown root:named
# chmod 600 rndc-key
# ln -s /chroot/named/etc/rndc.conf /usr/local/etc/rndc.conf
# ln -s /chroot/named/etc/rndc.conf /etc/rndc.conf
Kemudian Buat startup untuk masing-masing konfigurasi:
# cd /chroot/named
# vi named1.start, copykan kode berikut:
cd /chroot/named
#
touch named1.run
chown named:named named1.run
chmod ug=rw,o=r   named1.run

PATH=/usr/local/sbin:$PATH named  \
        -t /chroot/named \
        -u named \
        -c /etc/named1.conf
# vi named2.start, copykan kode berikut:
cd /chroot/named

touch named2.run
chown named:named named2.run
chmod ug=rw,o=r   named2.run

PATH=/usr/local/sbin:$PATH named  \
        -t /chroot/named \
        -u named \
        -c /etc/named2.conf
Jalankan kedua startup tersebut saat komputer server hidup atau menyala:
# vi /etc/rc.d/ini.d/named, copykan kode berikut dan simpan
#!/bin/sh

export PATH=/usr/local/sbin:$PATH       # untuk rndc

case "$1" in
  start)
        # Start daemons.
        echo -n "Starting named: "
        sh /chroot/named1.start
        echo "named up"

                    echo -n "Starting named2: "
        sh /chroot/named2.start
        echo "named2 up"
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down named: "
        rndc stop
                    killall named
        echo "done"
        ;;
esac

exit 0
# chmod 755 /etc/rc.d/init.d/named
# vi /etc/rc.d/rc.local, copykan kode berikut pada baris akhir:
/etc/rc.d/init.d/named start
Sekarang sobat dapat mencoba menjlanakan dns server dengan mengetikan:
/etc/rc.d/init.d/named start
Untuk cek apakah master dan slave sudah berjalan, ketikkan:
# ps ax | grep named
 1805 ?        Ss     0:00 named -t /chroot/named -u named -c /etc/named1.conf
 1811 ?        Ss     0:00 named -t /chroot/named -u named -c /etc/named2.conf
Jika terlihat hasil seperti diatas, artinya chroot bind master dan slave telah berjalan
Setelah semua langkah diatas dilakukan dan kedua dns server telah up, saatnya untuk membuat routing table agar server dapat berjalan dengan dua gateway berbeda, dengan asumsi bahwa IP 10.10.10.2 (eth1) adalah routing utama dengan default gateway 10.10.10.1, jalankan perintah dibawah secara berurutan:
# echo 100 nama_table > /etc/iproute2/rt_tables
# /sbin/ip route add default via 172.16.0.1 dev eth2 table nama_table
# /sbin/ip route add 172.16.0.0/24 dev eth2 src 172.16.0.2 table nama_table
# /sbin/ip rule add from 172.16.0.2 table nama_table
# /sbin/ip rule add to 172.16.0.2 table nama_table
Donwload template konfigurasi untuk named1.conf dan named2.conf klik disini.
Demikianlah, tinggalkan komentar jika menghadapi kendala, terima kasih.

Share:

Rabu, 28 Agustus 2013

Cara Buat ISP Pake Mikrotik + Squid box ( Small Internet Provider )


topologi jaringan adalah sebagai berikut :
net -- cisco --hub -- Squid (slackware) -- mikrotik (bw managr) -- client
......................|
......................|
......................|-- server lain nya

IP ADDRESS SESUAIKAN DENGAN YANG DI MILIKI 

blok ip yang di dapat adalah : 202.152.100.0/24
syarat dasar pemahaman :
1. ip subnetting
2. perintah dasar linux
3. perintah dasar mikrotik

Langkah2...


Share:

Rabu, 14 Agustus 2013

Bind dan DNS server ( mengarahkan domain ke ip public server )


Sedikit berbagi tentang ubuntu linux, walaupun saya sendiri masih bodoh.
Mengarahkan Domain registrar kita ke dns server ubuntu memang dibilang agak gampang - gampang susah, langsung aja disimak ya.

Dengan pembuatan server DNS ini, domain anda yang sudah didaftarkan pada InterNIC dapat diakses dari segala penjuru dunia (Internet).

Penulis akan membahas spesifik pada distro berbasis rpm yaitu Red Hat pada beberapa bagian dari artikel ini, walaupun konsepnya hampir sama untuk distro lain.

Diharapkan anda sudah membaca artikel pertama dan kedua sebelum membaca artikel ketiga ini. Seperti halnya pada pembuatan resolving-caching name-server yang kita bahas sebelumnya, kita harus mempunyai paket bind,bind-utils dan caching-nameserver. Penulis asumsikan sistem Linux anda sudah terinstal BIND. Versi BIND penulis adalah 9.2.1.
Share:

Selasa, 13 Agustus 2013

OverClock VGA Card NVIDIA



Para gimer kebanyakan menggunakan Windows XP sebagai platform Operating System buat ngegame tapi gimana kalau VGA Card yang kita punyai loyo ? Duitpun sedang cekak untuk membeli VGA Card baru yang lebih bertenaga lalu apa solusinya ? OverClock VGA Card !
Banyak para gimer kesulitan mendapatkan informasi bagaimana melakukan overclock pada VGA Cardnya, tenang, penulis akan membeberkannya untuk anda! Bahwa begitu mudahnya melakukan overclock VGA Card NVIDIA dengan RivaTuner dan bersiaplah ngegame makin mantab dan puas walaupun kadang tidak selalu begitu ☺.
Penulis disini akan melakukan overclock pada VGA Card yang cukup tua yaitu NVIDIA GeForce2 MX 100/200 32 Mb, biar cukup tua tapi untuk maenin games 3D yang tidak terlalu berat seperti ItalianJob, WillRock dan lainnya berjalan sangat mulus alias lewat hehe, apalagi setelah Crazy Taxi resolusi 1024x768 tetap lewatlah ☺.
Pertama sediakan dulu 2 program sebelum memulai yaitu PC Wizard 2006 untuk memeriksa GPU Frequency dan Memory Frequency GPU pada VGA Card anda. Untuk OverClock tentu saja anda dapat menggunakan RivaTuner, sebenarnya banyak tools untuk overclock VGA tapi penulis memilih RivaTuner karena tool ini punya fitur yang lengkap. Oh iya sebelum menggunakan RivaTuner jika ada tool overclock VGA yang jalan di PC maka hapus dulu tool overclock VGA Card lainnya yang anda punya karena bisa terjadi konflik antar tool dan itu pernah penulis alami sehingga ahkirnya dapat membuat detonator NVIDIA hilang, tapi jangan terlalu di kuatirkan tentang itu justru dengan hilangnya detonator NVIDIA maka game CRC 2005 bisa jalan ☺.

Share:

Minggu, 11 Agustus 2013

Template Userman Mikrotik

Template Userman Mikrotik

Pada posting kali ini akan saya berbagi design template userman mikrotik, untuk memperindah mikrotik hotspot

Berikut langkah - langkah untuk membuat template userman anda sendiri:

Login Dashboard Userman

Login ke usermanager mikrotik dengan url http://IP-ANDA/userman, bila sudah login pilih ke menu Setting lalu pilih template.



dashboard serman
Dashboard Userman
Share:

Recent Posts

Pages

Pengikut