This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Senin, 04 Februari 2013

Setting DNS di Red Hat Linux 9

s
Cara Membuat DNS Server di Linux Red Hat 9

Pertama install RedHat Linux 9 terlebih dahulu dan setting ip address.
Install Paket bind.
Masuk konfigurasi named dengan perintah :
# vi /etc/named.conf
Tambahkan zona forward dan reverse
Untuk zona forward tambahkan :
zone "zainul.com" IN {    (ganti dengan nama domain yang anda buat)
            type master;
            file "forward";
            allow-update { none;  };
};


Untuk zone reverse :
zone "21.168.192.in-addr.arpa" IN {    (ganti dengan nomor ip address untuk DNS dan dengan catatan nomor ip ditulis dari belakang misal : 192.168.21.1 (ip yang digunakan untuk DNS) dan tulis terbalik menjadi 21.168.192 (nomor ip 1 tidak perlu ditulis))
            type master;
            file "reverse";

            allow-update { none;  };
};
Kemudian simpan dengan tekan ESC (:wq) Enter.



Buat direktori zona forward dan reverse
Masuk direktori penyimpanan named :
# cd /var/named/
# ls (untuk melihat isi named)
Buat direktori zona forward dan reverse dengan cara mengkopi file yang ada
# cp localhost.zone forward 
# cp named.local reverse


Masuk file forward
# vi forward
Kemudian Edit seperti gambar di bawah.
Tekan tombol Insert.
STTL 1W
@                     1D  IN     SOA    zainul.com.  (dns anda.)        root.zainul.com. (      (root.dns anda.)
                                                               42 ; serial (d. adams)
                                                                3H ; refresh
                                                               15M ; retry
                                                               1W ; expiry
                                                               1D ; minimum

@            1D IN NS          zainul.com. (domain anda.)
ns            1D IN A            192.168.21.1 (ip dns anda)
@            1D IN A            192.168.21.1 (ip dns anda)
www        1D IN A            192.168.21.1 (ip dns anda)

Kemudian simpan Esc ketik (:wq) enter.

Masuk file reverse
# vi reverse
Kemudian Edit seperti gambar di bawah.
Tekan tombol Insert.

STTL 1W
@            IN                 SOA           zainul.com. (dns anda.)      root.zainul.com. (     (root.dns anda.)
                                                                       

@                         IN                NS               zainul.com. (domain anda.)
1 (ip dns server) IN                PTR             zainul.com. (ns.domain anda.)

Kemudian simpan Esc ketik (:wq) enter.


Kemudian masuk resolv dengan perintah :
# vi /etc/resolv.conf
Tambahkan dengan tekan Insert
search zainul.com  (domain anda)
nameserver 192.168.21.1  (ip dns anda)

Kemudian simpan Esc ketik (:wq) enter.

Restart Named
# service named restart
Coba cek apakah sudah berhasil
# nslookup
> zainul.com (domain anda)
Jika  berhasil akan teridentifikasi nama domain dan ip domain seperti gambar dibawah.

Jumat, 01 Februari 2013

Membuat User Account Di Linux Centos 5.6

adduser
Perintah adduser digunakan untuk menambahkan user.
Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut. Contoh:# adduser udin # passwd udin
Perhatikan bahwa semua perintah yang membutuhkan akses root, di sini saya tulis dengan dengan menggunakan tanda #, untuk memudahkan Anda membedakannya dengan perintah yang tidak perlu akses root.

Contoh Kita Membuat User Account Baru Denga Nama Adzil

Masuk Dulu Ke Terminal (alt + F2) -->Isikan Xterm Baru Deh Cara Dibawah Ini

[jalawave@localhost Jalawave]$su -l

password:*****

[jalawave@localhost]# adduser Adzil( Membuat User Acoount Baru user dengan nama Rita)

[jalawave@localhost]$ Passwd Adzil ( Membuat Password Baru user dengan nama Rita

New Unix Password : ****** (isi Password )

Retype Unix Password :******(ulangi password Yang sama)

Kalau Sudah Sucesfully Berarti Andah Tealah Berhasil Membuat User Account Dengan Nama Adzil

Rabu, 30 Januari 2013

Perintah-perintah Dasar MySQL

1. Install Apache (httpd), PHP, MySQL (server and client)

#yum -y install httpd php mysql mysql-server php-mysql

2. Configure the new services to start automatically

#/sbin/chkconfig httpd on
#/sbin/chkconfig --add mysqld [ini tidak diperlukan di FC4 keatas]
#/sbin/chkconfig mysqld on

#/sbin/service httpd start
#/sbin/service mysqld start

3. Ganti password mysql

#mysqladmin -u root password 'new-password' [quotes are required]

4. Untuk keperluan security

#mysql -u root -p

maka MySQL siap untuk digunakan. Penulis menggunakan Linux Centos 5 dan MySQL versi 5.0 di dalam tutorial ini.

1. Mengecek Paket MySQL
Untuk mengecek paket-paket MySQL, ketikkan perintah:

#rpm –qa | grep mysql

2. Melihat versi MySQL
Untuk melihat versi MySQL yang ada dalam sistem, ketikkan:

#mysql –version

3. Masuk ke MySQL
Ketikkan mysql pada sistem agar kita bisa masuk ke dalam database MySQL.
masih belum bisa masuk ya klo gitu ketikkan

#mysql -u root -p

4. Melihat Database
Untuk melihat database apa yang di MySQL, ketikkan:

> show databases;

5. Membuat Database baru
Untuk membuat database baru, ketikkan perintah:

> create database nama_database;

Ingat: nama_database dirubah menjadi nama database sesuai dengan anda. Dalam tutorial ini kita akan membuat database latihan, sehingga perintahnya menjadi:

> create database latihan;

6. Menggunakan Database;
Untuk menggunakan database yang ada di MySQL, ketikkan perintah:

> use nama_database;

Karena kita telah membuat database latihan, maka kita akan menggunakan database ini, sehingga perintah tersebut menjadi:

> use latihan;

7. Membuat Table
Di dalam database latihan, kita akan membuat tabel-tabel dengan format:

> create table nama_tabel (nama_data tipe_data (panjang_karakter), ...);

Tipe-tipe data pada MySQL bermacam-macam dan dapat dilihat lengkap di sini. panjang_karakter merupakan jumlah karakter maksimum yang ditampung di dalam sebuah field. Kali ini, kita akan membuat tabel alamat yang berisi field no, nama, alamat, kota, telepon.

8. Melihat Table
Untuk melihat table yang sudah kita buat, ketikkan perintah:

> show tables;

Namun, untuk melihat sebuah table yang lebih lengkap beserta tipe-tipe datanya, ikuti format berikut:

> describe nama_table;
Dalam kasus kita,

> describe alamat;

9. Merubah Nama Field
Apabila kita ingin merubah nama field pada tabel yang sudah jadi, maka harus mengikuti format:

> alter table nama_table change nama_field_lama nama_field_baru tipe_data(panjang_karakter);

Pada perintah ini, tipe_data dan panjang_karakter dapat dirubah. Dalam kasus kita:

> alter table alamat change no nomor varchar(10);

Untuk melihatnya apa yang telah kita rubah, ketikkan:

> describe alamat;

10. Merubah Tipe Data
Jika kita ingin merubah tipe data sebuah field, maka harus mengikuti format:

> alter table nama_table modify nama_field tipe_data_baru(panjang_karakter);

Dalam kasus kita:

> alter table alamat modify kota varchar(17);

11. Menambah Kolom/Field
Format untuk menambah kolom/field pada sebuah tabel adalah:

> alter table nama_table add field_baru tipe_data(panjang_karakter);

Dalam kasus kita:

> alter table alamat add email varchar(20);

12. Menghapus Field/Kolom
Format untuk menghapus kolom/field pada sebuah tabel adalah:

> alter table nama_table drop nama_field;

Dalam kasus kita:

> alter table alamat drop email;

13. Mengganti Nama Tabel
Format untuk mengganti nama tabel adalah:

> alter table nama_table_lama rename nama_table_baru;

Dalam kasus kita:

> alter table alamat rename teman;

14. Memasukkan Data-Data
Format untuk memasukkan data-data pada sebuah tabel adalah:

> insert into nama_table values ('data_field_1','data_field_2',...);

Dalam kasus kita:

14. Mengubah Data-Data
Format untuk merubah data-data pada sebuah tabel adalah:

> update nama_table set nama_field='isian_baru' where nama_field_lain='isi_field_tersebut';

Contoh:

> update teman set nama='hari irah' where no=2;

maka nama seseorang yang berada di nomor 2 akan berubah menjadi hari irah.

15. Melihat Data-Data
Format umum untuk melihat data-data pada sebuah tabel adalah:

> select nama_field from nama_table where nama_field_lain='isi_field_tersebut';

Agar bisa lebih mengerti dengan pembahasan ini, cobalah tambah beberapa data seperti pada poin 13 dengan beberapa field memiliki nilai yang sama. Karena untuk melihat table memiliki banyak format, maka kita bisa melihat sebuah tabel dengan berbagai macam cara, seperti:
a. Menampilkan semua kolom
Format:

> select * from nama_table;

Contoh:

> select * from teman;

b. Menampilkan kolom tertentu
Format:

> select nama_field from nama_table;

Contoh:

> select nama, telepon from alamat;

c. Menampilkan kolom tertentu dengan kondisi tertentu
Format:

> select nama_field from nama_table where nama_field_lain='isi_field_tersebut';

Contoh:

> select nama from teman where kota='jakarta';

d. Menghindari Pengulangan Data Pada Kolom
Format:

> select distinct nama_field from nama_table;
Contoh:

> select distinct kota from teman;

e. Membatasi data yang ditampilkan
Format:

> select nama_field_yang_mau_ditampilkan from nama_table limit dari_baris,sampai_baris;

Contoh kita akan menampilkan data yang dimulai dari baris kedua sampai keenam, maka perintahnya adalah:

> select * from teman limit 2,6;

f. Mengurutkan data
Format:

> select nama_field_yang_mau_ditampilkan from nama_table order by nama_field klausa;

Klausa format ini ada 2 yaitu asc yaitu akan mengurutkan data naik dari yang terkecil dan desc yaitu kebalikannya.

g. Menggabungkan beberapa kondisi
Format:

> select nama_field_yang_mau_ditampilkan from nama_table where nama_field=’isi_field’ operator_logika nama_field=’isi_field’;

Opearator_logika disini ada 2 yaitu and dan or. Untuk melihat perbedaan diantara keduanya, perhatikan gambar dibawah ini:

h. Memberi batas data
Format:

> select nama_field_yang_mau_ditampilkan from nama_table where nama_field between isi_field and isi_field;

i. Mencari Data Dengan Kriteria Tertentu
Format:

> select nama_field_yang_mau_ditampilkan from nama_table where nama_field like ‘%’;

‘%’ ada 3 macam, yaitu:
‘keyword%’ : Mencari data yang diawali dengan keyword
‘%keyword’ : Mencari data yang diakhiri dengan keyword
‘%keyword%’ : Mencari data yang mengandung keyword

j. Menghitung Sejumlah nilai (Fungsi Agregat)
Nama Fungsi Deskripsi

SUM() Menghitung jumlah nilai pada suatu kolom
AVG() Menghitung nilai rata-rata pada suatu kolom
MAX() Mencari nilai maksimal pada suatu kolom
MIN() Mencari nilai minimal pada suatu kolom
COUNT() Menghitung jumlah baris pada suatu kolom

16. Menghapus Tabel
Format:

> drop table nama_table;

Dalam kasus kita:

> drop table alamat;

17. Menghapus Database

Format:

> drop database nama_database;

Dalam kasus kita:

> drop database latihan;

18. Keluar dari MySQL
Format:

> quit;

atau

> exit;

Standar Susunan Kabel UTP

 

Standar Susunan Kabel UTP:  Seringkali kita  menghadapi  masalah  yang  terlihat sepele, namun dapat mengakibatkan kesalahan yang fatal di kemudian hari. Untuk sebagian orang memasangkan kabel UTP dengan konektor RJ45 asal kedua ujungnya memiliki susunan  warna yang sama, sudah pasti bukan masalah. Namun dalam membangun sebuah jaringan komputer yang besar dan kompleks yang mengikut sertakan banyak orang, tentulah hal tersebut dapat menjadikan suatu masalah dan pasti akan terjadi kebingungan. Maka dari itu haruslah dilakukan standarisasi pemasangan. Kita tidak usah susah-susah menciptakan aturan standard sendiri, karena sudah ada lembaga yang mengatur hal tersebut yaitu TIA/EIA, http://www.tiaonline.org/standards/catalog/ dan tinggal kita mengikutinya.
Kabel UTP (Unshielded Twisted Pair) yang sering digunakan untuk jaringan komputer adalah kabel UTP categori 5 (UTP Cat 5) yang secara praktis dapat mendukung transfer data sampai 100 Mbps. UTP Cat 5 terdiri dari 4 pasang kabel berwarna atau 8 kabel tunggal. Warna-warna kabel tersebut adalah sbb:
  • Pasangan 1: Putih-Biru dan Biru
  • Pasangan 2: Putih-orange dan Orange
  • Pasangan 3: Putih-Hijau dan Hijau
  • Pasangan 4: Putih-Coklat dan Coklat
Jenis Kabel
Susunan kabel UTP terdiri dari 2 jenis, yaitu:
  1. Straight (lurus), biasa digunakan untuk menghubungkan perangkat yang berbeda, misalnya: komputer ke hub, komputer ke switch.
  2. Cross (silang), biasa digunakan untuk menghubungkan perangkat yang sama, misalnya: komputer ke komputer, hub ke hub, switch ke switch.
Standar Susunan Kabel Straight (Lurus)
Untuk standar urutan kabel straight susunan pada kedua ujung sama, yaitu:
  1. Putih-orange
  2. Orange
  3. Putih-hijau
  4. Biru
  5. Putih-biru
  6. Hijau
  7. Putih-coklat
  8. Coklat
Gambar susunan kabel straight
Standar Susunan Kabel Cross (Silang)
Untuk standar urutan kabel cross susunan pada kedua ujung berbeda, yaitu:
Ujung pertama sama dengan susunan kabel straight:
  1. Putih-orange
  2. Orange
  3. Putih-hijau
  4. Biru
  5. Putih-biru
  6. Hijau
  7. Putih-coklat
  8. Coklat
Ujung kedua, pin 1 dan 3 tukar posisi, pin 2 dan 6 tukar posisi:
  1. Putih-hijau
  2. Hijauh
  3. Putih-orange
  4. Biru
  5. Putih-biru
  6. Orange
  7. Putih-coklat
  8. Coklat
Gambar susunan kabel cross ujung pertama
Gambar susunan kabel cross ujung kedua
Itulah tadi 2 standar susunan kabel UTP yang umum digunakan oleh para teknisi jaringan komputer. Semoga tulisan saya ini bisa membantu teman-teman yang membutuhkan.

Installing MySQL di CentOS 5.4

Langkah pertama yang harus dilakukan yaitu bukalah sebuah terminal kemudian ganti akses user anda menjadi super user atau root dengan mengetikkan perintah su - kemudian isikan password user root yang terdapat pada sistem anda. Jika sudah, sekarang mari kita install MySQL dengan menggunakan yum dengan cara seperti dibawah ini :

[root@localhost ~]# yum install mysql mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: ftp.oss.eznetsols.org
 * base: ftp.oss.eznetsols.org
 * extras: ftp.oss.eznetsols.org
 * updates: ftp.oss.eznetsols.org
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-server.i386 0:5.0.77-4.el5_4.1 set to be updated
--> Processing Dependency: mysql = 5.0.77-4.el5_4.1 for package: mysql-server
--> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15) for package: mysql-server
--> Processing Dependency: libmysqlclient_r.so.15(libmysqlclient_15) for package: mysql-server
--> Processing Dependency: libmysqlclient.so.15 for package: mysql-server
--> Processing Dependency: libmysqlclient_r.so.15 for package: mysql-server
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server
--> Running transaction check
---> Package mysql.i386 0:5.0.77-4.el5_4.1 set to be updated
---> Package perl-DBD-MySQL.i386 0:3.0007-2.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================
 Package                   Arch            Version                      Repository          Size
=================================================================================================
Installing:
 mysql-server              i386            5.0.77-4.el5_4.1             updates            9.8 M
Installing for dependencies:
 mysql                     i386            5.0.77-4.el5_4.1             updates            4.8 M
 perl-DBD-MySQL            i386            3.0007-2.el5                 base               148 k

Transaction Summary
=================================================================================================
Install      3 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 15 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): perl-DBD-MySQL-3.0007-2.el5.i386.rpm                               | 148 kB     00:11     
(2/3): mysql-5.0.77-4.el5_4.1.i386.rpm                                    | 4.8 MB     06:33     
(3/3): mysql-server-5.0.77-4.el5_4.1.i386.rpm                             | 9.8 MB     06:21     
-------------------------------------------------------------------------------------------------
Total                                                             19 kB/s |  15 MB     13:17     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : mysql                                                                     1/3 
  Installing     : perl-DBD-MySQL                                                            2/3 
  Installing     : mysql-server                                                              3/3 

Installed:
  mysql-server.i386 0:5.0.77-4.el5_4.1                                                           

Dependency Installed:
  mysql.i386 0:5.0.77-4.el5_4.1                perl-DBD-MySQL.i386 0:3.0007-2.el5               

Complete!
[root@localhost ~]#

Setelah proses installasi selesai, sekarang mari kita install tabel-tabel yang berhubungan dengan MySQL dengan menjalankan perintah /etc/init.d/mysqld start seperti dibawah ini : 

[root@localhost ~]# /etc/init.d/mysqld start
Initializing MySQL database:  Installing MySQL system tables...
100209  9:21:00 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100209  9:21:00 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables...
100209  9:21:01 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100209  9:21:01 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd[root@localhost martin]# /sbin/chkconfig mysqld --level 2345 on mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com
                                                           [  OK  ]
Starting MySQL:                                            [  OK  ]
[root@localhost ~]#
 
Proses inisialisasi tabel untuk MySQL sudah selesai, sekarang mari kita setting password untuk user root MySQL dan sekaligus menkonfigurasi agara setiap kali boot service MySQL ini dijalankan dengan menggunakan perintah seperti dibawah ini:

[root@localhost ~]# /usr/bin/mysqladmin -u root password 'admin'
[root@localhost ~]# /sbin/chkconfig mysqld --level 2345 on
 
Dan untuk mengetes apakah installasi dan konfigurasi MySQL kita sukses atau tidak, sekarang coba-lah untuk login dengan mengetikkan perintah seperti dibawah ini :

[root@localhost ~]# mysql -u root -padmin
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
 
Service MySQL kita sudah berjalan sesuai dengan apa yang diharapkan, nah sekarang mari kita lanjutkan pekerjaan masing-masing yang berhubungan dengan DataBase MySQL :)   :D

Selasa, 29 Januari 2013

Setting Gateway di CentOS

Pada kesempatan kali ini Kita akan belajar Firewall iptable di CentOS, kali ini Kita menggunakan vmware workstation. Berikut detailnya :

  1. OS Windows XP sebagai host yang di dalamnya sudah terinstall vmware workstatio
  2. Buat OS 2 buah sebagai guest, 1 linux centos sebagai firewall dan windows sebagai client di bawah firewall.
  3. Pastikan windows xp host atau windows xp sungguhan sudah terkoneksi internet, baik dari modem 3g atau isp lain lalu share ke interface vmnet1 kemudian setting ip 172.16.0.254. IP ini akan digunakan sebagai gateway bagi firewall dan ip ini Kita anggap sebagai IP Milik router ISP sehingga seolah-olah firewall mendapatkan IP dari ISP. :)
  4. Pastikan firewall sudah mendapatkan akses internet, dan dari client sudah bisa ping ke firewall.
  5. Pastkan windows xp client (dibelakang firewall), sudah bisa mengakses webserver miliknya melalui localhost, webserver ini nantinya akan Kita akses melalui network yang berbeda (baca:Internet) dari IP 172.16.0.254
  6. Setelah semua persiapan selesai, mari kita lanjut ke langkah-langkah konfigurasi iptable di firewall.
  7. NAT (Network Address Translation)
Tujuan dari NAT ini adalah mengizinkan network LAN (di bawah firewall) untuk bisa mengakses internet. Ada dua langkah sebelumnya yang harus dilakukan yaitu :

#vi /etc/sysctl.conf

Lalu cari pada file tersebut tulisan net.ipv4.ip_forward dan rubah nilainya menjadi 1, sehingga akan menjadi:


#net.ipv4.ip_forward = 1

Yang kedua adalah file ip_forward. Ketikan perintah berikut:

#vi /proc/sys/net/ipv4/ip_forward

Ubah nilainya menjadi 1, lalu restart linux

Eksekusi dengan command di bawah ini :

#sysctl -p /etc/sysctl.conf


Setelah kedua langkah di atas, kemudian Kita masukan perintah iptablesnya :


#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#service iptables save
(Command untuk melihat daftar policy di table NAT)
#iptables -t nat nvL --line-numbers

Note : eth0 merupakan interface linux yang ke public

test dari windows xp client untuk mengakses internet, harusnya sampai langkah ini computer client sudah dapat mengakses internet.
Tutup semua port yang masuk, keluar dan melalui firewall :


#ipatables -P  INPUT DROP
#ipatables -P  FORWARD DROP
#ipatables -P  OUTPUT DROP

Gunakan Connections Tracking, Tujuannya ketika Kita membuat policy di chain INPUT, maka Kita tidak perlu membuat policy di OUTPUT. Dengan Connection Tracking ini sudah membuat pasangannya secara otomatis.


#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

IMPLEMENTASI IPTABLES
Aplikasi IPTables dengan pendekatan POSITIVE LIST, artinya secara default semua port DITUTUP kemudian satu persatu Kita buka sesuai dengan kebutuhan. Keuntungan dari positive list ini adalah lebih secure karena semua port di tutup, namun kelemahannya relatif lebih sulit di setup. Skenarionya adalah Kita sebagai Admin Linux di Kantor, Kantor Kita berlangganan Internet Dedicated. Kita diminta untuk :
  1. Mengamankan gateway dari kemungkinan serangan baik dari luar maupun dalam.
  2. Secara default user tidak dapat melakukan koneksi ke gateway dan internet, Jika merujuk ke gambar artinya windows xp client tidak dapat melakukan koneksi ke gateway dan ke Internet
  3. Sharing internet, Jika merujuk ke gambar hanya client windows xp saja yang diizinkan bisa mengakses internet
  4. Mengatur agar kita bisa membuat sebuah web yang terlindung dibelakang gateway, Jika merujuk ke gambar windows xp ini Kita jadikan webserver dan bisa di akses melalui Internet.
Normalkan dahulu policy yang ada


#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT

Hapus semua rule yang ada (Flush)

#iptables -F

Siapkan rule untuk notebook kita agar tidak kena blok, dalam hal ini IP nya adalah 172.16.1.2/24

#iptables -I INPUT -s 172.16.1.2 -j ACCEPT

Secara localhost kita mesti membolehkan akses


#iptables -I INPUT -i lo -j ACCEPT
#iptables -I OUTPUT -o lo -j ACCEPT

Rule untuk connection tracking, agar kita mudah membuat rule2

#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Rule untuk sharing internet


#iptables -t -nat -A POSTROUTING -o eth0 -j MASQUERADE

Rule untuk DNS (asumsi bahwa kita menggunakan DNS ISP)


#iptables -A FORWARD -p tcp -dport 53 -j ACCEPT
#iptables -A FORWARD -p udp -dport 53 -j ACCEPT

Rule untuk membolehkan windows xp client (172.16.1.2) bisa browsing internet


#iptables -A FORWARD -p tcp -dport 80 -s 172.16.1.2 -j ACCEPT

Rule untuk melakukan port forwarding dari eth0(internet) di port tcp 80 ke webserver kita di 172.16.1.2


#iptables -t -nat -A PREROUTING -i eth0 -p tcp -dport 80 -j DNAT --to-destination 172.16.1.2:80

Rule untuk membolehkan akses Web dari internet ke Web server kita


#iptables -A FORWARD -p tcp -d 172.16.1.2 -dport 80 -j ACCEPT

Memperbolehkan ping ke webserver 172.16.1.2 :


#iptables -t nat -A PREROUTING -i eth0 -p icmp -j DNAT --to-destination 172.16.1.2:1

Forward paket icmp ke dari eth0 ke IP Tujuan 172.16.1.2


#iptables -A FORWARD -p icmp -d 172.16.1.2 -j ACCEPT

Mengaktifkan fungsi logging agar kita mudah troubleshoot


#iptables -A INPUT -m limit --limit 2/m --limit-burst 2 j LOG log-prefix '** INPUT DROP ** '
#iptables -A FORWARD -m limit --limit 2/m --limit-burst 2 j LOG log-prefix '** FORWARD DROP ** '
#iptables -A OUTPUT -m limit --limit 2/m --limit-burst 2 j LOG log-prefix '** OUTPUT DROP ** '

Terakhir mengatur default policy menjadi drop


#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#iptables -P FORWARD DROP

Jangan lupa di save


#service iptables save

SELESAI