Senin, 16 Februari 2015

Membangun Gateway Internet (Membangun PC Router dan Proxy Server)

Membangun Gateway Internet (Membangun PC Router dan Proxy Server)

topologi dari pembuat soal
Opsi konfigurasi :
Konfigurasi Server
  1. IP Internet        = Sesuai dengan Network yang diberikan ISP
  2. IP LAN = 192.168.50.1/24
  3. Gateway = Sesuai Dengan IP yang diberikan oleh ISP
Konfigurasi Client
  1. IP LAN              = 192.168.50.xxx/24
  2. Gateway = 192.168.50.1
Keterangan : xxx merupakan address antara 2 sampai 254
Konfigurasi Proxy Server
  1. Sistem Operasi                  = OS (Linux)
  2. Port proxy = 3128
  3. Cache Manager = nama_peserta@sekolah.sch.id
  4. Visible host = www.sekolah.sch.id
  5. Transparant proxy
  6. Blocking Site = www.youtube.com , www.facebook.com
Konfigurasi Router
1.    NAT  = yes
Implementasikan topologi diatas untuk pengujian konektifitas internet disekolah dengan ketentuan sebagai berikut :
  1. Membuat perencanaan sesuai dengan topologi jaringan yang disediakan
  2. Merakit PC server
  3. Instalasi Server,
  4. Instalasi Client (Windows XP)
  5. Melakukan konfigurasi Router sebagai Gateway Server.
  6. Melakukan instalasi dan konfigurasi jaringan sesuai topologi
  7. Melakukan pengujian fungsi jaringan (sistem koneksi) dan aplikasi server.
Jawaban Paket 1 a.k.a proxy
Oke sebelum saya coba jawab, kita bahas dulu soal ini ya.. yah? Yah? Yah?
Pertama IP Internet sesuai dengan network yang diberikan oleh ISP.  Kalau soal ini dikerjakan sesuai soalnya bagaimana jika ispnya hanya memberi IP yang sedikit untuk sekolah. Lebih parah lagi, bagaimana jika ada sekolah jurusan Teknik Komputer dan Jaringan yang belum punya koneksi internet (Emang ada? Keknya ada sih, di Ogan ilir kalo ga salah gurunya bilang belom sempet punya internet tuh sekolahnya). Kalau sekolahnya hanya memberikan IP yang sedikit, misalkan 2 IP saja yang diberikan oleh ISP, berarti sekali test hanya ada 2 orang siswa yang boleh mengerjakan soalnya dalam satu sesi. Jika di sekolah 1 kelasnya itu 32 berarti harus terbagi 16 sesi per kelas, berapa lama waktu yang dibutuhkan untuk uji kompetensi di satu sekolah? Kalau ada 3 kelas berarti 96 siswa, makin lama pula. Bagaimana dengan sekolah yang tidak punya internet (TKJ koq ga punya internet? nekat banget, tapi semoga agar muncul kebutuhan internet di sekolah).
Untuk yang lainnya tidak usah dipermasalahkan. Kalau tidak punya internet masih tetap bisa juga.
Untuk perakitan PC Client, Instalasi OS Linux, Windows, pengetahuan tentang IP Addressing dan lain sebagainya silahkan lakukan sendiri, saya kira semua sudah bisa. Saya hanya akan bahas konfigurasi proxy berdasarkan permintaan saja. OK, Let’s Do It…..
Do everything from command line
Berikut ini untuk percobaan awal, konfigurasi network, iptables rules, dan ip forward yang dilakukan tidak akan dijalankan kembali ketika system reboot. Untuk konfigurasi yang dapat langsung dijalankan saat system booting lihat pada langkah ke 12. Konfigurasi yang saya lakukan ini dijalankan pada host dengan OS Ubuntu Server 10.04.1, dengan squid versi 2.7.
1.       Instal Sistem operasi untuk server pada komputer.
Untuk Instalasi ubuntu/Linux lainnya pada komputer, saya kira tidak perlu dijelaskan panjang lebar dan saya tutup sampai di sini saja.
2.       Pasang software yang dibutuhkan
Untuk pengguna debian family : apt-get install squid
Untuk pengguna salckware family : slapt-get –install squid #slap-get sudah diinstall sebelumnya
Untuk pengguna fedora : yum –y install squid
3.       Cek interface yang ada
Jalankan perintah berikut :
root@cache # Ifconfig –a
Maka akan ditampilkan interface yang terpasang pada sistem kita sebagai contoh outputnya adalah
eth0      Link encap:Ethernet  HWaddr 00:18:fe:7a:99:14
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:58946135 errors:0 dropped:0 overruns:0 frame:0
TX packets:51330930 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4102215216 (4.1 GB)  TX bytes:158446612 (158.4 MB)
Interrupt:17

eth1      Link encap:Ethernet  HWaddr 00:17:9a:3a:26:ee
BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Interrupt:18 Base address:0xe800

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:6492 errors:0 dropped:0 overruns:0 frame:0
TX packets:6492 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2649048 (2.6 MB)  TX bytes:2649048 (2.6 MB)
4.     Berikan IP untuk masing masing interface
Misalkan untuk eth0 terhubung ke internet dan eth1 terhubung ke jaringan lokal. Untuk interface lokal tentunya gunakan sesuai soal untuk interface interlokal/internet saya gunakan ip 10.10.10.2/24 dengan gateway 10.10.10.1 atau terserah jika anda punya ip tersendiri dari ISP. Untuk konfigurasi yang tetap agar saat reboot dijalankan lihat langkah 12.
root@cache# ifconfig eth0 10.10.10.2 netmask 255.255.255.0 && route add default gw 10.10.10.1
root@cache# ifconfig eth1 192.168.50.1 netmask 255.255.255.0
5.       Aktifkan IP forwarding
root@cache# echo 1 > /proc/sys/net/ipv4/ip_forward
6.      NAT dan Masquerade
root@cahce# iptables –t nat –A POSTROUTING –-jump MASQUERADE –-source 192.168.50.0/24
7.       Lakukan konfigurasi untuk squid
Untuk konfigurasi squid silahkan edit file squid.conf biasanya terletak di direktori /etc/squid/. Anda boleh gunakan editor vi, vim, nano, pico atau pun editor.
root@cache# vi /etc/squid/squid.conf
sesuai dengan soal :
  • Port squid 3128
Untuk menentukan port squid ini cari saja baris http_port dan isi seperti berikut ini :
http_port 3128
Untuk cache manager cari saja baris cache_mgr dan sesuaikan dengan  permintaan soal
cache_mgr siswantikaji@sekolah.sch.id
Untuk visible host ketikan edit saja baris visible_hostname
visible_hostname www.sekolah.sch.id
  • Transparant Proxy
Kembali ke port squid tambahkan transparent setelah nomor proxynya
http_port 3128 transparent
Langkah pertama adalah buat access list baik untuk network lokal atau pun site yang akan diblok. Agar rapih cari bagian access list yang dimulai dengan acl
Acl untuk menerjemahkan jaringan internal a.k.a lokal nama aclnya terserah mau pake lokalan, daleman, jarlok atau sesuai keinginan anda.
acl lokalan src 192.168.50.0/24
acl untuk menerjemahkan site yang akan diblok kita gunakan saja yang sederhana karena hanya ada dua site yang diblok saja.
acl terlarang dstdomain .facebook.com .youtube.com
Langkah kedua adalah tentukan treatmen t terhadap acl deny atau allow dengan http_access. Perlu anda ingat disini urutan http_access akan sangat berpengaruh, oleh karena itu lakukan deny terlebih dahulu untuk situs yang akan diblok dan berikutnya perbolehkan untuk jaringan lokal. Jika anda melakukannya terbalik maka pemblokiran akan percuma karena network internal sudah diijinkan. Agar rapih lagi masukkan baris berikut setelah comment INSERT YOUR CONFIGURATION HERE dan sebelum http_access deny all. Ingat, jangan sesudah http_access deny all karena jika itu anda lakukan semua koneksi akan ditolak.
http_access deny terlarang
http_access allow lokalan
konfigurasi yang diperlukan untuk soal sudah cukup, simpan perubahan file dan keluar dari editor
8.       Restart squid
Untuk menjalankan perubahan yang telah dilakukan pada squid eksekusi perintah berikut ini
root@cache# squid –k reconfigure
kalau anda belum puas tambahin restart squidnya juga
root@cache# service squid restart
9.       Tambahkan rules iptables untuk meredirect request http ke port squid
Perintahnya adalah sebagai berikut
root@cache# iptables –t nat –A PREROUTING –p tcp –-dport 80 –j REDIRECT -–to-port 3128
10.   Lakukan test dari sisi server
Test dulu apakah squid sudah mendengarkan port 3128
root@cache# netstat –tapn |grep 3128
jika sudah jalan akan menampilkan :
tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN      1249/(squid)
11.   Lakukan test dari sisi klien
Untuk konfigurasi klien saya kira tidak usah dibicarakan, langsung saja buka internet browsernya dan lakukan akses terhadap situs yang dilarang atau pun tidak dilarang
Berikut adalah hasil situs yang diblokir :
blokir lewat proxy
12. Buat konfigurasi network dan fungsi proxy dijalankan saat boot
Agar konfigurasi network dan iptables dapat diload saat komputer restart, maka anda perlu mengubah isi dari /etc/network/interfaces untuk konfigurasi network dan tambahkan perintah2 iptables pada /etc/rc.local
root@cache # vi /etc/network/interfaces
#isikan baris berikut ini

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.10.10.2
netmask 255.255.255.0
gateway 10.10.10.1

auto eth1
iface eth1 inet static
address 192.168.50.1
netmask 255.255.255.0

#tidak usah ditambahkan gateway untuk eth1 karena ini yang jadi gateway untuk lokalan
Edit /etc/rc.local
root@cache# vi /etc/rc.local
Isikan baris berikut ini
#aktifkan ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
#masukkan baris iptables rules berikut ini
iptables –t nat –A POSTROUTING –jump MASQUERADE –source 192.168.50/24
iptables –t nat –A PREROUTING –p tcp –dport 80 –j REDIRECT –to-port 3128

exit 0

Tidak ada komentar:

Posting Komentar