Create Permanent Static Route with Two Lan Card

I want to create routing for my two Lan Card. First Lan Card (eth0) for Internet access, and second Lan Card (eth1) for my Intranet. So when i access internet, it will route to my eth0 by default. otherwise, with eth1 for intranet access.

Public (eth0):

Intranet (eth1):

Basic command for adding route on Linux:

route add [-net|-host] <IP/Net> netmask <Mask> gw <Gateway IP> dev <Int>X

And this is what we do:

route add -net netmask gw dev eth1
route add -net default netmask gw dev eth0

To check the route, simply type “route” with no arguments


The output will seen like this:

Kernel IP routing table
Destination¬ ¬ ¬ ¬ Gateway¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ Genmask¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ Flags¬ Metric Ref¬ ¬ ¬ Use Iface¬ *¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬¬ ¬ ¬ ¬ U¬ ¬ ¬ ¬ 1¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ 0¬ ¬ ¬ ¬ ¬ ¬ ¬ 0 eth0¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ *¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ U¬ ¬ ¬ ¬ ¬ 1¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ 0¬ ¬ ¬ ¬ ¬ ¬ ¬ 0 eth1
link-local¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ *¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ U¬ ¬ ¬ 1000¬ ¬ ¬ ¬ 0¬ ¬ ¬ ¬ ¬ ¬ ¬ 0 eth0¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬¬ ¬ ¬ ¬ ¬ ¬¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ UG¬ ¬ ¬ 0¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ 0¬ ¬ ¬ ¬ ¬ ¬ ¬ 0 eth1
default¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬¬ ¬ ¬¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ UG¬ ¬ ¬ 0¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ 0¬ ¬ ¬ ¬ ¬ ¬ ¬ 0 eth0

Now, to keep this route persistent, add this lines to file /etc/networking/interfaces

up route add -net netmask gw dev eth1
up route add -net default netmask gw dev eth0

Restart networking to confirm the changes

sudo /etc/init.d/networking restart

Other method, Create a file called defaultroute in /etc/init.d and make it executable (chmod +x /etc/init.d/defaultroute).
Add the route commands there and do this:

update-rc.d defaultroute defaults 99



Restore Ubuntu Boot Loader

To repair your Ubuntu GRUB, you need Ubuntu LiveCD, boot from this CD, and open a terminal. Be a root, by typing “sudo su” and enter your password.

Find the partition which your Ubuntu system is installed.

# fdisk -l

On my machine, my Ubuntu partition is on /dev/sda3, so i’ll use this for example.

Create a mountpoint for this:

# mkdir /media/rootgrub
# mount /dev/sda3 /media/rootgrub

Check if your partition is the correct partition

# ls /media/rootgrub

if the output is not like this, then you have the wrong partition

bin dev home lib mnt root srv usr boot etc initrd lib64 opt sbin sys
var cdrom initrd.img media proc selinux tmp vmlinuz

unmount the partition if have the wrong one, then mount the others. To make sure you have the correct partition, run ls /media/root/boot, which should output something like this :

config-2.6.18-3-686 ¬ ¬ initrd.img-2.6.18-3-686.bak ¬ ¬
grub lost+found ¬ ¬ ¬ ¬ ¬ vmlinuz-2.6.18-3-686 ¬ ¬ ¬ ¬ ¬ ¬ initrd.img-2.6.18-3-686

Now when everything is ok, install the Grub:

# sudo grub-install –root-directory=/media/rootgrub¬ /dev/sda

If you have some warning, try this:

# sudo grub-install –root-directory=/media/rootgrub¬ /dev/sda –recheck

Change /dev/sda to other partition you want to install Grub on. If all goes fine, you will see the output like this:

Installation finished. No error reported. This is the contents of the device map /boot/grub/ Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script `grub-install’.

(hd0) /dev/sda

Restart to your harddrive (not to LiveCD) and see, your GRUB should be AUTOMAGICALLY appear!


Reset Mysql Root Password

Terrible, just setup a new server, then i forgot root password for mysql database. So i need to reset the root password.

This is the way i do:
1. Login to our server machine as root (system administrator). Yes! we must have root access to our machine.

2. Shutdown mysql server (if already running). Make sure no other mysql daemon running.

$ /etc/init.d/mysql stop

3. Create a text file and place the following statements in it. Replace the password with the password that you want to use.

UPDATE mysql.user SET Password=PASSWORD(‘YourNewPasswordHere’) WHERE User=’root’;

The UPDATE and FLUSH statements each must be written on a single line. And make sure we have statement “where user=’root’“, to make sure, only our root password is updated.

4. Save the text file into our home directory, or somewhere else. Example, i saved this as: “/home/vandai/mysql-reset

5. Start the MySQL server with the special –init-file option:

mysqld_safe –init-file=/home/vandai/mysql-reset &

This will execute the contents of the file named by the –init-file option at startup, changing each root account password.

6. Don’t forget to delete mysql-reset file immediately!!

Now we will be able to login to MySql database as root with our new password.

Never forget the password again!!


Create ISO Images from CD/DVD and Folder Files

With Ubuntu, you can create ISO disk Images directly from CD/DVD and folder files. Then create MD5 Checksum files.
Assumed that the CD/DVD device is located at /dev/cdrom/

Turn a CD/DVD into an .iso
$ sudo umount /dev/cdrom
$ dd if=/dev/cdrom of=file.iso bs=1024

Turn a folder into an .iso
$ mkisofs -r -o file.iso /location_of_folder/

Generate an MD5 checksum file

$ md5sum file.iso > file.iso.md5

Check MD5 checksum of file
$ md5sum -c file.iso.md5


Finally The Hardy Heron has arrived!

Yay, its arrived..! Linux Ubuntu 8.04 (Hardy Heron) free CDs. Requested it from
Kinda late, because i already downloaded and installed it since the first time released. And like always, i have to go to the Post Office, and pay Rp.7000 for the tax.

The Package:

Ubuntu Package

And the package content:

Paket Ubuntu

There’s some difference from edubuntu cd. its called “Education Edition Add-on CD”. Ubuntu Education Edition is an additional selection of free and open source software for education to be used with Ubuntu. This CD is does not offer LTSP installation directly. To get the same out-of-the-box-set-up as before, start from the Ubuntu alternate install CD, and select “Install an LTSP server” from the Modes menu.

The Ubuntu Promise

  • Ubuntu will always be free of charge, including enterprise releases and security updates
  • Ubuntu comes with full commercial support from Canonical and hundreds of companies around the world
  • Ubuntu includes the very best translations and accessibility infrastructure that the free software community has to offer
  • Ubuntu CDs contain only free software applications; we encourage you to use free and open source software, improve it and pass it on

Subdomain wildcard pada Ubuntu dengan bind9 – Part II

Menyambung artikel sebelumnya, kali ini kita akan membuat konfigurasi Virtual Host agar setiap request yang masuk langsung diarahkan ke domain utama.
Pertama, edit file konfigurasi default apache: /etc/apache2/sites-available/default
Ubah nilai NameVirtualHost dan VirtualHost menjadi *

$ sudo pico /etc/apache2/sites-available/default

sehingga menjadi:

NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from ::1/128


Kemudian buat file konfigurasi Virtual Host baru untuk domain kita.

$ sudo pico /etc/apache2/sites-available/situskita.tld

Kita akan menambahkan ServerAlias yang akan mengarahkan semua request *.situskita.tld ke domain utama.Dan arahkan DocumentRoot ke lokasi kerja anda.


Subdomain wildcard pada Ubuntu dengan bind9

Ada kasus seperti ini, kita akan membuat sebuah website komunitas yang nanti nya para pengunjung bisa mendaftar sebagai anggota. Dan setiap anggota masing-masing akan mendapatkan alamat URL:
Kelihatannya tampak mudah bukan?
Tinggal membuatkan Virtual Host untuk masing-masing anggota, dan daftarkan subdomainnya.

Namun permasalahannya adalah, kita ingin subdomain tersebut hanya sebagai identitas, dan bukan berupa direktori khusus untuk masing-masing anggota terdaftar. Dan yang lebih penting lagi, setiap yang baru mendaftar akan langsung mendapatkan alamat subdomainnya secara otomatis, tanpa campur tangan kita. Bayangkan jika ada 100 pengunjung yang mendaftar, dan semua itu harus kita buat secara manual. Akan sangat membuang waktu dan tenaga bukan?

Ini dibutuhkan jika kita ingin membuat situs komunitas, atau contohnya seperti situs jaringan pertemanan. Setiap anggota yang terdaftar akan mendapatkan alamat sendiri untuk menampilkan profil, blog, atau content lainnya.

Untuk mengatasi masalah itu kita akan menggunakan yang namanya “Subdomain Wildcard”. Dengan subdomain wildcard, kita hanya butuh 1 domain yang digunakan untuk memproses semua request subdomain. Artinya, semua yang,, akan diarahkan ke Yang nantinya script PHP pada yang akan memprosesnya dan menampilkan halaman anggota tersebut.

Sebelumnya, kita akan membutuhkan DNS Server untuk membuat subdomain wildcard ini. Dengan membuat DNS Zone baru untuk domain yang akan digunakan.
Sebagai test untuk di mesin lokal, kita akan membuat domain bohongan yang hanya bisa jalan di jaringan lokal kita saja.
Domain yang digunakan: www.situskita.tld
IP Mesin kita:

Install paket bind9 untuk DNS Server nya (Jika belum ada)

$ sudo apt-get install bind9

setelah install, kita akan membuat DNS Zone baru. Jika anda sudah memiliki konfigurasi DNS sendiri, dan akan menggunakannya, silahkan lewati bagian ini. Lanjutkan ke tahap selanjutnya.

$ sudo pico /etc/bind/named.conf.local

Tambahkan baris berikut ini:

zone “situskita.tld” {
type master;
file “/etc/bind/db.situskita.tld”;
notify no;

Disini kita membuat zona baru untuk domain “situskita.tld”, dan konfigurasi nya terletak pada file “/etc/bind/db.situskita.tld”
Jika ingin menggunakan konfigurasi DNS zone yang sudah ada, anda hanya tinggal menambahkan baris berikut pada konfigurasi anda:

* A

Kalau belum ada, maka kita akan membuatnya.

$sudo pico /etc/bind/db.situskita.tld


Mempercantik desktop Ubuntu dengan Themes

Agar tampilan Dekstop anda tidak monoton, anda bisa mengambil themes dan window decorator dari situs berikut:

Ubuntu (Gnome):

Kubuntu (KDE):

* Tidak perlu khawatir akan memberatkan system, karena themes ini bukan merupakan aplikasi tambahan atau aplikasi pihak ketiga. themes ini akan mengganti secara langsung. sehingga tidak menambah beban system.


  • Untuk tampilan themes secara keseluruhan, masuk ke menu: “GTK 2.X”
  • Untuk Window Border pada decorator Metacity (tanpa compiz), pilih menu “Metacity”
  • GDM Themes untuk mengganti tampilan Login Ubuntu
  • Untuk pengguna Compiz dan Emerald, masuk ke menu “Compiz”

Untuk mengaktifkan Themes, masuk ke “System => Preferences => Appearance”
Untuk mengganti Login Themes, masuk ke “System => Administration => Login Window”


  • Klik di menu “Themes/Styles” untuk mengganti themes.
  • Untuk mengganti Window Decorations, klik pada “Window Decorations”, jika tanpa Compiz, klik pada sub-menu “Native KDE 3.2+”, untuk pengguna KDE 4 klik “Native KDE 4” dan jika menggunakan Compiz klik pada “Compiz”
  • Jika ingin mengganti skema warna pada desktop anda, klik pada “Color Schemes”
  • Untuk mengganti Themes pada Login KDE, klik “KDM Themes”

Untuk merubah Themes, masuk ke “KMENU => System Settings”