Pada tutorial kali ini saya akan membahas cara membuat ISP sendiri made in home. Gateway yang kita ambil dari ISP juga seperti speedy, telkomsel, smartfren dll. Sebenarnya gateway ISP tersebut juga dari ISP lain, kebanyakan mereka menarik gateway dari singapura dengan menggunakan kabel fiber optic ke Server di jakarta. Bedanya tropologi dan konsep jaringan yang akan saya lebih murah dan simpel. :) sebagai bahan edukasi dan pengetahuan saja, tapi jika kalian punya modal besar boleh tu buat ISP sendiri sukur-sukur bisa ngluncurin satelit sendiri yang dipergunakan untuk gateway internet, jadi indonesia gak perlu lagi nebeng gateway negara tetangga. (Jangan lupa angkat saya jadi karyawan yaa...) :D
Okelah, saya mulai pembahasannya. Pertama pastikan kalian mampu dan memahami ip subnetting, perintah dasar linux, dan perintah dasar mikrotik. Agar gak bingung prakteknya, berikut ini bahan yang diperlukan :
1. Akses Internet dari ISP misalnya speedy
2. Cisco misalkan kita memakai cisco FO
3. PC Proxy Server + Slackware
4. Mikrotik Router OS kita gunakan untuk management bandwith
5. HUB/Switch
Contoh Standarisasi IP
1. IP Cisco
IP Address cisco s0/0 120.152.86.1
netmask 255.255.255.250
gateway 120.152.86.1
2. Pemisahan anatar ip server dan klien, hal ini berguna dalam penyetingan ip agar tidak terjadi konflik antar ip.
IP Server 120.152.100.0/28 (Range ip server 120.152.100.1 sampai 120.152.100.14)
Broadcast 120.152.100.15
Selain ip diatas dapat digunakan untuk klien.
3. SET IP Ethernet Cisco
IP address 120.152.100.1
netmask 255.255.255.248
4. Konfigurasi PC Proxy Server
CPU Intel Dual Core
RAM 2GB
HDD 500GB Baracuda 7200rpm
2 LANCARD/Ethernet Card
Gunakan OS Linux + Squid + Slackware
setelah proses install selesai lanjutkan dengan setting ip address :
interface eth0
ip address : 120.152.100.2
netmask 255.255.255.248
gateway 120.152.100.1
Interface eth1
ip address : 120.152.100.17
netmask 255.255.255.250
Oke, kemudian kita melanjutkan dengan membuka file type.h dengan cara mengetik perintah berikut :
root@proxy:~# vi /usr/include/bits/types.h
edit bagian ini :
#define __FD_SETSIZE 1024
menjadi seperti ini
#define __FD_SETSIZE 8192
simpan dan keluar dari menu vi editor.
kita lanjutkan dengan mengetik perintah berikut :
root@proxy:~# ulimit -HSn 8192
Download squid proxy.
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 :
./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
kemudian kita lanjutkan dengan mengatur squid config nya, silahkan gunakan settingan squid punya saya dibawah ini namun pastikan ip address yang di izinkan sesuai dengan settingan ip anda :
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 120.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 rajaproxy@gmail.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 planetdiponk.blogspot.com
nonhierarchical_direct on
prefer_direct off
Kita lanjutkan dengan menambah user pada squid, dengan mengetik perintah berikut :
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 &
Sudah mulai pusing belum? hehehe, sabar sob. Kita lanjutkan setting mikrotik
/ip address add address=120.152.100.18/30 interface=ether1
karena seluruh ip yang di gunakan adalah ip publik maka kita perlu subnetting di pisah-pisah.
masukan ip address untuk pasangan ip client :
misalkan ip client adalah 120.152.100.22 maka yang di masukkan di mikrotik ethr2 adalah 120.152.100.21/30
demikian pula untuk pasangan ip client2 yang lain.
/ip address add address=120.152.100.21/30 interface=ether2
kemudian masukan gateway nya ke arah proxy :
/route add gateway=120.152.100.17
atur route di proxy agar mengizinkan network end mikrotik dapat lewat :
route add -net 120.152.100.20/30 gateway 120.152.100.18
Lalu kita buat peraturan pada iptables Linux :
iptables -A PREROUTING -t nat -p tcp -s 120.152.100.0/24 -i eth2 -d \! 120.152.100.0/24 --dport 80 -j REDIRECT --to 8080
jalankan dns server yang telah ada secara default di slackware dengan perintah :
root@proxy:~# named -d1
tinggal edit di /etc/resolv.conf
nameserver 127.0.0.1
Akhir cara membuat isp sendiri sudah selesai, sekarang ip public kita dapat terdistrubusi kepada klien dan penggunaan proxy berguna sebagai penghematan bandwith. Semoga tutorial saya ini bermanfaat jika kalian kesulitan atau terjadi trobelshooting silahkan tulis pada kolom komentar dibawah, kalau bisa pakai printscreen ya
Good Luck