basic routing with linux ubuntu

15
Linux [email protected] @Tastasss +6285719458841 Created:24 Nov 2012 Tatas Fachrul Arta Aditya How to make Proxy server based on Ubuntu 12.04 Operating System. Code name Precise

Upload: independent

Post on 03-Dec-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Linux

t a t a s f a c h r u l @ g m a i l . c o m

@ T a s t a s s s

+ 6 2 8 5 7 1 9 4 5 8 8 4 1

C r e a t e d : 2 4 N o v 2 0 1 2

Tatas Fachrul Arta Aditya

How to make Proxy server based on Ubuntu 12.04

Operating System. Code name Precise

Linux

After Instalation

Apa sih yang harus dilakukan setelah Instalasi server Ubuntu 12.04 selesai?

1. Setting Jaringan Internet pada server

2. Ganti Repository

3. Update

Topologi:

Internet Server Client

Server mempunyai 2 Interface:

Interface eth0 Menuju Internet

Interface eth1 Menuju Client

Note: Interface ini tergantung dari PC masing - masing

1. Setting Jaringan

a. Cek interface

Root# ifconfig –a

Biasanya akan terlihat tampilan interface “eth0”, “eth1”, “lo” ini tergantung dari

PC masing – masing. Yang perlu diketahui adalah “lo” tidak bias digunakan untuk

menghubungkan 2 jaringan karena “lo” hanya berfungsi sebagai Loopback.

b. Cek koneksi

Root# dhclient eth0 -v

Fungsi dhclient ini adalah untuk mendapatkan IP DHCP dari server. Pada tutorial

saya kali ini adalah interface “eth0” merupakan interface yang terhubung dengan jaringan

luar

Linux

2. Ganti Repository

Root# nano /etc/apt/sources.list

Nanti akan terdapat banyak repo default. Hapus saja semuanya dan gunakan server

Indonesia atau Lokal. Contoh Repositorynya seperti:

deb http://kambing.ui.ac.id/ubuntu precise main restricted universe multiverse

deb http://dl2.foss-id.web.id/ubuntu precise main restricted universe multiverse

tapi kali ini saya menggunakan Repo local yang berada dijaringan LAN yaitu:

deb ftp://repo.smktjs.com/pub/ precise main restricred universe multiverse

# EOF save and exit

3. Update

Root# apt-get update

Linux

Routing + Proxy

1. Routing Simpan konfigurasi IP pada file “interfaces” yang terletak di “/etc/network/interfaces”

agar jika direstart IP tidak akan berubah.

Root# nano /etc/network/interfaces

auto lo # Default

iface lo inet loopback # Dan jangan pernah dirubah

auto eth0 # WAN/Internet

iface eth0 inet dhcp # Dibuat DHCP saja

auto eth1 # LAN/Menuju Client

iface eth1 inet static

address 192.168.55.1 # IP Server menuju Client

netmask 255.255.255.0 # Netmask

broadcast 192.168.55.255 # IP Broadcast

#EOF Save and Exit

Kemudian restart Network

Root# /etc/init.d/networking restart

Lalu edit file rc.local

Root# nano /etc/rc.local

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

iptables –F

iptables –t nat –F

iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE

exit 0

#EOF Save and Exit

Linux

Lalu jalankan eksekusi rc.local

Root# /etc/rc.local

Enter

Penjelasan mengenai isi dari rc.local diatas

Perintah

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

merupakan perintah untuk mengaktifkan ip forward.

Perintah

iptables –F dan iptables –t nat –F

merupakan perintah untuk memflush semua konfigurasi pada table Filter dan NAT.

Perintah

iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE

Merupakan perintah simple untuk routing. Eth0 dsni merupakan interface server yang

terhubung ke Internet.

Linux

------------------------------------------------------------------------------------------------------

Sekarang tinggal konfigurasi IP Client, Client kita disni adalah Windows 7

Opsi ini bisa ditemukan di Control Panel\Network and Internet\Network Connections

Lalu klik kanan Adapter yang aktif, pilih “Properties” lalu pilih “Internet Protocol

Version 4 (TCP/IPv4)”.

Linux

Proxy

1. Install squid

Root# apt-get install squid3

2. Edit file squid.conf

Root# nano /etc/squid3/squid.conf

##############################

# ACL Parameter

##############################

acl lokal src 192.168.55.0/24

acl domain dstdomain “/etc/squid3/domain.txt” # [UKOM] Blok Domain

acl konten url_regex “/etc/squid3/konten.txt” # [Optional] Blok Konten

################################

# Http Access List

################################

#################################

# Defaultnya diletakan setelah tulisan dibawah ini

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

# Rubah http_accesnya menjadi

###################################

http_access allow lokal !domain !konten

# tanda ! disni berfungsi sebagai pengecualian acl yang diperbolehkan mengakses.

# acl yang tidak diperbolehkan harus diawali dengan tanda !

################################

# PORT PROXY

###############################

http_port 3128 transparent

#####################################

# nomor port ini bisa dirubah sesuai kebutuhan dengan catatan port tersebut

# tidak digunakan oleh program lain

######################################

Linux

##########################

# Cache Manager

##########################

# Uncomment terlebih dahulu lalu ganti menjadi alamat email masing - masing

cache_mgr [email protected]

###########################

# Visible Hostname

###########################

#Uncomment terlebih dahulu lalu ganti menjadi alamat web yang ditentukan

visible_hostname www.allaboutanything.blog.com

Save and Exit

3. Buat daftar yang diblock

Root# nano /etc/squid3/domain.txt

.youtube.com

.yahoo.com

.facebook.com

#EOF save and exit

Root# nano /etc/squid3/konten.txt

pisang

apel

#EOF save and exit

4. Cek konfigurasi Squid3nya

Root# squid3 –k parse

Jika tidak ada error atau kesalahan maka lanjut ke step berikutnya, jika terdapat kesalahan

diteliti dulu error pesannya.

5. Buat Cache directory

Root# squid3 –z

Linux

6. Jalankan squid

Note: sehabis menginstall squid3, defaultnya squid3 tersebut langsung berjalan, untuk

menggunakan konfigurasi yang tadi kita buat maka matikan dlu squidnya lalu jalankan

kembali

Root# killall squid3

Root# squid3 start

7. REDIRECT

Root# iptables –t nat –A PREROUTING –i eth1 –p tcp --dport 80 –j REDIRECT --to-port 3128

Masukan iptables ini kedalam rc.local agar ketika direstart maka konfigurasi tak akan berubah.

8. Testing

Jika berhasil maka akan muncul tampilan seperti ini

Figure 1 Web yang terblock

Figure 2 Web yang dapat diakses

Linux

Okeeeeeee.. Jika sudah paham mengenai Proxy diatas sekarang kita akan membahas

macam – macam Proxy

Proxy pada tutorial diatas dinamakan Proxy Transparent. Tapi Proxy sendiri ada 3

macam:

1. Proxy Transparent

2. Proxy Explicit

3. Proxy Explicit + Authentifikasi

Proxy Transparent

Merupakan Proxy yang istilahnya WAJIB/DIPAKSA digunakan dalam suatu jaringan.

Jadi setiap USER dalam jaringan ketika mengakses internet maka dipaksa harus melewati

Proxy ini.

Proxy Explicit

Merupakan Proxy yang digunakan secara OPTIONAL saja. Kita bisa dengan bebas

menggunakan Proxy ataupun tidak menggunakan Proxy.

Proxy Explicit + Authentifikasi

Sama seperti Proxy Explicit biasa, akan tetapi setiap USER yang ingin mengakses

jaringan membutuhkan Username dan Password untuk mengakses jaringan tersebut.

Explicit Transparent

Linux

Proxy Explicit

Hanya hapus opsi “transparent” pada http_port

1. Matikan Squidnya

Root# killall squid3

2. Edit squid.conf

Root# nano /etc/squid3/squid.conf

##############################

# ACL Parameter

##############################

acl lokal src 192.168.55.0/24

acl domain dstdomain “/etc/squid3/domain.txt”

acl konten url_regex “/etc/squid3/konten.txt”

################################

# Http Access List

################################

http_access allow lokal !domain !konten

################################

# PORT PROXY

###############################

http_port 3128 # Option “transparent”nya dihilangkan

##########################

# Cache Manager

##########################

cache_mgr [email protected]

###########################

# Visible Hostname

###########################

visible_hostname www.allaboutanything.blog.com

Save and Exit

Lalu nyalakan squidnya

Root# squid3 start

Linux

Setting Proxy pada client, Contoh yang saya gunakan menggunakan web browser Mozilla

Firefox.

Edit dibagian Options Advanced Network Settings

Tinggal mencoba buka web yang kita block dan yang tidak diblock.

Linux

Proxy Explicit + Authentifikasi

Sama seperti Explicit hanya ditambahkan beberapa baris dibagian Authtentifikasi

Parameter dan Access List dan Install Apache2

1. Install Apache2

Root# apt-get install apache2

2. Matikan Squidnya

Root# killall squid3

3. Edit squid.confnya

Root# nano /etc/squid3/squid.conf

##############################

# Authtentifikasi

##############################

# Cari dan Uncomment tidak jauh dari header squid.conf

# auth_param basic program /usr/lib/squid3/ncsa_auth /usr/etc/passwd

# /usr/lib/squid3/ncsa_auth merupakan default

# Yang perlu dibuat adalah “/usr/etc/passwd” ini bisa kita letakan dmn saja

auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd

##############################

# ACL Parameter

##############################

acl lokal src 192.168.55.0/24

acl domain dstdomain “/etc/squid3/domain.txt”

acl konten url_regex “/etc/squid3/konten.txt”

##########################

# Tambahkan ACL untuk authentifikasinya

###########################

acl ncsa proxy_auth REQUIRED #jangan lupa tambahkan di http_access

################################

# Http Access List

################################

http_access allow lokal ncsa !domain !konten

Linux

################################

# PORT PROXY

###############################

http_port 3128

##########################

# Cache Manager

##########################

cache_mgr [email protected]

###########################

# Visible Hostname

###########################

visible_hostname www.allaboutanything.blog.com

Save and Exit

Lalu nyalakan squidnya

Root# squid3 start

4. Buat file untuk menyimpan password

Root# touch /etc/squid3/passwd

5. Rubah agar bisa dieksekusi

Root# chmod a+r /etc/squid3/passwd

6. Cara membuat User

Dengan perintah htpasswd /etc/squid3/passwd <nama>

Contoh:

Root# htpasswd /etc/squid3/passwd Tatas

Setelah tekan enter maka kita disuruh untuk memasukan password untuk username

tersebut.

Linux

7. Testing

Setting client seperti Proxy Explicit diatas, lalu coba buka browser dan ketikan web yang

mau dibuka. Jika Muncul seperti ini:

Maka Proxy Authentifikasi anda telah berhasil.