Oct 29, 2012

Konfigurasi Router, Transparent Proxy dan Mail Server di Linux Debian Lenny

Konfigurasi Router dan Transparent Proxy Squid di Linux Debian - Kembali lagi ke server pada linux debian kali ini saya akan kembali menulis tentang administrator server. Disini saya menggunakan debian, karena debian memang menurut saya adalah induk dari linux jadi bisa juga konfigurasi yang saya terapkan di debian anda terapkan di linux ubuntu dan yang lainnya. Kali ini saya akan memabahas mengenai Konfigurasi Router dan Transparent Proxy Squid di Linux Debian.
Konfigurasi router memang hal yang penting dalam sebuah jaringan karena router berperan penting dalam penyaringan paket data dalam sebuah jaringan. Jadi dengan adanya router kita dapat menghubungkan dua jaringan yang berbeda sehingga memperkecil kemungkinan ip konflik pada jaringan tersebut. Router juga bisa mengarahkan sebuah paket data ke alamat (address) atau port tertentu sehingga mempermudah seorang admin server mengarahkan data paket ke tujuan.
Squid pada linux memang sering digunakan untuk proxy pada server. Selain berfungsi sebagai penyimpan cache sebuah alamat website, squid juga dapat menyaring mana website yang di perbolehkan dikunjungi (allow) dan mana website yang tidak diperbolehkan dikunjungi (deny). Jadi kita dapat block situs dengan squid di linux debian. Saya disini menggunakan debian lenny. Langsung kepada pembahasan, sekarang kita lihat dulu topologi yang akan kita buat ini.

topologi router
Gambar di atas ini adalah topologi yang percis akan kita buat, tapi sebelumnya kita tetapkan ipnya dulu.
Modem: 192.168.1.254
Router Proxy server (Debian): Eth0 > 192.168.1.10
Router Proxy server (Debian): Eth1 > 192.168.101.1
Client: 192.168.101.15
Oke sekarang kita sudah menentukan ipnya sekarang mari kita konfigigurasi. Beralih ke PC Server, pertama kita konfigurasi router.
Konfigurasi Router Linux Debian
Pertama kita setting ip address pada server yang akan dijadikan router ini.
# nano /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
 address 192.168.1.10
 netmask 255.255.255.0
 network 192.168.1.0
 broadcast 192.168.1.255
 gateway 192.168.1.254

auto eth1
iface eth1 inet static
 address 192.168.101.15
 netmask 255.255.255.0
 network 192.168.101.0
 broadcast 192.168.101.255 
# /etc/init.d/networking restart
setelah selesai konfigurasi ip, selanjutnya kita aktifkan ip forward dan nat pada iptables
# nano /etc/sysctl.conf
cari dan hilangkan tanda pagar pada #net.ipv4.ip_forward=1 sehingga menjadi net.ipv4.ip_forward=1
Setelah disimpan, selanjutnya kita aktifkan ipforwardnya dalam sysctl.conf tersebut
# sysctl -p
beralih ke iptables untuk routingnya.
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE
iptables-save
jangan lupa simpan di rc.local
# 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 -s 192.168.1.0/24 -d 0/0 -j MASQUERADE
exit 0

jangan lupa menambahkan dns pada resolv.conf disini saya menggunakan dns google.
# nano /etc/resolv.conf
tambahkan:
nameserver 8.8.8.8
nameserver 8.8.4.4
Save, Sampai disini proses konfigurasi router telah selesai. Selanjutnya kita sekarang konfigurasi squid.
Konfigurasi Squid Transparent Proxy
# apt-get install squid
# nano /etc/squid/squid.conf
yang harus diedit adalah:
http_port 3128 menjadi http_port 3128 transparent
#cache_effective_user proxy hilangkan tanda pagarnya.
#cache_mem 8 MB hilangkan pagarnya dan dijadikan cache_mem 16
#cache_dir ufs /var/spool/squid 100 16 256 hilangkan pagarnya menjadi cache_dir ufs /var/spool/squid 10000 16 256
selanjutnya tambahkan group proxy seperti gambar berikut:

Setelah itu tambahkan Jaringan lan kita, Cari INSERT YOUR lalu di bawahnya tambahkan seperti digambar berikut:
acl lan src 192.168.101.0/24
http_access allow lan

Terakhir, kita buat blok site menggunakan squid. Cari ACL CONNECT lalu bawahnya tambahkan:
acl webterlarang dstdomain “/etc/squid/webterlarang.txt”
http_access deny webterlarang

silakan save konfigurasi squidnya. Setalah itu buat file web terlarangnya dan masukan web yang akan kita blok misalnya facebook dan youtube.
# nano /etc/squid/webterlarang.txt
kemudian di isinya masukan:
www.facebook.com
www.youtube.com
Sialkan save.
Selanjutnya kita masukan iptables untuk membelokkan port http (80) ke port squid (3128).
# iptables -t nat -A PREROUTING -s 192.168.101.0/24 -p tcp --dport 80 -j DNAT --to-destination 192.168.101.15:3128

# iptables-save

jangan lupa masukan ip tables tersebut di rc.local sama seperti tahap pertama di atas.
Restart squid
# /etc/init.d/squid restart
Semua konfigurasi selesai, sekarang setting ip di client windows sebagai berikut:
IP Address 192.168.101.100
Subnet 255.255.255.0
Gateway 192.168.101.15
DNS 8.8.8.8
Silakan browsing melalui client, maka client akan bisa terkoneksi dengan internet dan jika berhasil maka squid di router akan menampilkan tampilan seperti berikut:
# tail -f /var/log/squid/access.log


E-mail merupakan aplikasi internet yang banyak digunakan saat ini untuk komunikasi dua arah. Selain karena kemudahan dalam penggunaannya juga karen kemurahan teknologi yang ditawarkan oleh email ini. E-mail singkatan dari electronic mail juga dapat dianalogikan dengan pengiriman surat yang umum digunakan saat ini melalui kantor pos, atau melalui jasa pengirim surat atau barang. Pengiriman email dilakukan melalui perangakat elektronik seperti HP/PDA.
 
Proses pengiriman/penerimaan e-mail melibatkan protokol Simple Mail Transfer Protocol (SMTP) dan Post Office Protocol verson 3 (POP3). Protokol SMTP bertugas untuk mempros-es pengiriman mail (Outgoing mail) dan PHP3 bertugas untuk memproses penerimaan mail (Incoming mail).
Jika user atau pemilik e-mail tidak sedang aktif/off-line untuk mengakses e-mail, maka e-mail yang tertuju kepadanya akan ditampung sementara oleh server e-mail sampai pemilik email tersebut mengaksesnya. Hal ini bisa terjadi karena adanya protokol POP3.
Untuk instalasi kali ini saya asumsikan bahwa DNS server sudah terinstall dengan baik, dan jika ingin melihat konfigurasi DNS server sebelumnya dapat dilihat disini.

Langkah-Langkah membuat mail server seperti berikut.
>  Instalasi
Postfix adalah aplikasi yang akan kita installkan untuk membangung sebuah mail server. Untuk melengkapi mail server kita harus menginstallkan software lain yaitu php5, courier-pop, courier-imap, dan Squirrelmail.
a.       Perintahnya
D4V1D:~# apt-get install postfix courier-imap courier-pop php5 squirrelmail
b.      Maka akan keluar pilihan Configuring courier-base

Pilih No
c.       Lalu keluar Postfix Configuration, pilih Local Only (sebab kita hanya akan menginstall mail server dalam skala local sebagai uji coba dahulu).




d.      Untuk system mail name masukkan bebas, dan saya pilih mail.bloganakkomputer.com



>  Konfigurasi
a.       Konfigurasi postfix pada file main.cf
D4V1D:~# nano /etc/postfix/main.cf
Tambahkan tanda # pada bagian mydestination dan mailbox_command.
Tambahkan pada baris terakhir
home_mailbox = Maildir/
Sehingga akan menjadi seperti gambar berikut.

b.      Kemudian masuk direktori skel dan buat direktori Maildir
D4V1D:~# cd /etc/skel/
D4V1D:/etc/skel# maildirmake Maildir 

c.       Konfigurasi squirrelmail
Buat konfigurasi untuk squirrelmail.
D4V1D:~# squirrelmail-configure
Kemudian akan muncul
Masukkan command
Command >> d
Lalu ketik courier
Command >> courier
Lalu akan keluar konfigurasi
imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = .
delete_folder = true

Press any key to continue...
Tekan enter
Save data
Command >> s
Lalu Quit
Command >> q

d.      Buat Virtualhost squirrelmail dengan cara edit /etc/apache2/apache2.conf
D4V1D:~# nano /etc/apache2/apache2.conf
Pada baris terakhir tambahkan,
Include /etc/squirrelmail/apache.conf
Sehingga menjadi 



e.       Restart Apache
D4V1D:~# /etc/init.d/apache2 restart

>  Pengujian
A.    Dari computer server
D4V1D:~# lynx bloganakkomputer/squirrelmail
Sehingga akan keluar

Untuk uji coba apakah mail server sudah dapat berjalan dengan benar, kita perlu login, maka kita akan membuat user dahulu dari server dengan perintah
D4V1D:~# adduser angela

Adding user `angela' ...
Adding new group `angela' (1003) ...
Adding new user `angela' (1003) with group `angela' ...
Creating home directory `/home/angela' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for angela
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

Untuk melakukan test konfigurasi mail server pada local mesin (server) ikuti langkah-langkah
di bawah ini :
·         Masuk ke localmesin

D4V1D:~# telnet localhost 25

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 bloganakkomputer.com ESMTP Postfix (Debian/GNU)
·         kemudian ketikan perintah di bawah ini
Anda : ehlo virtual.test
250-bloganakkomputer.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Anda: mail from:angela@bloganakkomputer.com
Server: 250 2.1.0 Ok

Anda: rcpt to:david@bloganakkomputer.com
Server: 250 2.1.5 Ok

Anda: data
Server: 354 End data with .

Anda: Subject:mencoba kirim email
Hai,...
Namaku Angela
. (tanda titik)
Server: 250 2.0.0 Ok: queued as 17B2F503BA

Anda: quit
Server: 221 2.0.0 Bye

Screenshoot Langkah Telnet

Langkah di atas merupakan langkah untuk mengirim email ke david@bloganakkomputer.com yang merupakan user default (saat instalasi) dengan user angela@bloganakkomputer.com yang merupakan user kedua dengan program telnet.
Apakah email di atas telah terkirim ke user david? Mari kita cek dari computer client.

B.     Dari computer client
Dari computer client dengan browser, buka http://bloganakkomputer.com/squirrelmail
Masukkan username dan passwordnya, enter.
Buka Inbox dan cek Inbox.
Coba kita buka.
Lalu coba balas, dengan memilih reply.
Kemudian logout dan login dengan user angela.
Cek Inboxnya, bila sudah terkirim, maka mail server yang kita bangun telah berhasil.
Sampai langkah ini, bila proses mengirim (baik dari telnet maupun dari browser internet client) dan menerima telah berhasil, maka dapat kita pastikan mail server telah dapat berjalan lancar.
Namun sebenarnya ada yang masih kurang dengan alamat domainnya. Kita harus memasukkan alamat http://bloganakkomputer.com/squirrelmail untuk dapat mengaksesnya. Bagaimana caranya, supaya untuk dapat mengaksesnya dengan alamat http://mail.bloganakkomputer.com/ ?
Akan saya bahas di bagian berikutnya pada bagian Virtual Host.
Sekian.

0 comments:

Blogger Template by Clairvo