Maenan CBQ

November 20, 2006 at 12:04 pm (linucks sux, slack)

Gue termasuk orang yang tidak bisa menata file di komputer dengan rapi. Ya, kalau kalian punya waktu luang dan berkenan meriksa isi harddisk komputer gue, kalian akan menemukan banyak file yang bertebaran di sembarang folder.

Salah satu tempat yang paling banyak menyimpan file adalah direktori tmp. Padahal mustinya cuma temporary doangan yah. Nggak heran kalau akhirnya space harddisk komputer gue penuh dengan file-file tidak jelas. Sementara di komputer gue juga tersimpan koleksi Smallville dan Heroes. Alhasil demi kepentingan yang lebih penting, gue terpaksa memindahkan beberapa koleksi ke harddisk pc lain yang nganggur dan mempunyai space besar.

Nah, yang jadi masalah adalah, kalau gue sedang melakukan aksi abusing space harddisk, secara otomatis gue melakukan abusing bandwidth yang ada. Kenapa? Kalau ngecek di mrtg yang ada, setiap kali gue melakukan kupi-mengkupi file, maka mrtg yang ada langsung melonjak gila-gilaan.

mrtg upload

Kok bisa? Ya namanya transfer antar pc, bandwidth yang ‘kosong’ dan tidak dilimit mengakibatkan gue abusing 2 hal dalam waktu yang bersamaan. Setelah dipikir-pikir, akhirnya gue memutuskan untuk masang bandwidth limiting di pc gue khusus untuk traffic scp. Kok scp? Karena gue transfer file antar pc melalui scp.

Tadinya gue mikir mau pakai HTB, tapi karena gue udah pernah maenan HTB beberapa kali sementara CBQ belum pernah gue sentuh, jadi aja CBQ yang gue pake.

Langkah yang perlu dilakukan, pertama-tama, Install Linux.

Pastikan kernel linux anda dikompail dengan modul yang dibutuhkan oleh CBQ. Kalau sudah, download cbq.init. Simpan file cbq.init itu ke dalam direktori /etc/rc.d. Untuk Redhat dan teman-temannya, anda bisa simpan di /etc/rc.d/init.d. Karena gue pake slackware, file cbq.init itu gue namakan rc.cbq.init.

Buat direktori cbq di /etc/sysconfig

# mkdir -p /etc/sysconfig/cbq

Karena gue hanya mau ngelimit traffic scp, maka gue bikin file cbq-10.scp-network di direktori /etc/sysconfig/cbq. Isi file tersebut kurang lebih begini:

DEVICE=eth0,10Mbit,1Mbit
RATE=1000Kbit
WEIGHT=100Kbit
LEAF=sfq
PRIO=5
RULE=202.1.2.3,:22

Besaran RATE dan WEIGHT itu gue ubah-ubah tergantung kebutuhan gue transfer file seberapa cepat atau seberapa gede traffic yang nongol di mrtg.

Kalau sudah, tinggal compile cbq dengan menjalankan perintah
/etc/rc.d/rc.cbq.init compile

Kalau sudah yakin mau ngelimit traffic, jalankan cbq-nya
/etc/rc.d/rc.cbq.init start

Kalau sudah bosen nungguin kopi file yang lama, matiin cbq
/etc/rc.d/rc.cbq.init stop

Done.

Permalink 5 Comments

Clearing Quarantine Mail

November 16, 2006 at 4:20 pm (linucks sux, slack)

Kalau punya email server yang dilengkapi antivirus, salah satu kegiatan rutin selain ngecek log, musti juga rajin-rajin ngecek folder quarantine. Itu kalau option antivirus-nya diset quarantine, kalo diset buat delete ya ga usah dicek.

Qmailscanner yang gue pake punya direktori quarantine di direktori /var/spool/qmailscan/quarantine, dan karena dia berupa maildir, semua email yang dikarantina ada di /var/spool/qmailscan/quarantine/new.

Karena traffic email gue cukup padat (dengan sekitar puluhan ribu spam setiap hari), maka isi dari direktori quarantine ini cepat sekali melonjak. Dalam sebulan gue pernah dapet sekitar 2GB email bervirus yang dikarantina. Karena email-email bervirus ini gak ada gunanya disimpen, kecuali elu orang yang doyan neliti virus, maka tugas gue adalah menjaga space harddisk yang ada untuk menyimpan hasil donlodan seperti Smallville.

Gue kerajinan bikin script buat bersihin isi direktori karantina, padahal sebenernya sih bisa pake program tmpwatch, tapi distro yang gue pake rupanya nggak doyan masang tmpwatch ini di dalam paket-paketnya.

Solusi yang gampang bagi gue ya tinggal ngikutin petunjuk di sini. Tinggal pakai perintah find.

find /var/spool/qmailscan/quarantine/new -type f -atime +30 -delete

Gue setel dengan option -atime +30, yang berarti cari semua file yang tanggal aksesnya lebih dari 30 hari. Dengan kata lain, gue menyisakan email-email yang dikarantina dalam hitungan 1 bulan (30 hari) terakhir.

Perintah find ini dimasukin dalam crontab, tinggal pilih berapa kali perlu dijalanin dalam waktu satu minggu. Gue sih prefer menjalankan setiap hari, pada jam-jam yang nggak sibuk.

Yang rada aneh, gue nggak menemukan option -delete ini di distro redhat. Mungkin karena beda versi paket find.

Permalink 2 Comments

Naik Turun 30 Menit

November 7, 2006 at 11:04 am (solaris)

Sudah duduk dengan nyaman? Sudah sedia secangkir kopi dan cemilan? Kalau sudah, silakan anda lanjutkan baca tulisan ini, soalnya (mungkin) bakal panjang.

Berawal dari beberapa waktu yang lalu, gue ngecek backup server yang sering gagal dalam menjalankan tugasnya. Si backup server ini hanya bertugas mengeksekusi beberapa script untuk membackup server-server yang lain dan script itu dijalankan melalui crontab dieksekusi setiap harinya.

Beberapa hal aneh yang terjadi adalah si backup server ini sering gagal dalam mengirimkan email report, statusnya masih queue sampai harus diflush dahulu. Keanehan yang kedua, beberapa script yang dieksekusi tidak berjalan sebagaimana mestinya. Padahal kalau dicek melalui log crontab (/var/log/cron), script tersebut sudah dijalankan sesuai dengan jadwalnya. Kesalahan pada scriptnya? Kayaknya mah gak mungkin. Soalnya gagal ini hanya kadang-kadang aja. Kalau dieksekusi manual, scriptnya sukses membackup. So? Masalahnya apa ya?

Nggak sengaja pas lagi remote server backup ini, gue iseng ping mail server.
# ping mail
ping: unknown host mail

Lah sih… Unknown host? Cek /etc/resolv.conf, sudah mengarah ke DNS yang benar. Tapi ga bisa resolve? Artinya problem ada di DNS toh. Baiklah™.

Dengan berbekal info ini, gue login ke DNS server. Aneh dan semakin aneh. DNS server kadang-kadang mau nerima query dari host lain. Tapi ada beberapa waktu yang dianya malah ga bekerja. Setelah seharian lebih[1] mempelajari log dari DNS, akhirnya ketemu juga polanya. Si DNS ini mulai tidak menerima query pada setiap jamnya di menit ketujuh. Dari menit ketujuh ini dan 30 menit ke depan, si DNS magabut. Menit ke-37, si DNS mulai bekerja normal lagi dan kembali berhenti pada menit ke-7 jam berikutnya. Bingung dan sebel sih gue sama mesin ini. Tapi waktu ngeliat uptimenya, gue jadi maklum. Sudah tua toh dia.
# uptime
10:36am up 1148 day(s), 1:35, 1 user, load average: 1.51, 1.55, 1.55

Gara-gara magabut ini traffik MRTG gue dapet pujian dari jelantix
mrtg bermasalah

<jelantix> wah keren itu …
<jelantix> gemana cara nya bikin graph mrtg kayak gitu.

Nah, akar dari segala masalah udah ketawan. Gegara DNS yang magabut ini bikin banyak masalah yang lain. Entah mail yang ga bisa diakses, website yang nggak kebuka, backup script yang nggak jalan. Cuma sekarang, apa solusinya? Gue cuma tau si DNS mogok kerja tiap 30 menit. Tapi apa yang bikin dia mogok?

Selama hampir 3 hari gue nunggu wangsit yang turun dari mbah Maridjan sambil bersumpah 3 hari 3 malam nggak akan makan Sushi ataupun Hanamasa dulu soalnya blom gajian lagi.

Setelah melanggar sumpah dengan mimpi makan Yakiniku di Hanamasa, gue mulai menganalisa masalahnya.

1. DNS nggak bisa diquery tiap 30 menit.
2. Selama rentang 30 menit mogok itu, server DNS masih bisa diakses remote.
3. Service ssh artinya tidak mogok tiap 30 menit.
4. Yang bermasalah di server DNS hanya service DNS saja.
5. Jangan mimpi makan Yakiniku, bangun-bangun hanya bikin ngiler aja.

Ok, berbekal hasil analisa itu gue coba restart service DNS melalui script di /etc/init.d. Stopping … Starting … OK.

Coba query lagi…
Loh, masih failed. Masih ngambek juga. Selidik punya selidik, entah kenapa waktu distop, service DNS masih jalan juga. Jadi selama ini kalau direstart, service yang jalan masih itu-itu juga. Belum pernah ada restart service yang benar. Selama ini kalau ada pengubahan isi DNS, service hanya direload saja. Iseng kemarin sekitar jam 4 gue kill servicenya trus gue start lagi. Sekarang ini hasil MRTGnya:
mrtg bener

Done. Mission accomplished!
Next time kalau restart service, mendingan kill manual kali ya.


[1] Kenapa seharian? Ternyata ini mesin Solaris. Gue blom terlalu familiar sama jeroan dari Solaris.

Permalink 7 Comments