Selasa, 03 Januari 2012

Membuat Server Centos Menjadi Gateway dan Transparent Proxy dengan Squid

Dalam hal ini tersedia :

1. Server Linux Centos dengan 2 NIC
- eth0 : 192.168.200.200 terhubung ke internet melalui proxy (gateway 192.168.200.1)
- eth1 : 192.168.210.1 terhubung dengan client di ruangan
2. Proxy server menggunakan Squid
- setup awal squid dengan –> klik

Tujuan :

1. Komputer di dalam ruangan bisa melakukan koneksi ke jaringan luar akan tetapi komputer di jaringan luar tidak bisa masuk ke komputer yang ada di ruanga

Tahapan yang dilakukan yaitu :

1. Membuat Centos agar menjadi router, Disini disiapkan router ang bersifat Masquerading, maksudnya yaitu, semua komputer yang ada di ruangan (yang terhubung melalui gateway eth1) akan bisa melakukan koneksi ke luar melalui eth0 dan mengatas namakan eth0. Misalnya komputer di ruangan IPnya adalah 192.168.210.12 melakukan browsing ke server 192.168.220.5 (komputer di LAN lain yang bisa diakses melalui eth0), maka komputer server 192.168.220.5 akan membaca yang akses ke servernya adalah 192.168.200.200 bukannya 192.168.210.12. Atau dengan kata lain masquerading bermaksud membungkus alamat IP asli menjadi alamat IP yang Masquerading.Scrip yang disiapkan yaitu

# Hapus semua seting yang sudah ada.
iptables –flush
iptables –table nat –flush
iptables –delete-chain
iptables –table nat –delete-chain

# Set up IP FORWARDing and Masquerading
iptables –table nat –append POSTROUTING –out-interface eth0 -j MASQUERADE
iptables –append FORWARD –in-interface eth1 -j ACCEPT

# Aktifkan packet forwarding di kernel
echo 1 > /proc/sys/net/ipv4/ip_forward

# routing
route add -net 192.168210.0 netmask 255.255.255.0 gw 192.168.200.1 dev eth1

2. Setup squid agar support transparent proxyYang dimaksud transparent proxy yaitu secara mudahnya adalah agar browsing di browser tidak usah melakukan seting proxy (tanpa proxy atau default port 80).Di Squid bisa dicek di data berikut :

# TAG: http_port
# Usage: port [options]
# hostname:port [options]
# 1.2.3.4:port [options]
#
# The socket addresses where Squid will listen for HTTP client
# requests. You may specify multiple socket addresses.
# There are three forms: port alone, hostname with port, and
# IP address with port. If you specify a hostname or IP
# address, Squid binds the socket to that specific
# address. This replaces the old ‘tcp_incoming_address’
# option. Most likely, you do not need to bind to a specific
# address, so you can use the port number alone.
#
# The default port number is 3128.
#
# If you are running Squid in accelerator mode, you
# probably want to listen on port 80 also, or instead.
#
# The -a command line option will override the *first* port
# number listed here. That option will NOT override an IP
# address, however.
#
# You may specify multiple socket addresses on multiple lines.
#
# options are:
# transparent Support for transparent proxies
# vhost Accelerator using Host directive
# vport Accelerator with IP virtual host support
# vport= As above, but uses specified port number
# rather than the http_port number.
# defaultsite= Main web site name for accelerators.
# urlgroup= Default urlgroup to mark requests
# with (see also acl urlgroup and
# url_rewrite_program)
# protocol= Protocol to reconstruct accelerated
# requests with. Defaults to http.
# no-connection-auth
# Prevent forwarding of Microsoft
# connection oriented authentication
# (NTLM, Negotiate and Kerberos)

# tproxy Support Linux TPROXY for spoofing
# outgoing connections using the client
# IP address.
#
# If you run Squid on a dual-homed machine with an internal
# and an external interface we recommend you to specify the
# internal address:port in http_port. This way Squid will only be
# visible on the internal address.
#
# Squid normally listens to port 3128
http_port 3128 transparent

Disini kita set proxy aktif di port 3128 dan transparent.
Langkah yang disiapkan yaitu :
1. Lakukan redirect akses yang bertujuan di port 80 ke port 3128 (port proxy)

iptables –table nat –append PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128

printah ini bermaksud melakukan aturan dalam iptable agar paket tcp yang tujuannya port 80 diarahkan ke port 3128 (proxy server). Perintah ini bisa di tambahkan dalam scrip di pembuatan gateway diatas.

2. Uji coba proxy
2.1. Ujicoba dengan browser

Dari browser di komputer client dengan isian proxy di kosongkan (tanpa proxy) lakukan browsing ke www.sampangan.com

2.2. Apabila gagal, coba lakukan pengujian dengan telnet, “telnet 192.168.210.1 80″

telnet 192.168.210.1 80
Trying 192.168.210.1…
Connected to 192.168.210.1.
Escape character is ‘^]’.

kemudian tuliskan alamat website yang akan dibuka, misalnya www.sampangan.com
elinks http://www.sampangan.com

maka berikutnya akan muncul isi text dari www.sampangan.com

2.3. Apabila 2.2 berhasil membuka alamat website dengan port 80 akan tetapi 2.1 gagal, maka perlu diperhatikan sebagai berikut :
- Alamat gateway komputer client harus ke 192.168.210.1 karena dia gateway clien ya..
- Alamat DNS server harus betul dan bisa berfungsi, apabila kosong/ tidak berfungsi maka tidak akan bisa browsing bukannya di #vi /etc/resolf.conf
masukkan ip NDS nya

Program Dasar Linux Centos

Program dasar dalam system linux:
Setelah kita sudah masuk ke desktop Linux, maka kita tekan Ctrl + Alt + F2 untuk masuk ke konsol. Setelah itu, kita harus login terlebih dahulu dengan memasukan user dan password. Lalu akan muncul seperti di bawah ini:

[root@localhost˜]#

Dari kata-kata di atas, dibagi menjadi 3 (tiga) bagian, yaitu;
“root” menunjukan user yang aktif.
“@localhost” menunjukan hostname.
“ ˜ ” menunjukan diriktori yang aktif.

Kemudian, pada kursor yang aktif, ketik adduser spasi nama user. Hal ini dilakukan agar muncul user baru. Setelah itu ketik passwd spasi nama user. Setelah itu akan muncul perintah untuk masukan password. Pada kursor yang aktif , ketik su spasi nama user kemudian tekan Enter, lalu akan muncul seperti di bawah ini:

[syarifudin@localhost root]$
contoh nama usernya adalah syarifudin

Setelah itu akan ketik cd kemudaian tekan Enter. Hal ini dilakuakan agar kembali ke bagian yang paling awal. Maka akan kuncul sebagai berikut:

[syarifudin@localhost˜]$


===============================================================
Dalam program dasar linux, banyak perintah-perintah yang dapat kita jalankan untuk menggunakan linux Centos, diantaranya:

Membuat file
Ø touch spasi nmfile : Perintah ini digunakan untuk membuat file tapi dengan isi yang kosong.
Ø cat>nmfile : Perintah ini diguanakan untuk membuat file dengan isinya.
Ø cat>>nmfile : Digunakan untuk menbuat file dngan isinya.
Ø cat spasi nmfile
Ø echo>nmfile spasi isifile
Ø echo>>nmfile spasi isifile

Menghapus File atau Direktori
rm spasi nmfile

Menghapus direktori kosong
rmdir spasi nmfile

Menghapus direktori yang berisi file
rm spasi –r spasi nmfile

Menampilkan baris awal pada file
head spasi –n spasi nmfile

Mengcopy file atau direktori
Ø cp spasi nmfile spasi almt_dirtujuan
Ø cp spasi nmfile spasi almt_dirtujuan/nmbaru
Ø cp spasi –r spasi nmdir spasi almtdirtujuan

Memindahkan file dan mengganti nama file
mv spasi nmfile spasi almt_dirtujuan
mv spasi nmfile spasi nmfilebaru

Menampilkan baris akhir pada file
tail spasi –n spasi nmfile

Mengkompres file
gzip spasi nmfile

Membaca file yang terkompres
zcat spasi nmfile

Mengekstrak file
gunzip spasi nmfile


==============================================================

Hardlink
ln spasi nmfile spasi almtdirtujuan

Softlink
ln spasi -s spasi nmfile spasi almtdirtujuan

Hak akses
chmod spasi nilaiakses spasi nmfile

Untuk melihat nilai akses
ls spasi –l

Editor VL
vl spasi nmfile

Lihat semua perintah
history


Soal Latihan
1.Silahkan login ke dalam root pada computer masing-masing!
2.Buat user dengan nama E dan F!
3.Buat folder labK di dalam E tanpa keluar dari root!
4.Buat file dengan nama file1!
5.Buat group dengan nama gruoplinux1!
6.Masukan user E dan F ke dalam grouplinux1!
7.Ubah kepemilikan dari file1 menjadi milik user E dan F!
8.Ubah izin akses dari file1 untuk user dan group bisa membaca dan menulis untuk lainnya hanya bisa membaca!
9.Hapus file F dan grouplinux1!


Jawaban
1.-Pada perintah login, ketik root, dan masukan password bsicengkareng.
-ketik adduser spasi E
-ketik passwd spasi E
-masukan password
-ulangi password yang telah kita masukan tadi

2.-ketik adduser spasi F
-kerik passwd spasi F
-masukan password
-ulangi password yang telah kita masukan tadi

3.-Ketik mkdir spasi /home/E/labK
-Ketik vl spasi file1
-Ketik isi file yang akan kita masukan, setelah selesai, tekan tombol Esc, kemudian :wq kemudian tekan enter.

4.-ketik cd
-ketik cd spasi /etc
-lalu muncul tampilan /etc
-tekan Esc kemudian : lalu q dan tekan enter
-ketik groupadd spasi –g spasi 546 spasi grouplinux1
-Angka 546 di sini hanyalah contoh, untuk pengisian angka tersebut tergantung dari angka-angka yang muncul pada tampilan /etc, dan angka yang kita masukan harus berbeda dengan angka-angka yang sudah muncul atau sudah dipakai sebelumnya.
-ketik gpasswd spasi –a spasi E spasi grouplinux1
-ketik vi spasi group { perintah ini berfungsi untuk melihat group E dan F }
-kemudian muncul suatu tampilan dengan diakhir tampilan terdapat kata-kata berikut : grouplinux1:x:546:E.F
-kemudian tekan shift : wq! Lalu tekan enter

========================================================
Perintah untuk menggerakan kursor:
gg : Menggerakan kursor ke awal baris
ngg : Menggerakan kursor ke n baris
G : Menggerakan kursor ke akhir baris

Perintah untuk mengcopy baris dan kata:
nyy : Mengcopy n baris dari posisi kursor
ngw : Mengcopy n kata dari posisi kursor


Perintah paste, undo dan redo:
P : Untuk mempaste pada posisi kursor
p : Untuk mempaste di bawah posisi kursor
U : Untuk membatalkan perintah (undo)
Ctrl + r : Untuk membatalkan perintah undo (redo)

Perintah untuk mendelete baris:
D : Digunakan untuk menghapus baris tanpa mengganti baris yang kosong
dd : Digunakan untuk menghapus baris dengan mengganti baris yang kosong dengan baris yang ada di bawahnya
d0 : Diguanakan untuk menghapus baris dari posisi kursor sampai ke awal baris
nD : Digunakan untuk menghapus n baris

Perintah untuk keluar dari editor:
:!sh : Digunakan bila kita ingin keluar sementara dari editor vi
:!ls : Digunakan untuk keluar sementara dari editor vi, sekaligus untuk mengeksekusi perintah ls

Perintah untuk membuka file:
n spasi file1 spasi file2: Untuk membuka 2 file sekaligus
:n :Digunakan untuk membuka file setelahnya
:rew :Digunakan untuk membuka file sebelumnya

Perintah untuk menyisipkan baris:
O : Untuk menyisipkan baris pada posisi kursor
o : Untuk menyisipkan baris di bawah posisi kursor
A : Untuk menyisipkan baris pada akhir baris

==========================================================

IP Address adalah alamat logika yang diberikan pada peralatan yang menggunakan protocol TCP/IP. IP Address dibagi menjadi 3 bagian / kelas utama, yaitu:Kelas Range Subnetmask
A 1-126 255.0.0.0
B 128-191 255.255.0.0
C 192-223 255.255.255.0


Sebanarnya dalam kelas IP Address, dibagi 5 bagian / kelas, yaitu kelas A, B, C, D, dan E. Tapi untuk kelas D dan E hanya digunakan untuk cadangan dan eksperimen. Dalam Linux, kita juga dapat mensetting IP Address agar computer yang kita gunakan dapat terhubung ke suatu jaringan computer, berikut adalah perintah-perintah yang ada di Linux dalam mensetting IP Address:

Mengaktifkan interface jaringan
#/etc/init.d/network spasi start

Mensetting IP Address
#ifconfing spasi eth0 spasi IP spasi netmask spasi subnetmask

Mensetting gateway
#route spasi add spasi default spasi gw spasi IP

Mencek koneksi
#ping spasi ipaddres

Mengubah hostname
#cd spasi /etc
#vi spasi host
Kemudian simpan dengan menekan :wq!
#reboot

Melihat konfigurasi IP
#/etc/init.d/network_scripts

Berikut adalah cara mensetting IP Address permanent pada Linux dengan menggunakan console:
Setup  Network konfiguration  Device eth0  Setting IP static, netmask, dan gateway  ok  quit  quit

Contoh Soal

Login menggunakan user root!

Aktifkan user masing-masing sebagai direktori tanpa dari user root!

Lihat interface yang sedang aktif!

Aktifkan interface jaringan!

Setting IP Address dengan IP 172.100.6.no computer masing-masing!

Setting IP Address dengan IP 172.100.6.21!

Tes koneksi ke gateway dan dengan teman sebelah!

Lihat computer yang terkoneksi!

Ubah hostname menjadi nama masing-masing!

Jawaban

Masuk ke consol atau langsung ke terminal pada desktop

cd spasi /home/13091448

f

#/etc/init.d/network spasi start

ifconfig spasi eth0 spasi 172.100.6.15 spasi netmask spasi 255.255.0.0

#route spasi add spasi default spasi gw spasi 172.100.6.15

#ping spasi 172.100.6.16
Tekan Ctrl + c untuk mengakhiri tampilan yang muncul

#arp
9. spasi /etc
#vi spasi host
Kemudian simpan dengan menekan :wq!
#reboot



===================================================

IPTables adalah suatu aturan bawaan yang ada pada Linux Centos. Sama seperti Firewall pada windows, IPTables ini berfungsi untuk memprotect system dalam melakukan transfer data. Berikut adalah perintah-perintah yang ada pada IPTables:

Melihat semua aturan
iptables spasi -L

Mendefaultkan semua aturan
iptables spasi –F

Memblok paket dari luar
iptables spasi –A spasi INPUT spasi –s spasi iptujuan spasi –j spasi REJECT

Memblok paket data ke luar
iptables spasi –A spasi OUTPUT spasi –d spasi iptujuan spasi –j spasi DROUP

Menghapus aturan iptables dari luar
iptables spasi –D spasi INPUT spasi –S spasi iptujuan spasi –j spasi REJECT

Menghapus aturan iptables kei luar
iptables spasi –D spasi OUTPUT spasi –d spasi iptujuan spasi –j spasi DROUP

Senin, 02 Januari 2012

Centos

CentOS alias Community ENTerprise Operating System adalah sebuah distro Linux yang diturunkan dari RHEL (Red Hat Enterprise Linux). CentOS dibuat oleh North American Enterprise Linux. Namun berbeda dengan turunan Linux lainnya, CentOS merupakan copian dari RHEL 99%. Mengapa?
Karena CentOS hanya membuang label RH dan diganti dengan label generic. Jadi isi dari program CentOS sama dengan RHEL. Drivers yang jalan di RHEL otomatis jalan juga di CentOS.
Meskipun keberadaan CentOS sangar tergantung pada Red Hat namun hal ini justru memberikan nilai tambah, karena RH merupakan satu-satunya distro komersial Linux yang dipakai secara luas di perusahaan besar dan satu-satunya distro Linux yang didukung oleh CPanel (CPanel adalah kontrol panel terbanyak dipakai oleh perusahaan hosting, hampir 100% hosting menggunakan CPanel). Karena merupakan copian RHEL maka CentOS juga didukung secara resmi oleh CPanel.


Kelebihan dan Kekurangan CentOS
Ini adalah pertanyaan yang sering ditanyakan calon pemakai CentOS. Tetapi sayangnya banyak yang tidak bisa memberikan jawaban yang jujur. Umumnya orang bilang semua Linux sama saja, tergantung pada kehebatan penguasaan administrator. Jawaban ini jelas salah! Mengapa salah? Karena siapapun pasti tidak akan menerima jawaban ini dan segera melakukan pencarian yang lebih dalam di Google maupun tanya serta baca sana sini bukan? Baiklah akan kami tulis secara jujur kelebihan dan kekurangan CentOS!
KELEBIHAN
KEKURANGAN
CentOS sangat kompatibel dengan RH
Tergantung pada distro RH. Karena itu CentOS selalu keluar setelah RH
Merupakan OS freeware yang sangat handal untuk skala Enterpise
Kata "enterprise" membuat pemula takut dan memilih Fedora
Merupakan satu-satunya OS freeware yang didukung resmi oleh CPanel
Penampilan website CentOS yang kurang menarik (CentOS Indonesia sedang mengupayakan untuk mengupdate website CentOS.org agar tampil menarik)
Drivers RHEL dapat dipakai oleh CentOS karena isi CentOS adalah RHEL
Kurangnya dokumentasi mengenai CentOS secara khusus

Karena CentOS dibangun berdasarkan RHEL maka segala kelebihan dan kekurangan RHEL juga menjadi bagian CentOS.