Rabu, 28 Agustus 2013

Cara Buat ISP Pake Mikrotik + Squid box ( Small Internet Provider )


topologi jaringan adalah sebagai berikut :
net -- cisco --hub -- Squid (slackware) -- mikrotik (bw managr) -- client
......................|
......................|
......................|-- server lain nya

IP ADDRESS SESUAIKAN DENGAN YANG DI MILIKI 

blok ip yang di dapat adalah : 202.152.100.0/24
syarat dasar pemahaman :
1. ip subnetting
2. perintah dasar linux
3. perintah dasar mikrotik

Langkah2...


 

1. Liat ip address cisco nya (asumsi menggunakan FO) 
ip address cisco s0/0 202.152.30.1 
netmask 255.255.255.252
gateway 202.152.30.2
(biasanya di dapat dari ISP yang di atas isp kita)

2. Memecah blok ip address yang kita dapat :
sebelum blok ip address yang kita miliki kita gunakan ada baik nya di pecah dulu. pada contoh berikut akan saya berikan untuk di bagi menjadi 2. BLOK IP SERVER dan blok ip CLIENT.

BLOK IP SERVER2 :
network : 202.152.100.0/28
ip yang dapat di gunakan :202.152.100.1 - 202.152.100.14
broadcast : 202.152.100.15

BLOK IP CLIENT :
selain yang di atas adalah ip yang dapat di gunakan untuk client.

3. SET IP ETHERNET CISCO

set ip cisco ethernet0/0
ip address : 202.152.100.1
netmask 255.255.255.240


4. setting Proxy server + TUNE UP :
Linux yang di gunakan adalah SLACKWARE 9 dapat di download di :
http://mirror.vip.net.id/pub/slackware/
yang di gunakan adalah :
komputer P4
HARD DISK 40 G seagate baracuda 7200 rpm 3 keping dengan RAM 2 G
keping hardisk pertama di mount ke /
keping hardisk ke 2 di mount ke /cache1
keping hard disk ke 3 di mount ke /cache2

setelah di install isikan ip address berikut :

interface eth0
ip address : 202.152.100.2
netmask 255.255.255.240
gateway 202.152.100.1

Interface eth1
ip address : 202.152.100.17
netmask 255.255.255.252

setelah itu ... 

buka file : type.h
root@proxy:~# vi /usr/include/bits/types.h
edit bagian ini :

#define __FD_SETSIZE 1024

jadi seperti ini 


#define __FD_SETSIZE 8192

==> kemudian keluar dari VI EDITOR

kemudian ketik perintah ini :


root@proxy:~# ulimit -HSn 8192
kemudian download squid 2.5.STABLE9 dari sini :

wget 
http://202.154.183.7/squid-2.5.STABLE9.tar.gz
simpan di direktori /usr/local/src

ekstrak dengan perintah :

tar -zxvf squid-2.5.STABLE9.tar.gz

masuk kedirektori squid 
ketik perintah berikut ini :


./configure \--prefix=/opt/squid \--exec-prefix=/opt/squid \--enable-gnuregex \--enable-async-io=30 \--with-aufs-threads=30 \--with-pthreads \--with-aio \--with-dl \--enable-storeio=aufs \--enable-removal-policies=heap \--enable-icmp \--disable-wccp \--enable-snmp \--enable-cache-digests \--enable-default-err-languages=English \--enable-err-languages=English \--enable-linux-netfilter \--disable-ident-lookups \--disable-hostname-checks \--enable-underscores
karena udah ada mikrotik untuk bw management tidak di perlukan lagi delay pool. Konfigurasi ini adalah untuk komputer dengan spek seperti berikut :
HARDISK 3 keping 40 G seagate baracuda 7200 rpm, RAM 2 G
2 keping hard disk untuk cache, 1 keping untuk system. apabila menggunakan hard disk scsi --enable-async-io=30 --with-aufs-threads=30 bisa di naekkan jadi 32.

selesai install squid. semua file squid akan terletak di direktori /opt/squid

setelah itu gunakan squid.conf di bawah ini :


CODE :

http_port 8080
acl youtube dstdomain .youtube.com
no_cache allow youtube
hierarchy_stoplist cgi-bin ? localhost .js .jsp .friendster.com
acl QUERY urlpath_regex cgi-bin \? localhost .friendster.com
no_cache deny QUERY
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_mem 6 MB
cache_dir aufs /cache1 8000 13 256
cache_dir aufs /cache2 8000 13 256
cache_swap_low 98
cache_swap_high 99
cache_access_log /cache1/access.log
cache_log /dev/null
cache_store_log none
mime_table /opt/squid/etc/mime.conf
pid_filename /var/run/squid.pid
client_netmask 255.255.255.0
refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod
redirect_rewrites_host_header off
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localnet src 202.152.100.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 8443 563 777
acl Safe_ports port 25 80 81 110 443 563 6667 7000 777 210 119 70 21 1025-65535
acl Safe_ports port 280 6668 6669
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl lewat dst_as 4622 4761 4787 4795 4796 4855 4800 7587 7597 7713 9326 9340 9448 9657 9791 9794 9875 9905 9228 9251 10114 10137 10208 10217 17440 17450 17451 17538 17658 17671 17670 17725 17727 17769 4832 4833 17817 17884 17907 17910 17922 17800 10220 17974 17826 17885 18052 18056 18059 7632 4821 18103 17996 18004 18153 18156 18189 18237 18251 18347 3583 3382 4382 4434 18364 18365 18379 9341 9785 18393 17995 23651 23666 23671 23679 23691 23756 23945 24052 24057 24194
always_direct allow lewat
always_direct deny all
#header_access Accept-Encoding deny all
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny CONNECT
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_access deny all
maximum_object_size 128 MB
maximum_object_size_in_memory 8 KB
ipcache_size 4096
ipcache_low 98
ipcache_high 99
quick_abort_min 0
quick_abort_max 0
quick_abort_pct 75
fqdncache_size 4096
shutdown_lifetime 10 seconds
cache_mgr hendraarif@yahoo.com
cache_effective_user squid
cache_effective_group squid
memory_pools off
buffered_logs off
log_icp_queries off
logfile_rotate 1
log_fqdn off
forwarded_for off
icp_hit_stale on
query_icmp on
reload_into_ims on
emulate_httpd_log off
negative_ttl 2 minutes
pipeline_prefetch on
vary_ignore_expire on
half_closed_clients off
high_page_fault_warning 2
visible_hostname proxy@dodol.org
nonhierarchical_direct on
prefer_direct off
perhatikan ip address yang di izinkan. sesuaikan dengan ip yang di gunakan.
perhatikan juga penggunaan cache direktori. maksimal untuk 1 keping adalah 18 Giga.

setelah itu tambahkan user squid di linux :

root@proxy:~# useradd squid

tambahkan juga group squid 


root@proxy:~# groupadd squid


bentuk direktori cache di squid :


root@proxy:~# /opt/squid/sbin/squid -z

ketik perintah ini sekali lagi :


root@proxy:~# ulimit -HSn 8192

kemudian jalankan squid dengan perintah :


root@proxy:~# /opt/squid/sbin/squid -DY &
okeee.. kita lanjut :

5. Setting mikrotik :

masukin ip address ether 1 :
/ip address add address=202.152.100.18/30 interface=ether1

karena seluruh ip yang di gunakan adalah ip public maka perlu subnetting di pisah-pisah :
masukin ip address untuk pasangan ip client :
misalkan ip client adalah 202.152.100.22 maka yang di masukkan di mikrotik ethr2 adalah 202.152.100.21/30

demikian pula untuk pasangan ip client2 yang lain. 

/ip address add address=202.152.100.21/30 interface=ether2



untuk lebih jelasnya dapat di liat pada tablel berikut :


CODE :
network      first avail           last avail         broadcast


202.152.100.20   202.152.100.21   202.152.100.22   202.152.100.23


202.152.100.24   202.152.100.25   202.152.100.26   202.152.100.27


202.152.100.28   202.152.100.29   202.152.100.30   202.152.100.31


202.152.100.32   202.152.100.33   202.152.100.34   202.152.100.35


202.152.100.36   202.152.100.37   202.152.100.38   202.152.100.39


202.152.100.40   202.152.100.41   202.152.100.42   202.152.100.43


202.152.100.44   202.152.100.45   202.152.100.46   202.152.100.47


202.152.100.48   202.152.100.49   202.152.100.50   202.152.100.51


202.152.100.52   202.152.100.53   202.152.100.54   202.152.100.55


202.152.100.56   202.152.100.57   202.152.100.58   202.152.100.59


202.152.100.60   202.152.100.61   202.152.100.62   202.152.100.63


202.152.100.64   202.152.100.65   202.152.100.66   202.152.100.67


202.152.100.68   202.152.100.69   202.152.100.70   202.152.100.71


202.152.100.72   202.152.100.73   202.152.100.74   202.152.100.75


202.152.100.76   202.152.100.77   202.152.100.78   202.152.100.79


202.152.100.80   202.152.100.81   202.152.100.82   202.152.100.83


202.152.100.84   202.152.100.85   202.152.100.86   202.152.100.87


202.152.100.88   202.152.100.89   202.152.100.90   202.152.100.91


202.152.100.92   202.152.100.93   202.152.100.94   202.152.100.95


202.152.100.96   202.152.100.97   202.152.100.98   202.152.100.99


202.152.100.100  202.152.100.101  202.152.100.102  202.152.100.103


202.152.100.104  202.152.100.105  202.152.100.106  202.152.100.107


202.152.100.108  202.152.100.109  202.152.100.110  202.152.100.111


202.152.100.112  202.152.100.113  202.152.100.114  202.152.100.115


202.152.100.116  202.152.100.117  202.152.100.118  202.152.100.119


202.152.100.120  202.152.100.121  202.152.100.122  202.152.100.123


202.152.100.124  202.152.100.125  202.152.100.126  202.152.100.127


202.152.100.128  202.152.100.129  202.152.100.130  202.152.100.131


202.152.100.132  202.152.100.133  202.152.100.134  202.152.100.135


202.152.100.136  202.152.100.137  202.152.100.138  202.152.100.139


202.152.100.140  202.152.100.141  202.152.100.142  202.152.100.143


202.152.100.144  202.152.100.145  202.152.100.146  202.152.100.147


202.152.100.148  202.152.100.149  202.152.100.150  202.152.100.151


202.152.100.152  202.152.100.153  202.152.100.154  202.152.100.155


202.152.100.156  202.152.100.157  202.152.100.158  202.152.100.159


202.152.100.160  202.152.100.161  202.152.100.162  202.152.100.163


202.152.100.164  202.152.100.165  202.152.100.166  202.152.100.167


202.152.100.168  202.152.100.169  202.152.100.170  202.152.100.171


202.152.100.172  202.152.100.173  202.152.100.174  202.152.100.175


202.152.100.176  202.152.100.177  202.152.100.178  202.152.100.179


202.152.100.180  202.152.100.181  202.152.100.182  202.152.100.183


202.152.100.184  202.152.100.185  202.152.100.186  202.152.100.187


202.152.100.188  202.152.100.189  202.152.100.190  202.152.100.191


202.152.100.192  202.152.100.193  202.152.100.194  202.152.100.195


202.152.100.196  202.152.100.197  202.152.100.198  202.152.100.199


202.152.100.200  202.152.100.201  202.152.100.202  202.152.100.203


202.152.100.204  202.152.100.205  202.152.100.206  202.152.100.207


202.152.100.208  202.152.100.209  202.152.100.210  202.152.100.211


202.152.100.212  202.152.100.213  202.152.100.214  202.152.100.215


202.152.100.216  202.152.100.217  202.152.100.218  202.152.100.219


202.152.100.220  202.152.100.221  202.152.100.222  202.152.100.223


202.152.100.224  202.152.100.225  202.152.100.226  202.152.100.227


202.152.100.228  202.152.100.229  202.152.100.230  202.152.100.231


202.152.100.232  202.152.100.233  202.152.100.234  202.152.100.235


202.152.100.236  202.152.100.237  202.152.100.238  202.152.100.239


202.152.100.240  202.152.100.241  202.152.100.242  202.152.100.243


202.152.100.244  202.152.100.245  202.152.100.246  202.152.100.247


202.152.100.248  202.152.100.249  202.152.100.250  202.152.100.251


202.152.100.252  202.152.100.253  202.152.100.254  202.152.100.255
kemudian masukan gateway nya ke arah proxy :

/route add gateway=202.152.100.17
atur route di proxy agar mengizinkan network end mikrotik dapat lewat :

route add -net 202.152.100.20/30 gateway 202.152.100.18

selesai urusan ip address...

6. dapat di uji coba client 
menggunakan ip address :
202.152.100.22
netmask 255.255.255.252
gateway 202.152.100.21

karena menggunakan subnetting selain ip address 22 tidak akan dapat melewati router mikrotik yang di buat

7. iptables di proxy 
semua traffic harus di paksa lewat proxy server yang kita buat dengan perintah :


iptables -A PREROUTING -t nat -p tcp -s 202.152.100.0/24 -i eth2 -d \! 202.152.100.0/24 --dport 80 -j REDIRECT --to 8080
9. DNS SERVER 
jalankan dns server yang telah ada secara defaul di slackware dengan perintah :


root@proxy:~# named -d1

tinggal masukin di /etc/resolv.conf 

nameserver 127.0.0.1
dan seluruh client pake dns ip 202.152.100.17
TANPA NAT/MASQUERADE .................. ip public terdistribusi ke client.

Tutorial ini sudah saya uji coba dan terapkan di sebuah perusahaan ISP kecil-kecilan dengan backbone internet utama dari Astinet Telkom. Dengan sedikit penambahan di sisi ubuntu server, silahkan disesuaikan dengan kebutuhan sobat.
Dengan Specifikasi Hardware:
- Untuk Proxy adalah PC rakitan dengan OS Ubuntu Server 10.04

- Mikrotik RB1000

Semoga sedikit share ini dapat membantu sobat sekalian. Jika ada saran atau kritik atau pertanyaan silahkan disampaikan disini.

Related Link:
http://www.forummikrotik.com
Share:

1 komentar:

Blog ini hanya sebagai jurnal keseharian penulis. Tinggalkan komentar positif anda, saling menghargai satu sama lain.

Recent Posts

Pages

Pengikut