Thursday, September 25, 2008

Install squid di slackware 12

Melihat topic diatas mungkin sangat biasa bagi slackers mania,tapi tulisan ini saya tujukan bagi newbie slack seperti saya ;),install squid merupakan pengalaman pertama bagiku di mesin slackware di kantor tempat ku magang,setelah sekian lama ngumpulin artikel dan mencoba di mesin slackware computer local kali aku beranikan diri mencoba install squid langsung di computer kantor dengan support dari Mas Deny sama bolon9(thank’s mas for u motivations) Leet’s go langsung aja.Berikut adalah cara sederhana untuk install squid di mesin slackware kita :

Pertama² download squid package nya:
# wget http://www.linuxpackages.net/download.php?id=11469

kemudian install packagenya dengan perintah berikut:
# installpkg Squid-2.6.STABLE14-i486-1xav.tgz

Kemudian buat script bash sebagai berikut :
# vi /etc/rc.d/rc.squid

isikan rc.squid sebagai berikut:
#!/bin/sh
echo -n ' squid '
case "$1" in
start)
/usr/sbin/squid -D
;;
stop)
/usr/sbin/squid -k shutdown
;;
restart)
/usr/sbin/squid -k reconfigure
;;
*)
echo "Usage: `basename $0`
{start|stop|restart}"
;;
esac

Kemudian permissionnya /etc/rc.d/rc.squid supaya bisa di eksekusi
#chmod 755 /etc/rc.d/rc.squid

Supaya squid dapat di load otomatis ketika restart edit file rc.inet2
# vi /etc/rc.d/rc.inet2

tambah baris dibawah ini pada file /etc/rc.d/rc.init2
# Start SQUID (Squid proxy server):
if [ -x /etc/rc.d/rc.squid ]; then
. /etc/rc.d/rc.squid start
fi

Ubah kepemilikan direktori squid
# chown -R nobody:nogroup /var/log/squid/

Buat swap dengan :
# squid -z
2008/05/07 13:31:10| Creating Swap Directories

Edit file /etc/squid/squid.conf
# vi /etc/squid/squid.conf

sepengetahuan saya , ada beberapa baris modifikasi dari squid.conf sudah membuat squid Anda berjalan normal.berikut hal yang perlu di perhatikan dalam squid.conf:

o cache_mem 256 MB
Ganti besar memory 1/3 dari kapasitas memory Anda. Memang tidak ada
patokan pasti. Jika Anda punya memory 512MB, dan dikhususkan buat
squid, berjalan di run level 3, mungkin Anda bisa mengganti dengan
400MB ….hehehehe :D

o cache_dir ufs /var/log/squid/cache 1000 16 256
Berapa besar kapasitas Hardisk Anda ? Angka 1000 menandakan 1000MB
untuk cache squid di hardisk. Ingin lebih ? Silahkan !

o acl our_networks src 192.168.100.0/24 192.168.200.0/24
Baris di atas menunjukkan bahwa komputer dengan alamat 192.168.100.0
sampai 192.168.100.255 dan komputer dengan address 192.168.200.0 sampai
192.168.200.255 merupakan our_networks.

o http_access allow our_networks
Baris diatas memgatakan, squid hanya mengijinkan cache http pada alamat
yang disebutkan our_networks

•cache_mgr admin@belajarbareng.net
Sesuaikan dengan alamat email anda

Berikut sebagian konfigurasi dari squid.conf punyaku:

http_port 312 transparent
cache_mem 128 MB
maximum_object_size 256 KB
minimum_object_size 4 KB
cache_dir diskd /cache 20000 16 256 Q1=72 Q2=64
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
acl our_networks src 192.168.100.0/24 <--- tergantung network client kita acl lan src 10.35.20.0/24 http_access allow our_networks

Jika kita ingin menjalankan squid sebagai transparent proxy maka entry² berikut pada file squid.conf harus di enable:

untuk kernel 2.6 pakai :
http port 3128 transparent

untuk kernel 24 pakai :

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

kemudian tambahkan pada firewall kita dengan baris dibawah ini:
misal eth1 sebagai local dan eth0 adalah yang erhubung degan internet dengan ip 118.98.169.11

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 118.98.169.11:3128

Start squid dengan:

# /etc/rc.d/rc.squid start

mohon kritikan & saranx ka2 semua,

salam bone slack

sumber : http://makassar-slackers.org/node/143

Monday, September 22, 2008

Mount Flshdisk di Slackware

Buatkan sebuah direktori untuk mount point dari device usb:

# mkdir /mnt/usb

Kemudian jalankan perintah:

# mount /dev/sda1 /mnt/usb

jika flashdisk tidak bisa ditulisi, umount terlebih dahulu flashdisk dengan perintah

# umount /mnt/usb

kemudian jalankan perintah mount dengan ditambah opsi rw (read dan write)

# mount -o rw /dev/sda1 /mnt/usb

Untuk memastikan flashdisk sudah terbaca atau belum masuk kedirektori usb dan kemudian gunakan perintah ls untuk melihat isi dari flashdisk.

# cd /mnt/usb
# ls

bisa juga menggunakan perintah

# mount
# df

Catatan: Karena lubang atau port usb itu ada banyak maka ganti sda1 dengan yang lainnya jika belum bisa terbaca. Misal

# mount /dev/sda /mnt/usb
# mount /dev/sda2 /mnt/usb
# mount /dev/sda3 /mnt/usb

dan seterusnya, sesuai dengan jumlah port usb yang ada dikomputer.


Saturday, September 20, 2008

DNS server On Slackware 12

Yang biasa akses internet pasti sering berurusan dengan dns minimal men”set” dns yang sesuai yang biasanya diberitahukan oleh provider sehingga bisa mengakses internet.

DNS adalah ...
DNS merupakan singkatan dari Domain Name Service, fungsi utamanya adalah menerjemahkan alamat ip komputer dengan alamat yang lebih manusiawi atau bahasa daerahnya “humanable”. Seperti yang kita ketahui, setiap komputer yang terhubung ke internet harus punya ip address. Namun tidak semua orang bisa menghapalkan 66.94.234.13 (saya saja cuma copy paste ji itu hehehe), lebih mudah menghapalkan www.yahoo.com.

Siapa yang butuh DNS?
Seperti yang disinggung sebelumnya, setiap pengakses internet membutuhkan DNS kecuali sanggup menghapal sebanyak 256*256*256*256 ip address, Salah satu pengguna DNS adalah pengakses internet, tapi pengakses internet tidak perlu membuat DNS Server karena bisa menggunakan DNS server yang disediakan oleh ISP.
Pengguna DNS selanjutnya tentu saja adalah ISP, dan mereka yang mengelola domain dan webserver. Pengguna DNS yang lainnya lagi adalah orang iseng yang pengen DNS Server sendiri, soalnya ndak ada kerjaan hehehe.

BIND
Ada banyak program untuk membuat DNS server, berhubung yang default terinstall di slackware adalah bind9 maka kita akan menggunakan itu saja. Jika bind9 terinstall maka akan terdapat beberapa file – file instalasi default seperti :

var/named/caching-example/named.ca
var/named/caching-example/named.local
var/named/caching-example/localhost.zone
etc/rc.d/rc.bind
etc/named.conf

Tiga file awal adalah contoh dari konfigurasi bind9, file selanjutnya adalah init script (rc.bind) dan konfigurasi dari bind (named.conf).

Berikut adalah isi dari file named.conf yang masih perawan :

options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};


//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "caching-example/named.ca";
};

zone "localhost" IN {
type master;
file "caching-example/localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "caching-example/named.local";
allow-update { none; };
};

Kita akan bahas per blok, dan apa saja modifikasi yang akan kita buat.

Blok pertama

options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

Blok ini merupakan global setting dari bind, directory “/var/named” adalah direktory kerja dari bind, di direktory tersebut di tempatkan file – file konfgurasi domain yang biasa di sebut zone. Tidak disarankan untuk mengutak – atik blok ini kecuali Anda tahu apa yang Anda kerjakan. Atau dengan kata lain, biarkan mi saja begitu.

Blok Kedua

zone "." IN {
type hint;
file "caching-example/named.ca";
};

Blok ini merupakan blok root zone atau kasarnya alamat – alamat dari domain – domain internasional. Kita membutuhkan blok root zone ini. Biasanya saya melakukan perubahan dengan menghilangkan “caching-example/” pada baris file sehingga hanya berbentuk seperti ini :

file "named.ca";

Ini soal kebiasaan saja, saya lebih senang melihat semua file – file zone berada di bawah direktori /var/named, jadi tinggal ganti saja baris file tersebut dan pindahkan filenya :

# mv /var/named/caching-example/* /var/named

Blok Ketiga
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};

Blok ini adalah forward localhost, Dalam artian jika dns server mendapatkan perintah untuk mengetahui alamat ip dari localhost maka bagian blok ini yang mengurusnya.
saya sarankan untuk tetap menyimpan blok ini tapi berhubung sudah memindahkan file /var/named/caching-example/ jadi bari filemenjadi :

file "localhost.zone";

Blok Keempat

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

Blok ini merupakan kebalikan dari blok localhost atau biasa disebut reverse, karena kebalikan reverse kerjanya juga terbalik yaitu mencari nama dari ip yang di”query”kan ke DNS server.

Semua konfigurasi diatas jika betul (termasuk nama filenya dan direktorinya) maka DNS server kita sudah bisa digunakan, kita tinggal mengaktifkannya mengeksekusi file rc.bind

# /etc/rc.d/rc.bind start

Jika tidak ada error maka kita bisa meng”query” domain – domain luar misalnya yahoo, google dll dengan syarat kita terhubung ke internet. Perintah untuk megquery domain bisa menggunakan dig atau nslookup :

arman@oridecon:~$ dig yahoo.com

; <<>> DiG 9.4.1 <<>> yahoo.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14210
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 7, ADDITIONAL: 2

;; QUESTION SECTION:
;yahoo.com. IN A

;; ANSWER SECTION:
yahoo.com. 300 IN A 66.94.234.13
yahoo.com. 300 IN A 216.109.112.135

;; AUTHORITY SECTION:
yahoo.com. 162027 IN NS ns6.yahoo.com.
yahoo.com. 162027 IN NS ns8.yahoo.com.
yahoo.com. 162027 IN NS ns1.yahoo.com.
yahoo.com. 162027 IN NS ns2.yahoo.com.
yahoo.com. 162027 IN NS ns3.yahoo.com.
yahoo.com. 162027 IN NS ns4.yahoo.com.
yahoo.com. 162027 IN NS ns5.yahoo.com.

;; ADDITIONAL SECTION:
ns6.yahoo.com. 162027 IN A 202.43.223.170
ns8.yahoo.com. 76086 IN A 202.165.104.22

;; Query time: 415 msec
;; SERVER: 192.168.10.254#53(192.168.10.254)
;; WHEN: Wed Aug 8 17:25:00 2007
;; MSG SIZE rcvd: 217

Jika keluar seperti diatas berarti dns kita sudah berfungsi, kita juga bisa menggunakan nslookup

arman@oridecon:~$ nslookup
> server localhost

Ketikkan perintah server localhost untuk memastikan bahwa dns server yang digunakan oleh nslookup adalah dns server yang kita buat, karena secara default nslookup menggunakan dns server sesuai dengan entry pada file /etc/resolv.conf

Default server: localhost
Address: 127.0.0.1#53

Dengan ini maka nslookup menggunakan server localhost. Selanjutnya tinggal masukkan saja domain yang akan kita query misalnya yahoo.com

> yahoo.com
Server: localhost
Address: 127.0.0.1#53

Non-authoritative answer:
Name: yahoo.com
Address: 216.109.112.135
Name: yahoo.com
Address: 66.94.234.13

Jika keluarnya seperti ini maka dns kita sudah siap untuk di kaccaki (oprek) lagi.
Untuk menambahkan domain lain (jika kita punya domain yang terdaftar atau sekedar iseng saja) kita bisa mengcopy konfigurasi dari localhost.zone.

Misalnya kita ingin membuat domain gorilla.com dengan ip 192.168.1.1 maka kita buat entry dari gorilla.zone seperti ini :

zone "gorilla.com" IN {
type master;
file "gorilla.zone";
allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
allow-update { none; };
};

Yang perlu diperhatikan adalah :

zone "gorilla.com" IN {

Ini kita sesuaikan dengan nama domain yang kita buat. Jika kita membuat domain kingkong.com maka baris zone itu juga berisi “kingkong.com”, selanjutnya adalah jenis dari domain tersebut apakah merupakan domain master atau slave, untuk lebih detil tentang master dan slave dari domain silahkan baca dokumentasi tentang dns. Baris berikut adalah file dari domain. File bisa kita namakan terserah kita namun yang pasti sama dengan yang ada pada blok zone, dalam hal ini kita menggunakan nama file “gorilla.zone”, saya sarankan nama file yang digunakan representatif sehingga untuk administrasi ataupun trouble shooting tidak lagi pusing soal nama file dan domain.
Blok terakhir yang kita buat adalah reverse dari domain gorilla.com, berhubung karena kita dalam tahap belajar maka kita menggunakan ip address lokal saja, dalam hal ini kita defenisikan adalah 192.168.1.X, yang perlu diperhatikan pada pendefenisian reverse, penulisan alamat ip itu ditulis terbalik (namanya juga reverse) jadi jika kita menggunakan ip 192.168.1.X maka yang dituliskan di zone reverse adalah “1.168.192.in-addr.arpa”, demikian juga halnya jika menggunakan ip - ip yang lain atau ip publik. Baris selanjutnya sama dengan forward dari gorilla.com yaitu type domain dan file zone, dalam hal ini kita menset “192.168.1.zone” untuk file dari reverse kita.

File – file zone
Setelah file named.conf kita acak – acak sekarang kita berurusan sama yang berwajib, eh file – file zone. Seperti kita definisikan sebelumnya di file named conf bahwa direktory dari bind berada di /var/named/ :

directory "/var/named";

Karena kita juga sudah memindahkan file di /var/named/caching-example/, sekarang di direktori /var/named terdapat file – file berikut :

arman@oridecon:~$ ls /var/named/ -l
total 12
-rw-r--r-- 1 root root 195 2007-06-08 13:42 localhost.zone
-rw-r--r-- 1 root root 2517 2007-06-08 13:42 named.ca
-rw-r--r-- 1 root root 433 2007-06-08 13:42 named.local

Seperti yang kita sudah defenisikan sebelumnya pada file named.conf terdapat tiga file zone dari instalasi default. File named.ca adalah file dari root zone, kita bisa saja membuat file ini tapi sebaiknya gunakan saja file dari instalasi default. File localhost.zone adalah file dari domain “localhost” sedangkan “named.local” adalah reverse dari domain “localhost”.

Untuk lebih jelasnya kita lihat saja langsung kedua file tersebut.

arman@oridecon:/var/named$ cat localhost.zone
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

1D IN NS @
1D IN A 127.0.0.1

Yang perlu diperhatikan adalah dua baris terakhir. Baris kedua dari terakhir, entry tenang NS, ns inilah yang akan digunakan pada pencarian sebuah domain. Entry pada kolom terakhir yaitu “@”, yang menunjuk ke A record. Pada baris terakhir menentukan alamat ip yang digunakan pada domain dalam hal ini adalah “localhost” dengan ip 127.0.0.1.
Selanjutnya adalah file reversed dari localhost yaitu named.local :

arman@oridecon:/var/named$ cat named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.

1 IN PTR localhost.

Perhatikan pada baris terakhir yang entry pada kolom pertama adalah “1”, berarti reverse mempunyai ip 127.0.0.1 karena telah disebutkan di file named.conf.

Yang juga perlu diperhatikan adalah entry serial, jika mengunakan dns slave setiap kali mengganti entry dari file zone kita juga harus mengganti serial (formatnya biasanya sesuai dengan tanggal) sehingga server dns slave bisa menyesuaikan setiap perubahan seperti yang di dns master.

Domain Kita
Setelah file localhsot dan reversenya kita intip sekarang kita mo buat domain buat kita, seperti yang disinggung diatas kita bisa membuat domain untuk kita, seperti contoh kita diatas “gorrilla.com” dengan ip 192.168.1.1, tambahkan bari berikut di named.conf

zone "gorilla.com" IN {
type master;
file "gorilla.zone";
allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
allow-update { none; };
};

Saya sarankan untuk mengcopy saja entry dari localhost dan reversenya, untuk menghindari kesalahan pengetikan kecuali anda termasuk orang yang teliti dan suka buang waktu :P.
Setelah membuat perubahan pada file named.conf sekarang kita buat filenya, seperti yang telah di defenisikan bahwa file yang digunakan oleh domain “gorilla.com” adalah “gorilla.zone” dan reversenya adalah “192.168.1.zone”. Saya juga menyarankan untuk mengcopy saja dari file zone localhost.

# cp localhost.zone gorilla.zone
# cp named.local 192.168.1.zone

Selanjutnya adalah menyesuaikan dengan domain kita, ganti semua kata localhost dengan gorilla.com pada file tersebut seperti ini :

$TTL 86400
$ORIGIN gorilla.com.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

1D IN NS dns.gorilla.com.
1D IN A 192.168.1.1

dns 1D IN CNAME @
www 1D IN CNAME @
arman 1D IN A 192.168.1.99

Pada konfigurasi ini kita juga menambahkan subdomain, yaitu dns.gorilla.com, www.gorilla.com dan arman.gorilla.com. Untuk dns.gorilla.com dan www.gorilla.com menunjuk pada ip yang sama yaitu 192.168.1.1 . Kita bahas baris yang menurut saya penting.

$ORIGIN gorilla.com.

Biasanya berisikan nama domain yang digunakan. Pada kasus kita gorilla.com.

1D IN NS dns.gorilla.com.

Bagian ini merupakan entry dari NS server dari domain kita. Jika kita menggunakan lebih dari satu NS untuk domain kita tinggal tambahkan saja NS entry berikutnya. Umumnya jika kita mendaftarkan domian di registrant domain dibutuhkan lebih dari satu NS.

1D IN A 192.168.1.1

Baris merupakan alamat ip dari domain yang digunakan, yaitu 192.168.1.1.

www 1D IN CNAME @
arman 1D IN A 192.168.1.99

Baris pertama merupakan subdomain www yang menunjuk pada A record, jadi jika mengakses www.gorilla.com maka yang ip address yang di tuju adalah 192.168.1.1. Untuk baris berikutnya adalah sebuah sub domain dengan nama “arman” yang menunjuk ke ip 192.168.1.99, baris ini tidak lagi menggunakan CNAME melainkan A karena ip yang digunakan adalah berbeda dengan ip dari default domain yaitu gorilla.com. Jika kita mengakses arman.gorilla.com sebetulnya mengakses ke 192.168.1.99. Hal yang sama juga kita buat untuk membuat domain dengan ip public. Silahkan menambahkan sub – sub domain yang lain lagi jika memang dibutuhkan.

Selanjutnya adalah reverse dari gorilla.com.

$TTL 86400
@ IN SOA gorilla.com. root.gorilla.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS gorilla.com.

1 IN PTR gorilla.com.
99 IN PTR arman.gorilla.com.

Seperti halnya reverse dari localhost kita juga hanya mengisikan ip dari daftar domain dan sub domain yang kita buat.
Jika sudah selesai, silahkan merestart bind :
# /etc/rc.d/rc.bind restart

Jika tidak ada kesalahan (sebaiknya periksa /var/log/message) maka kita sudah bisa mengquery domain yang kita buat.

Salam,
Arman Idris
arman[at]makassar-slackers[dot]org

tak culik tanpa ijin dari http://makassar-slackers.org/Membuat+Dns+Server