Sabtu, 11 Juni 2011

Konfigurasi proxy di linux


Squid Cache, TProxy, dan Mikrotik (Alternatif Perpaduan Untuk Jaringan

Konfigurasi SQUID
Pada prinsipnya squid membutuhkan routing untuk meneruskan permintaan ke internet, routing akan tergantung pada aturan routing yang ada di linux anda, pada
contoh ini, apabila kita melihat table routing yang ada;
route
Destination Gateway Genmask Flags Metric Ref Use Iface
10.40.40.0 * 255.255.255.252 U 0 0 0 eth0
172.16.80.0 * 255.255.255.248 U 0 0 0 eth1
default 10.40.40.1 0.0.0.0 UG 0 0 0 eth0

Default gateway nya adalah 10.40.40.1, sehingga secara default semua paket yang diambil oleh squid untuk dilanjutkan ke internet akan menggunakan 10.40.40.1 sebagai routing ke internet. Yang diinginkan adalah agar ketika misalnya ada request dari user dengan IP Address 172.16.80.4 yang gatewaynya ke 172.16.80.1 (IP Address di eth1) ke internet pada port 80 (http), yang kemudian dialihkan ke port 3128 (squid) dengan menggunakan TPROXY iptables, squid akan melakukan binding dengan IP Address 172.16.80.1, yang apabila routingnya sudah diatur (lihat langkah no.6) akan diteruskan ke 10.40.40.1 dengan tetap membawa IP Address user 172.16.80.4 (iptables TPROXY).
Pada squid yang dibutuhkan adalah pengaktifan tproxy, dan memanfaatkan tcp_outgoing address berdasarkan acl src-address, berikut contoh file konfigurasi saya (sebagian). Silahkan eksplorasi lebih lanjut untuk konfigurasi performa squid.
http_port 3128 tproxy transparent
##ACLs###
acl client_3dnet_isplasa src 172.16.17.0/255.255.255.248
acl client_3dnet_alwy src 172.16.17.8/255.255.255.248
acl client_3dnet_anis src 172.16.17.16/255.255.255.248
acl client_3dnet_pkstebet src 172.16.17.24/255.255.255.248
acl client_3dnet_pkstebet2 src 172.16.17.32/255.255.255.248
acl client_sonny src 172.16.35.8/255.255.255.248
acl client_christ src 172.16.35.16/255.255.255.248
acl client_shandy src 172.16.35.24/255.255.255.248
acl client_tono src 172.16.35.32/255.255.255.248

##TCP_Outgoing_Address###
tcp_outgoing_address 172.16.17.1 client_3dnet_isplasa
tcp_outgoing_address 172.16.17.9 client_3dnet_alwy
tcp_outgoing_address 172.16.17.17 client_3dnet_anis
tcp_outgoing_address 172.16.17.25 client_3dnet_pkstebet
tcp_outgoing_address 172.16.17.33 client_3dnet_pkstebet2
tcp_outgoing_address 172.16.35.9 client_sonny
tcp_outgoing_address 172.16.35.17 client_christ
tcp_outgoing_address 172.16.35.25 client_shandy
tcp_outgoing_address 172.16.35.33 client_tono

##Default##
tcp_outgoing_address 10.40.40.2
server_persistent_connections off

Dengan demikian apabila request muncul dari IP Address 172.16.17.4, maka squid akan berjalan pada 172.16.17.1:3128, sehingga request diteruskan dengan tetap membawa IP Address user (172.16.17.4) ke Router Mikrotik yang terletak diatasnya. Pastikan bahwa IP Gateway user merupakan salah satu IP Address yang diassign ke eth1 (local), karena gateway user adalah ke Gateway Linux Squid.
 Melakukan Routing tanpa NAT dengan bantuan Firehol
Pada umumnya, sebuah gateway akan melakukan NAT sebelumnya melanjutkan request ke internet, namun demikian dengan serangkaian rule iptables (mungkin bisa dengan pendekatan lain, sayangnya saya belum bisa), routing paket bisa diteruskan ke atas (Router Mikrotik), dan NAT akan dilakukan oleh Router Mikrotik.
Untuk melakukan hal ini saya menggunakan firehol yang keterangan dan konfigurasi lengkapnya bisa dilihat di http://firehol.sourceforge.net/, pada contoh ini saya hanya membuat agar firehol melakukan routing terhadap permintaan dari eth1 (local ke user) ke eth0 (public ke mikrotik), apabila dibaca lebih lanjut firehol sangat berguna untuk melakukan konfigurasi firewall apabila tugas firewall ke user ingin dilakukan oleh Linux.
Install Firehol
apt-get install firehol

Agar firehol berjalan ketika sistem di boot
nano /etc/default/firehol
#Rubah NO menjadi YES
START_FIREHOL=YES
#If you want to have firehol wait for an iface to be up add it here
WAIT_FOR_IFACE=”"

Konfigurasi standar
cat /etc/firehol/firehol.conf
version 5
interface eth0 tomt
policy accept

interface eth1 toclient
policy accept

## agar dari eth1 bisa melakukan routing ke eth0 ##
router localpublic inface eth1 outface eth0
route all accept

## agar dari eth0 bisa melakukan routing ke eth1 ##
router publiclocal inface eth0 outface eth1
route all accept

## agar paling tidak sesama user local dapat melakukan ping ##
router locallocal inface eth1 outface eth1
route all accept

Menjalankan firehol
/etc/init.d/firehol start

harap diperhatikan bahwa apabila anda melakukan restart pada service firehol, rule iptables yang ada di luar firehol akan hilang, dalam contoh ini adalah rule iptables TPROXY. Setelah anda selesai melakukan modifikasi konfigurasi firehol dan merestart firehol, jalankan kembali rule iptables di luar konfigurasi firehol.
7. Static Routing di Mikrotik Router
Agar Router mikrotik dapat mengetahui kemana paket permintaan dari user dibelakang squid diteruskan, harus dilakukan static routing ke Squid Gateway yang
berada di interface local mikrotik.
/ip route pr
..
A S 172.16.80.0/24 r 10.40.40.2 local
..

Jumat, 10 Juni 2011

konfigurasi router di linux IGOS

Setting Router Di Linux IGOS (Indonesia Go Open Source)

Deyogi Blog's
Router adalah perangkat penghubung antar dua atau lebih jaringan untuk meneruskan data dari satu jaringan ke jaringan lainnya. Routing dapat dilakukan oleh host yang mempunyai dua koneksi jaringan atau lebih.
IGOS Nusantara yang dipasang di PC dengan dua kartu jaringan dapat dibuat sebagai router. Dua kartu jaringan diatur:
  • eth0 : untuk ke Internet/ISP
  • eth1 : untuk ke LAN

Skema Jaringan

Skema atau bentuk jaringan adalah informasi awal yang harus diketahui. Informasi yang harus tersedia alamat network, alamat IP untuk eth0 dan eth1, netmask, broadcast dan DNS server.


Koneksi Internet
Koneksi Internet tersambung ke eth0, misal sebagai berikut:
  • Network : 203.190.241.0/29
  • IP : 203.190.241.2
  • Gateway : 203.190.241.1
  • Netmask : 255.255.255.248
  • Broadcast : 203.190.241.7
  • DNS1 : 202.159.0.10
  • DNS2 : 202.159.0.20
Network 203.190.241.0/29 berarti memiliki 5 IP dari 203.190.241.2 - 203.190.241.6

Koneksi LAN

Koneksi LAN tersambung ke eth1, misal sebagai berikut:
  • Network: 192.168.0.0/24
  • IP : 192.168.0.1
  • Netmask : 255.255.255.0
  • Broadcast : 192.168.0.255

Konfigurasi IGNROUTER

PC yang dijadikan router akan diberi nama IGNROUTER

Konfigurasi eth0

Setting eth0 yang terhubung ke Internet/ISP. Konfigurasi ada di berkas /etc/sysconfig/network-scripts/ifcfg-eth0
# Isi berkas /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=203.190.241.2
NETMASK=255.255.255.248
ONBOOT=yes
USERCTL=no

Konfigurasi eth1

Setting eth1 yang terhubung ke LAN. Konfigurasi ada di berkas /etc/sysconfig/network-scripts/ifcfg-eth1
# /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
ONBOOT=yes
USERCTL=no

Konfigurasi /etc/sysconfig/network

# Isi berkas /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=IGNROUTER
GATEWAY=203.190.241.1

Setting DNS resolver

Setting DNS resolver, ada di berkas /etc/resolv.conf
# Isi berkas /etc/resolve.conf
nameserver 202.159.0.10
nameserver 202.159.0.20

Setting ip_forwarding

Setting ip_forwarding, ada di berkas /etc/sysctl.conf Ubah net.ipv4.ip_forward = 0 menjadi net.ipv4.ip_forward = 1, atau jika tidak ada net.ipv4.ip_forward = 0 tambahkan net.ipv4.ip_forward = 1
# Isi berkas /etc/sysctl.conf
... konfigurasi lainnya ...
net.ipv4.ip_forward = 1
... 

Konfigurasi iptables

Konfigurasi iptables agar LAN dapat terhubung ke Internet, lakukan:
Simpan konfigurasi iptables
# iptables -L -n -t nat
# iptables-save > /etc/sysconfig/iptables
Modifikasi berkas /etc/sysconfig/iptables
SEMULA (iptables belum pernah dimodifikasi)
# Generated by iptables-save v1.4.5 on Thu Dec 24 18:25:38 2009
*filter
:INPUT ACCEPT [53680:39201172]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [53321:5820807]
COMMIT
# Completed on Thu Dec 24 18:25:38 2009
TAMBAHKAN kode iptables diatas COMMIT yaitu:
-A POSTROUTING -j MASQUERADE -t nat -s 192.168.0.0/24 -o eth0
LENGKAP
# Isi berkas /etc/sysconfig/iptables
# Generated by iptables-save v1.4.5 on Thu Dec 24 18:25:38 2009
*filter
:INPUT ACCEPT [53680:39201172]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [53321:5820807]
-A POSTROUTING -j MASQUERADE -t nat -s 192.168.0.0/24 -o eth0
COMMIT
# Completed on Thu Dec 24 18:25:38 2009

Restart jaringan

# /etc/init.d/network restart
Akan muncul:
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Disabling IPv4 packet forwarding:                          [  OK  ]
Setting network parameters:                                [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]

Aktifkan Service

Buat agar service network aktif pada saat booting
 #chkconfig --level 345 network on

Testing Konfigurasi

Coba ping ke default gateway 203.190.241.1
$ ping 203.190.241.1
Jika terhubung, akan muncul:
PING 203.190.241.1 (203.190.241.1) 56(84) bytes of data.
64 bytes from 203.190.241.1: icmp_seq=1 ttl=63 time=0.256 ms
64 bytes from 203.190.241.1: icmp_seq=2 ttl=63 time=0.169 ms
64 bytes from 203.190.241.1: icmp_seq=3 ttl=63 time=0.227 ms
Coba ping google.com untuk cek DNS
$ ping google.com

Konfigurasi PC client

PC IGNROUTER telah memakai IP 192.168.0.1, jika ada kemungkinan untuk pengembangan jaringan, (misal) nanti akan memasang Web Server lokal di 192.168.0.2, FTP Server lokal di 192.168.0.3, dan seterusnya. PC client sebaiknya memakai IP dimulai dari IP 192.169.0.10 sampai 192.168.0.254.
Alokasi IP untuk LAN
  • IP : 192.168.0.10 - 192.168.0.254
  • GATEWAY : 192.168.0.1
  • NETMASK : 255.255.255.0
  • BROADCAST : 192.168.0.255
  • NAMESRVER : 192.168.0.1
Client01: 192.168.0.10 Client02: 192.168.0.11
Jika sudah di setting semua coba ping 192.168.0.1



apabila ada kesalahan tolong di koment yah...hehe (No Body's Perfect In The World, Because only god is perfect) made by me IRZIE 16.08