9/20/13

Cara Membuat ISP Sendiri Made In Home

3 comments
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

3 comments :

  1. bos itu kalo kayak gitu speed nya gimana?

    ReplyDelete
    Replies
    1. Speed nya ya tergantung dari isp utama, kemudian tergantung juga dari manajemen bandwidth distribusinya :D

      Delete
  2. Apakah ip public yang kita buat itu bisa diubah nama perusahaan kita??

    ReplyDelete

Silahkan tulis kritik, saran dan pertanyaan kalian.

Notice :
Tolong jangan gunakan nama Anonymous, gunakanlah Name/URL, Google ID, Wordpress ID, Tyepad dll. Mohon pengertiannya untuk menghindari spam, bagi yang masih ngeyel mengunakan anonymous terpaksa komentar kami hapus.

- Terima Kasih