Blog-Blog Saya

Jason Mraz – Lucky (Feat Colbie Caillat)

Jejaring Lirik - Wed, 2009-10-21 13:19

Do you hear me?
Talking to you
Across the water
Across the deep blue ocean
Under the open sky
Oh my, baby I’m trying

Boy I hear you in my dreams
I feel your whisper across the sea
I keep you with me in my heart
You make it easier when life gets hard

Lucky I’m in love with my best friend
Lucky to have been where I have been
Lucky to be coming home again
Ohhhohhhohhhohhohhohhhohh

They don’t know how long it takes
Waiting for a love like this
Every time we say goodbye
I wish we had one more kiss
I’ll wait for you, I promise you I will

Lucky I’m in love with my best friend
Lucky to have been where I have been
Lucky to be coming home again
Lucky we’re in love in every way
Lucky to have stayed where we have stayed
Lucky to be coming home someday

And so I’m sailing through the sea
To an island where we’ll meet
You’ll hear the music fill the air
I’ll put a flower in your hair

Though the breezes through the trees
Move so pretty, you’re all I see
As the world keeps spinning round
You hold me right here right now

Lucky I’m in love with my best friend
Lucky to have been where I have been
Lucky to be coming home again
Lucky we’re in love in every way
Lucky to have stayed where we have stayed
Lucky to be coming home someday
Ohhhohhhohhhohhohhohhhohh
Ohhhohhhohhhohhohhohhhohhohhohhohh

Categories: Blog-Blog Saya

Launching situs web Mondial Teknologi Solusi (MTS)

this is adhisimon - Fri, 2009-02-06 04:21
Alamat resmi situs “Mondial Teknologi Solusi (MTS)“, perusahaan IT yang sedang saya kembangkan.

Load Balancing yang bersahabat dengan NAT

Pake Linux - Wed, 2008-09-24 00:56

Sebuah organisasi berlangganan koneksi INTERNET ke lebih dari satu ISP (Internet Service Provider). Salah satu metoda untuk mengoptimalisasikan penggunaan bandwidth adalah menggabungkan koneksi-koneksi tersebut sehingga trafik dari jaringan lokal organisasi tersebut ke INTERNET secara otomatis tersebar melalui beberapa ISP. Konsep ini dinamakan Load Balancing.

Sebuah jaringan lokal yang beranggotakan PC1 (192.168.0.1) dan PC2 (192.168.0.2). PC1 dan PC2 memiliki default gateway yang menunjuk ke 192.168.0.254 yang merupakan alamat IP dari interface eth0 milik ROUTER1. ROUTER1 sebagai gateway dari network 192.168.0.0/24 memiliki dua buah gateway ke INTERNET, yang pertama melalui interface eth1 (10.0.0.1) ke GW1 (10.0.0.2), dan yang kedua melalui interface eth2 (10.0.1.1) ke GW2 (10.0.1.2).

GW1 dan GW2 adalah milik dua buah ISP yang berbeda. Karena bukan milik sendiri, GW1 maupun GW2 tidak mengenal routing ke jaringan 192.168.0.0/24. Oleh karena itu, ROUTER1 melakukan NAT sehingga trafik dari PC1 dan PC2 terbungkus oleh IP yang dikenal oleh GW1 dan GW2.

Penjelasan pada artikel Routing for multiple uplinks/providers sudah dapat menerangkan konsep load balancing sederhana. Akan tetapi metoda pada artikel tersebut tidak mendukung penggunaan NAT. Artikel tersebut hanya dapat diterapkan jika PC1 dan PC2 menggunakan alamat IP publik, yang dikenal oleh server-server di INTERNET dan juga router-router antara (dalam hal ini GW1 dan GW2).

Tanpa penanganan khusus, pemakaian NAT pada load balancing akan menimbulkan kekacauan. Misal, paket pertama sebuah trafik dari PC1 dialirkan melalui GW1, dalam hal ini paket tersebut akan dibungkus proses NAT oleh ROUTER1 sehingga memiliki IP 10.0.0.1 sebelum diteruskan ke GW1. Tanpa penanganan khusus, tidak ada jaminan paket berikutnya tetap melalui GW1. Misalkan paket ketiga dialirkan melalui GW2, yang sebelumnya akan dibungkus oleh ROUTER1 sehingga memiliki IP 10.0.1.1. Server tujuan akan menolak paket tersebut karena IP asal tidak sesuai dengan IP asal paket-paket sebelumnya.

CONNMARK adalah modul pada iptables dan netfilter yang dapat digunakan untuk mengatasi permasalahan konsistensi routing pada load balancing yang menggunakan NAT. Sebuah trafik ditandai (diberi MARK) yang konsisten. Jika paket pertama diberi tanda 1, maka paket-paket berikutnya dari trafik tersebut diberi tanda 1 pula. Jika paket pertama diberi tanda 2, maka paket-paket berikutnya dari trafik tersebut akan diberi tanda 2 pula.

Berikut adalah contoh script yang dapat digunakan. Ini hanyalah merupakan sebuah contoh yang dibuat sesederhana mungkin untuk memudahkan pemahaman. Harap sesuaikan dengan kebutuhan.

#!/bin/bash
# Inisialisasi awal iptables
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

# Inisialisasi target-target CONNMARK
# Pada contoh ini, dibuat 2 buah target (2 ISP), sesuaikan dengan kebutuhan

iptables -t mangle -N CONNMARK1
iptables -t mangle -N CONNMARK2

iptables -t mangle -A CONNMARK1 -j MARK –set-mark 1
iptables -t mangle -A CONNMARK1 -j CONNMARK –save-mark

iptables -t mangle -A CONNMARK2 -j MARK –set-mark 2
iptables -t mangle -A CONNMARK2 -j CONNMARK –save-mark

# tandai ulang dengan tanda sebelumnya jika paket merupakan
# kelanjutan dari koneksi yang sudah ada
iptables -t mangle -A PREROUTING -p tcp -m state –state ESTABLISHED,RELATED \
-j CONNMARK –restore-mark

# tandai paket-paket pertama pada awal koneksi
iptables -t mangle -A PREROUTING -p tcp -m state –state NEW \
-m statistic –mode nth –every 2 –packet 0 -j CONNMARK1
iptables -t mangle -A PREROUTING -p tcp -m state –state NEW \
-m statistic –mode nth –every 2 –packet 1 -j CONNMARK2

# NAT koneksi keluar
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

# buat tabel routing baru
if ! cat /etc/iproute2/rt_tables | grep -q ‘^251′
then
echo ‘251 koneksi1′ >> /etc/iproute2/rt_tables
fi
if ! cat /etc/iproute2/rt_tables | grep -q ‘^252′
then
echo ‘252 koneksi2′ >> /etc/iproute2/rt_tables
fi

# kosongkan tabel routing khusus
ip route flush table koneksi1 2>/dev/null
ip route add table koneksi1 default dev eth1
ip route flush table koneksi2 2>/dev/null
ip route add table koneksi2 default dev eth2

# bikin aturan routing sehingga paket di-routing ke tabel routing
# sesuai dengan tanda yang dimiliki
ip rule del from all fwmark 0×1 lookup koneksi1 2>/dev/null
ip rule del from all fwmark 0×2 lookup koneksi2 2>/dev/null
ip rule del from all fwmark 0×2 2>/dev/null
ip rule del from all fwmark 0×1 2>/dev/null
ip rule add fwmark 1 table koneksi1
ip rule add fwmark 2 table koneksi2

# flush cache tabel routing
ip route flush cache

Kode sumber contoh script load balancing dan NAT

Referensi:

Catatan:
Jika anda menggunakan CentOS 5 atau sebelumnya, anda dapat menggunakan paket RPM iptables dari Fedora agar iptables mendukung modul STATISTIC pada modul CONNMARK (telah diuji pada CentOS 5.2 dengan menggunakan iptables dari RPM milik Fedora 9).

Categories: Blog-Blog Saya

Bash sebagai kalkulator sederhana di CLI (Command-Line Interface)

Pake Linux - Thu, 2008-09-11 03:49

Bash, adalah sebuah shell Command-Line Interface yang sangat popular di lingkungan Unix/Linux. Seperti layaknya shell pada Unix, Bash bukanlah sebuah shell sederhana. Ia dilengkapi banyak fitur.

Salah satu penggunaan fitur pada Bash adalah sebagai kalkulator simpel, sederhana, dan ringkas. Jika anda berada dalam modus command-line, anda tidak perlu menjalankan aplikasi kalkulator untuk melakukan proses kalkulasi sederhana. Cukup jalankan perintah-perintah seperti berikut dalam shell Bash anda:

$ echo $(( 2 * 3 ))
$ echo $(( 1024 * 1024 ))
$ echo $(( 2321 * 3 - 4 ))

Selamat mencoba!

Catatan:
Jangan ketik ‘$’ pada awal perintah seperti contoh-contoh perintah di atas. Tanda ‘$’ di awal baris hanya merupakan simbol shell command-line.

Categories: Blog-Blog Saya

Hindari login ke sistem sebagai root

Pake Linux - Thu, 2008-09-11 03:00

Hindari login ke sistem sebagai ‘root’, mengapa? Jawaban singkatnya, karena alasan keamanan sistem dan integritas data!

Jika anda terbiasa login sebagai “administrator” pada sistem operasi lain, kurangi, bahkan hapus kebiasaan anda login ke sistem sebagai user pada level “super user”. Kebiasaan tersebut sangat beresiko. Bayangkan jika tanpa sengaja anda menghapus file-file penting pada sistem, baik karena salah klik mouse pada antarmuka grafis, ataupun salah perintah “rm -rf” di direktori /.

Lalu bagaimana jika saya harus menjalankan perintah-perintah yang hanya bisa dijalankan oleh superuser (root)?

Jika anda memang harus menjalankan perintah-perintah superuser, tetaplah login sebagai user biasa. Setelah login, anda dapat menggunakan mekanisme “naik pangkat” yang disediakan oleh Linux. Metoda ini sederhana tapi sangat berdaya guna.

Setelah login sebagai user biasa, anda dapat melakukan aktifitas-aktifitas user biasa pada umumnya. Ketika anda butuh naik pangkat, pada modus command-line interface (CLI) anda dapat menggunakan perintah “su”.

Misal anda login sebagai “budi”. Ketika anda ingin menginstal paket “xyz.rpm”, anda dapat mengeksekusi perintah berikut:

$ su -c “/bin/rpm -ivh xyz.rpm”

Atau misal anda ingin membuat sebuah user dengan id “iwan”, anda dapat menjalankan:

$ su -c “/usr/sbin/useradd iwan”

Jika anda ingin menjadi “root” untuk menjalankan beberapa perintah secara interaktif, cukup mengeksekusi perintah:

$ su -l

Setiap anda mengeksekusi perintah “su”, anda akan ditanya password user yang ingin anda pakai, dalam hal ini password dari “root” (perintah “su” tidak hanya berfungsi untuk menjadi “root” saja, tetapi bisa juga untuk menjadi user lain, misal “su -l budi” akan menjadikan anda sebagai budi, dalam hal ini masukkan password user “budi” setelah perintah “su -l budi”). Untuk informasi lebih lanjut mengenai perintah “su”, silahkan baca manual “su” dengan menjalankan perintah “man su”.

Selain perintah “su”, anda juga dapat menggunakan mekanisme “sudo”. “sudo” memungkinkan kita membuat list hak user dalam menjalankan perintah sebagai user lain tanpa user tersebut harus mengetahui password user lain yang ingin digunakan. Untuk mengedit list tersebut, silahkan gunakan perintah “visudo”. Untuk informasi lebih lanjut mengenai “sudo” dan “visudo”, silahkan baca manual terkait dengan perintah “man sudo” dan “man visudo”.

Pada distribusi seperti Fedora dan Red Hat Enterprise Linux terbaru juga tersedia pula mekanisme consolehelper sebagai pembungkus (wrapper) yang membantu user biasa yang sedang login di console (CLI maupun GUI) untuk menjalankan program sistem.

Keuntungan lain dari metoda login sebagai user biasa kemudian baru naik pangkat menjadi superuser ketika dibutuhkan adalah prosedur pencatatan log. Metoda ini memungkinkan pelacakan user mana yang menjalankan perintah sistem, karena pada log tercatat user tersebut login sebagai user biasa, bukan “root”. Bayangkan jika sistem anda memiliki lebih dari satu administrator. Jika semua administrator tersebut langsung login sebagai “root”, kita tidak tahu siapa yang saat ini sedang login. Jika masing-masing administrator login sebagai user biasa mereka masing-masing, kita dapat dengan mudah mengetahuinya.

Untuk menambah keamanan, jika anda menggunakan mekanisme “sudo”, anda dapat mengubah password “root” secara berkala tanpa harus memberitahu password “root” tersebut kepada semua administrator. Para user yang terdaftar pada file “sudoers” dapat login tanpa password “root”. Konfigurasi “sudoers” memungkinkan user menjadi “root” dengan menggunakan password user itu sendiri atau bahkan tanpa password.

Categories: Blog-Blog Saya

Pengenalan singkat RPM (RPM Package Manager)

Pake Linux - Thu, 2008-09-11 01:55


RPM (RPM Package Manager atau RedHat Package Manager) adalah sebuah sistem yang mengatur paket-paket yang terinstal di sistem. Dipelopori oleh Red Hat untuk Red Hat Linux, saat ini RPM digunakan pula oleh banyak distribusi besar linux lainnya.

RPM secara garis besar terdiri dari dua hal, RPM sebagai sistem manajemen paket-paket di sistem, dan juga RPM sebagai file paket yang dapat di-install pada sistem RPM.

Perintah-perintah dasar dalam menggunakan RPM:
$ rpm -i <file RPM yang ingin di-install>
$ rpm -U <file RPM yang ingin di-upgrade>
$ rpm -e <paket RPM yang ingin di-uninstall>
$ rpm -qi <paket RPM yang ingin dilihat deskripsinya>
$ rpm -qip <file RPM yang ingin dilihat deskripsinya>
$ rpm -qil <paket RPM yang ingin dilihat deskripsi dan file-file yang terdapat pada paket tersebut>
$ rpm -qilp <file RPM yang ingin dilihat deskripsi dan file-file yang terdapat pada paket tersebut>
Untuk melihat paket-paket yang ter-install pada sistem dapat menggunakan perintah:
$ rpm -qa

Catatan:
Jangan ketik ‘$’ pada awal perintah seperti contoh-contoh perintah di atas. Tanda ‘$’ diawal baris hanya merupakan simbol shell command-line.

Categories: Blog-Blog Saya

Filesystem Hierarchy Standard (FHS)

Pake Linux - Thu, 2008-09-11 01:33

Unix merupakan sebuah keluarga besar sistem operasi. Terdapat beberapa sistem operasi yang merupakan anggota keluarga Unix. Bahkan Linux sebagai salah satu anggota, memiliki banyak varian distribusi. Keragaman ini membutuhkan sebuah standarisasi yang diantaranya untuk menjaga kompabilitas sistem. Salah satu standar yang diakui adalah Filesystem Hierarchy Standard (FHS) yang merupakan sebuah kesepakatan direktori-direktori utama pada filesystem.

Direktori-direktori yang ditentukan oleh FHS diantaranya adalah:

  • /, merupakan direktori akar (root) dari seluruh hirarki.
  • /bin/, merupakan direktori yang berisi program-program yang esensial, yang harus tersedia bahkan pada modus single user.
  • /boot/, merupakan direktori tempat menyimpan file-file yang dibutuhkan oleh boot loader.
  • /dev/, sebagai kontainer penyimpan device file.
  • /etc/, sebagai penyimpan konfigurasi sistem
  • /home/, direktori untuk menyimpan data, konfigurasi, dan file-file pribadi pengguna sistem.
  • /lib/, tempat file pustaka yang dibutuhkan oleh program-program yang terdapat pada direktori /bin/ dan /sbin/.
  • /media/, direktori yang berisi mountpoint dari removable media.
  • /mnt/, mountpoint sementara.
  • /opt/, tempat penyimpanan paket aplikasi opsional.
  • /proc/, filesystem maya yang mendokumentasikan status kernel dan proses sebagai file teks.
  • /root/, serupa dengan /home/, tetapi khusus untuk user ‘root’.
  • /sbin/, program esensial yang hanya boleh dijalankan oleh superuser (user root).
  • /tmp/, direktori penyimpanan sementara.
  • /usr/, hierarki kedua untuk menyimpan program dan data aplikasi multi pengguna (berisi direktori-direktori seperti pada /, misal /usr/bin/, /usr/sbin/, /usr/lib/, /usr/var/, dan lain-lain).
  • /var/, tempat penyimpanan file-file variabel, seperti file log, antrian printer, file email sementara, dan lain-lain.

Sumber:

Categories: Blog-Blog Saya

Masalah suara pada plugin flash di Firefox (Linux Fedora 9)

Pake Linux - Mon, 2008-09-08 22:51

Setelah beberapa lama saya memakai desktop Linux Fedora 9, saya akhirnya menyadari kalau plugin flash di firefox tidak dapat mengeluarkan suara. Flash-flash yang ditampilkan bisu. Termasuk video-video pada YouTube.

Setelah googling sana-sini, akhirnya saya menemukan sebuah entri lama di suatu blog, firefox: no sound on flash videos. Intinya, ternyata adobe-flash-plugin yang saya install melalui yum tidak memasukkan libflashsupport sebagai dependencies. Padahal pada libflashsupport-lah tersedia antarmuka ke sistem suara, dalam hal ini pulseaudio.

Untuk memperbaiki permasalahan ini, cukup menjalankan satu perintah:

yum install libflashsupport

Tadaaaaa… akhirnya saya bisa menonton video-video di YouTube lengkap dengan suaranya.

Categories: Blog-Blog Saya
Syndicate content