My Profile

Foto Saya
Dethaz Blogz
Lihat profil lengkapku

Minggu, 25 Oktober 2009

Otomatisasi Instalasi & Konfigurasi DNS Server pada openSUSE

sumber : Masim "Vavai" Sugianto on May 29th, 2009

dns-server

Salah satu fungsi dan service penting dalam dunia server adalah DNS Server. DNS Server digunakan untuk melakukan resolve nama dan alamat komputer, dibutuhkan baik untuk mail server, file server, directory server maupun service lainnya yang terkait dengan DNS.

Meski openSUSE sudah menyediakan YAST yang sudah sangat memudahkan proses konfigurasi DNS, dalam prakteknya masih banyak teman-teman yang kesulitan membuat sebuah DNS Server berbasis openSUSE. Berdasarkan pengalaman saya, banyak juga proses instalasi Zimbra Mail Server yang terhambat gara-gara konfigurasi DNS tidak tepat.

Untuk mengatasi hal tersebut, saya membuat script kecil yang mudah-mudahan bermanfaat untuk membangun sebuah DNS Server berbasis openSUSE.

Script ini memiliki spesifikasi dan cakupan sebagai berikut :

1. Meminta masukan dalam bentuk nama domain, nama hostname (nama komputer), Alamat IP dan alamat Name Server (DNS Router & ISP)
2. Secara otomatis melakukan konfigurasi DNS Zone dan Reverse DNS Record untuk nama domain
3. Dapat memilih untuk menggunakan repo online (butuh akses internet) atau repo lokal
4. Otomatis melakukan update file /etc/hosts, /etc/named.conf, /etc/resolv/conf,/etc/sysconfig/network/config dan file konfigurasi yang ada pada /var/lib/named
5. Memasukkan 4 buah record standar, yaitu Name Server record (ns1.namadomain.tld), MX Records (namakomputer.namadomain.tld) dan Address Record (ns1 & namakomputer) sesuai dengan alamat IP yang dimasukkan

Silakan download script ini disini : Script Otomatis DNS Server-openSUSE

Berikut adalah cara penggunaannya :

1. Download script diatas ke salah satu folder (contoh : /home/vavai)
2. Buka konsole / terminal (ALT+F2, konsole atau ALT+F2, gnome-terminal)
3. Masuk sebagai root, pindah ke folder download, ekstrak dan jalankan script dengan perintah sebagai berikut (sesuaikan foldernya) :
view sourceprint?
1.su
2.cd /home/vavai
3.tar -zxvf dns-auto.tar.gz
4.cd dns-auto
5.chmod +x dns-auto.sh
6../dns-auto.sh

Berikut adalah script setting DNS Server secara otomatis seperti ada dalam link diatas (Untuk menjalankan tetap memerlukan 1 set file & folder didalam link, jangan gunakan script ini sendirian :-D ) :
view sourceprint?
001.#!/bin/sh
002.
003.#Hapus Layar
004.clear
005.
006.echo "########################################################################"
007.echo "# DNS-Auto ver 2009.05.001 untuk OpenSUSE 11.1 #"
008.echo "# Skrip untuk otomatisasi konfigurasi DNS Server pada OpenSUSE #"
009.echo "# Masim "Vavai" Sugianto - vavai@vavai.com - http://vavai.com/blog/v2 ; #"
010.echo "########################################################################"
011.
012.echo ""
013.
014.#Default Configuration
015.startdirectory="/tmp/dns-auto/"
016.searchterm="vavai.com"
017.nama_komputer="namahost"
018.ip_dns="192.168.0.5"
019.versi=$(grep "VERSION" /etc/SuSE-release | cut -f 2 -d =)
020.
021.#Tanya, punya akses internet tidak ? Jika ya, gunakan repo online
022.echo -n "Apakah anda ingin instalasi menggunakan repo online ? [Y/T] "
023.read jawab
024.flag_akses_internet="`echo $jawab|tr [a-z] [A-Z]`"
025.
026.#echo "Tanya nama domain"
027.echo ""
028.echo "Proses konfigurasi..."
029.echo -n "1. Masukkan nama domain (misal : vavai.com) : "
030.read nama_domain
031.echo -n "2. Masukkan nama komputer (hostname) : "
032.read nama_host
033.echo ""
034.echo -n "3. Masukkan alamat IP (misal : 192.168.0.1) : "
035.read alamat_ip
036.echo -n "4. Masukkan alamat IP Name Server (Biasanya IP Router/DNS ISP) : "
037.read ip_dns_new
038.
039.if [ "$flag_akses_internet" = "Y" ] ;
040.then
041.zypper mr -da
042.zypper ar "http://mirror1.opensuse.or.id/repo/$versi/oss/" oss-m1
043.zypper ar "http://mirror1.opensuse.or.id/repo/$versi/non-oss/" non-oss-m1
044.# zypper ar http://mirror1.opensuse.or.id/repo/packman/suse/11.1/ packman-m1
045.zypper ref
046.fi
047.
048.#echo "Install file yang dibutuhkan"
049.zypper in rsync
050.zypper in -t pattern dhcp_dns_server
051.
052.#Reverse IP
053.subip1=$(echo $alamat_ip | cut -f 1 -d .)
054.subip2=$(echo $alamat_ip | cut -f 2 -d .)
055.subip3=$(echo $alamat_ip | cut -f 3 -d .)
056.subip4=$(echo $alamat_ip | cut -f 4 -d .)
057.
058.reverse_ip="$subip3.$subip2.$subip1"
059.
060.echo "Salin file konfigurasi ke folder temporary"
061.mkdir -p $startdirectory
062.
063.rsync -av --delete . $startdirectory
064.
065.#echo "Ubah nama file"
066.
067.regexp1="s/$searchterm/$nama_domain/2"
068.find /tmp/dns-auto -name "*$searchterm*" | awk '{print("mv "$1" "$1)}' | sed "$regexp1" | /bin/sh
069.
070.#echo "Ganti nama reverse DNS"
071.regexp2="s/0.168.192/$reverse_ip/2"
072.find /tmp/dns-auto -name "*0.168.192*" | awk '{print("mv "$1" "$1)}' | sed "$regexp2" | /bin/sh
073.
074.#echo "Ubah konfigurasi $searchterm $startdirectory"
075.
076.for file in $(grep -l -R $searchterm $startdirectory)
077.do
078.sed -e "s/$searchterm/$nama_domain/g" -e "s/192.168.0.1/$alamat_ip/g" -e "s/0.168.192/$reverse_ip/g" -e "s/1.0.168.192/$subip4.$reverse_ip/g" -e "s/$nama_komputer/$nama_host/g" -e "s/$ip_dns/$ip_dns_new/g" $file > /tmp/tempfile.tmp
079.mv /tmp/tempfile.tmp $file
080.echo "Modified: " $file
081.done
082.echo "Done!"
083.#Ubah Netconfig
084.cp /etc/sysconfig/network/config /etc/sysconfig/network/config.bak
085.cp /etc/sysconfig/network/config /tmp/dns-auto/config.bak
086.sed -e "s/NETCONFIG_DNS_POLICY='auto'/NETCONFIG_DNS_POLICY=''/g" /tmp/dns-auto/config.bak /etc/sysconfig/network/config
087.
088.#find /tmp/dns-auto/
089.
090.#Update konfigurasi
091.mv /etc/named.conf /etc/named.bak
092.mv /etc/resolv.conf /etc/resolv.conf.bak
093.mv /etc/hosts /etc/hosts.bak
094.mv /etc/named.d/forwarders.conf /etc/named.d/forwarders.conf.bak
095.if [ -d /var/lib/named/master.bak ]; then
096.rm -rf /var/lib/named/master.bak
097.fi
098.mv /var/lib/named/master /var/lib/named/master.bak
099.
100.if [ -d /var/lib/named/master ]; then
101.rm -rf /var/lib/named/master
102.fi
103.mv /tmp/dns-auto/named/named.conf /etc/named.conf
104.mv /tmp/dns-auto/named/resolv.conf /etc/resolv.conf
105.mv /tmp/dns-auto/named/hosts /etc/hosts
106.mv /tmp/dns-auto/named/forwarders.conf /etc/named.d/forwarders.conf
107.rsync -av /tmp/dns-auto/named/ /var/lib/named/
108.
109.#Jalankan service
110.service named restart
111.
112.#Test
113.nslookup "$nama_host.$nama_domain"
114.
115.echo "Proses konfigurasi telah selesai"

Selasa, 20 Oktober 2009

Instalasi openSUSE 11.1

OpenSUSE 11.1 : Instalasi Server

Boot PC dari DVD OpenSUSE 11.1 dan pilih Installation :
1

Pilih bahasa, layout keyboard layout dan accept the licence terms:
2

Selanjutnya installer menganalisis hardware dan cache software repository :
31

Pilih New Installation:
4

Pilih region dan timezone:
5

Pada pilihan Desktop selection, Pilih Other > Minimal Server Selection (Text Mode) yang artinya menginstal server tanpa X-Window desktop. (Sistem X-Window tidak diperlukan untuk menjalankan server dan dapat membuat system jadi lambat)

Klik pada Edit partition setup… untuk merubah partisi. Dalam hal ini diperlukan partisi besar untuk /srv
7

Pilih /dev/sda3 dan klik pada Edit…:
8

Ubah Mount Point ke /srv dan klik Finish:
9

Klik Accept:
10

Hasil setup seperti berikut, Klik Next:
11

Selanjutnya dibuat suatu user yang diberi nama administrator. Pastikan untuk disable the Automatic Login checkbox untuk user ini. Masukan password untuk digunakan sebagai password root:
12

Installer menunjukan suatu overview opsi yang akan diinstall. Klik Install untuk memulai proses instalasi.
13

Konfirmasi memulai instalasi, Klik Install:
14

Installer menformat hard disk, menginstal paket software dan mereparasi konfigurasi system untuk boot pertama:
15

16

Setelah instalasi dasar selesai, system mereboot secara otomatis:
17

Konfigurasi dimulai secara otomatis setelah system direboot:
18