Saturday, May 21, 2011

Setting router on ubuntu

Setting jaringan dengan modem Modem GSM Sierra 885 USB dan Telkomflash sebagai server router

Alat dan Bahan :
1.Sim card Telkomsel Flash unlimited Basic.
2.Modem GSM Sierra 885 USB
3.PC dengan OS Ubuntu 9.04 Jaunty Jackalope
4.Local Area Network 192.168.0.0/24

Modem GSM & Telkomsel Flash bisa jalan di Ubuntu 9.04
Modem sierra 885 udah terdetek dengan baik di ubuntu 9.04 termasuk profile dari beberapa operator seluler di Indonesia. Hebat kan? Kerja kita jadi lebih mudah kali ini. Bravo Ubuntu. Jadi ngk perlu cari2 driver lagi dan setting operator sellulernya.

Colok kan modem ke port USB dan tunggu kotak dialog terbuka. Anda bisa pilih negara dan operator selular yg sesuai dengan SIM CARD yang anda gunakan. Ketika step ini selesai maka di panel atas bagian network (itu lho yg letaknya dekat tanggal dan jam) akan bertambah satu buah koneksi lagi : Mobile Broadband > Telkomsel. Klik radio button untuk mengaktifkan koneksi internet via modem GSM. Nah sekarang udah bisa internetan, tinggal bagaimana caranya bisa di share ke jaringan.

Sharing Internet
Mungkin yang terbiasa sharing dengan ICS di windows akan bingung ketika di linux. Untuk di Linux, maka PC ini akan bertindak sebagai router/Gateway. Nah cara yang digunakan yaitu mengaktifkan NAT (Network Address Translation) dan IP Forwarding. Cara ini sangat umum dan familiar dalam pembuatan PC router di Linux. Syntax Commandnya adalah sebagai berikut, ketik :

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

Rule tersebut akan hilang ketika komputer direboot. Untuk menyimpan setting tersebut masukan command tadi ke dalam file : /etc/rc.local. Ketik :

$ sudo nano /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

exit 0

Simpan perubahan dengan menekan ctrl + X lalu tekan Y. Step routing selesai.

Buat DHCP Server untuk setting automatic di client.

Setting IP static untuk NIC eth0
Nah supaya client ngk perlu setting IP dan DNS masing2 maka perlu diaktifkan service DHCP Server.. Tentunya PC gatewaynya harus memiliki sebuah NIC dengan IP Statis. Buka terminal ketik :

$ sudo nano /etc/network/interfaces

(Perhatikan isi filenya, buat kurang lebih seperti ini dengan asumsi network saya adalah 192.168.0.0/24 dan NIC yg akan disetting IP nya adalah eth0 dengan IP statis 192.168.0.3).

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.3
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

Simpan perubahan dengan menekan control X lalu tekan Y.

Restart kartu jaringan anda (NIC) ketik :

$sudo /etc/init.d/networking restart

periksa IP yang terpasang ketik :

$ ifconfig

Hasil dari system saya seperti di bawah ini :

eth0 Link encap:Ethernet HWaddr 00:21:97:94:7e:cc
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::221:97ff:fe94:7ecc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1597 errors:0 dropped:0 overruns:0 frame:0
TX packets:1803 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:236661 (236.6 KB) TX bytes:1830518 (1.8 MB)
Interrupt:23 Base address:0xc800

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:236 errors:0 dropped:0 overruns:0 frame:0
TX packets:236 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:24024 (24.0 KB) TX bytes:24024 (24.0 KB)

ppp0 Link encapoint-to-Point Protocol
inet addr:114.120.54.222 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:77933 errors:0 dropped:0 overruns:0 frame:0
TX packets:79147 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:65153968 (65.1 MB) TX bytes:30039293 (30.0 MB)

Perhatikan IP eth0 sudah terseting 192.168.0.3 dan perhatikan juga IP modem GSM pada device ppp0 114.120.54.222.

Kenapa saya pilih IP 192.168.0.3 ? Alasannya supaya ngk bentrok sama IP PC jendela yang bertindak sebagai ICS (Internet Connection Sharing). Nah IP ICS ini selalu 192.168.0.1. Inilah alasannya saya tidak menggunakan IP 192.168.0.1 di jaringan saya sebagai gerbang. Step selanjutnya adalah :

INSTALL PAKET DHCP SERVER

Tentunya system saya harus tersambung ke Internet, dalam hal ini menggunakan modem GSM dan operator seluler Telkomsel. Masih dalam modus terminal ketik :

$ sudo apt-get install dhcp3-server

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
dhcp3-client dhcp3-common libcap1
Suggested packages:
resolvconf dhcp3-server-ldap
The following NEW packages will be installed:
dhcp3-server libcap1
The following packages will be upgraded:
dhcp3-client dhcp3-common
2 upgraded, 2 newly installed, 0 to remove and 72 not upgraded.
Need to get 1003kB of archives.
After this operation, 975kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://id.archive.ubuntu.com jaunty/main libcap1 1:1.10-14build1 [9780B]
Get:2 http://security.ubuntu.com jaunty-security/main dhcp3-client 3.1.1-5ubuntu8.1 [270kB]
Get:3 http://security.ubuntu.com jaunty-security/main dhcp3-common 3.1.1-5ubuntu8.1 [331kB]
Get:4 http://security.ubuntu.com jaunty-security/main dhcp3-server 3.1.1-5ubuntu8.1 [392kB]
Fetched 1003kB in 3min 24s (4908B/s)
Preconfiguring packages ...
(Reading database ... 136596 files and directories currently installed.)
Preparing to replace dhcp3-client 3.1.1-5ubuntu8 (using .../dhcp3-client_3.1.1-5ubuntu8.1_amd64.deb) ...
Unpacking replacement dhcp3-client ...
Preparing to replace dhcp3-common 3.1.1-5ubuntu8 (using .../dhcp3-common_3.1.1-5ubuntu8.1_amd64.deb) ...
Unpacking replacement dhcp3-common ...
Selecting previously deselected package libcap1.
Unpacking libcap1 (from .../libcap1_1%3a1.10-14build1_amd64.deb) ...
Selecting previously deselected package dhcp3-server.
Unpacking dhcp3-server (from .../dhcp3-server_3.1.1-5ubuntu8.1_amd64.deb) ...
Processing triggers for man-db ...
Setting up dhcp3-common (3.1.1-5ubuntu8.1) ...
Setting up dhcp3-client (3.1.1-5ubuntu8.1) ...
* Reloading AppArmor profiles ... [ OK ]

Setting up libcap1 (1:1.10-14build1) ...

Setting up dhcp3-server (3.1.1-5ubuntu8.1) ...
Generating /etc/default/dhcp3-server...
* Reloading AppArmor profiles ... [ OK ]
Starting DHCP server dhcpd3 [fail]
* check syslog for diagnostics.
invoke-rc.d: initscript dhcp3-server, action "start" failed.
Processing triggers for libc6 ...
ldconfig deferred processing now taking place

Nah perhatikan, saat service DHCP distart hasilnya [fail]. Trus disuruh check syslog. Lakukan saja, ketik :

$ tail /var/log/syslog

hasil system saya seperti ini :

smkti@smkti-desktop:/var/log$ tail syslog
Aug 14 20:34:14 smkti-desktop dhcpd: Wrote 0 leases to leases file.
Aug 14 20:34:14 smkti-desktop dhcpd:
Aug 14 20:34:14 smkti-desktop dhcpd: No subnet declaration for eth0 (192.168.0.3).
Aug 14 20:34:14 smkti-desktop dhcpd: ** Ignoring requests on eth0. If this is not what
Aug 14 20:34:14 smkti-desktop dhcpd: you want, please write a subnet declaration
Aug 14 20:34:14 smkti-desktop dhcpd: in your dhcpd.conf file for the network segment
Aug 14 20:34:14 smkti-desktop dhcpd: to which interface eth0 is attached. **
Aug 14 20:34:14 smkti-desktop dhcpd:
Aug 14 20:34:14 smkti-desktop dhcpd:
Aug 14 20:34:14 smkti-desktop dhcpd: Not configured to listen on any interfaces!

OK ya, jelas masalahnya ada di subnet declaration for eth0. Please write a subnet declaration in your dhcpd.conf.

Mulai kita repair file /etc/dhcp3/dhcpd.conf ketik :

$ sudo nano /etc/dhcp3/dhcpd.conf

Isi filenya banyak, lengkap dengan contoh macam2 konfigurasi mulai dari yg simple (very basic subnet declaration). Nah saya memilih menambahkan deklarasi di baris paling bawah, saya tambahkan pernyataan di bawah ini :

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.20;
option routers 192.168.0.3;
}
option domain-name-servers 202.152.0.2, 202.155.14.251;

arti deklarasi saya itu sbb :

network saya 192.168.0.0/24 (subnet 255.255.255.0).
range IP yang saya bagikan dari 192.168.0.10 smp dengan 192.168.0.20 , hanya sebelas IP.
IP default gateway client saya 192.168.0.3
DNS yang saya gunakan milik Telkomsel Flash adalah 202.152.0.2 dan 202.155.14.251, saya dapat dari klik kanan di mobile broadband connection, pilih connection information. Nah catat deh IP DNSnya.

Simpan configurasi dengan menekan control X kemudan tekan Y.

Kemudian restart service DHCP Server, ketik :

$ sudo /etc/init.d/dhcp3-server start

* Starting DHCP server dhcpd3 [ OK ]

Nah, sudah terlihat OK dan tidak ada pesan [fail].
Berarti DHCP Server kita sukses berjalan. Tinggal setting client ke enabling rooming mode utk mendapatkan IP automatic dari DHCP Server. Setelah itu coba deh browsing. Olala, berhasil

No comments: