IGOS Nusantara dan proxy server squid trik: Perbedaan revisi

Dari IGNwiki
Langsung ke: navigasi, cari
(Koneksi langsung ke domain tertentu)
(Koneksi langsung ke domain tertentu)
Baris 24: Baris 24:
 
Beberapa situs tidak tampil jika melalui proxy, sehingga perlu memakai koneksi langsung (tanpa proxy).
 
Beberapa situs tidak tampil jika melalui proxy, sehingga perlu memakai koneksi langsung (tanpa proxy).
  
Misal situs yang perlu akses langsung= bank.co.id
+
Misal situs yang perlu akses langsung adalah "bank.co.id"
 
  # ...
 
  # ...
 
  ## ACL agar direct ke bank.co.id
 
  ## ACL agar direct ke bank.co.id

Revisi per 3 Januari 2011 03.33

Bagian ini membahas beragam trik terkait squid dan iptables, anatar lain:

  1. Membuat skrip iptables untuk redirect
  2. Perintah iptables jika pakai ppp0
  3. Blok satu IP
  4. ... lain-lain

Konfigurasi Lain

Koneksi langsung ke server lokal

Misal ada dua server lokal:

  1. Server Web ada di 192.168.0.10
  2. Server Billing ada di 192.168.0.20

Tambahkan rule

acl server dst 192.168.0.10/255.255.255.255
acl billing dst 192.168.0.20/255.255.255.255

always_direct allow server
no_cache deny server

always_direct allow billing
no_cache deny billing

Koneksi langsung ke domain tertentu

Beberapa situs tidak tampil jika melalui proxy, sehingga perlu memakai koneksi langsung (tanpa proxy).

Misal situs yang perlu akses langsung adalah "bank.co.id"

# ...
## ACL agar direct ke bank.co.id
acl direct_domain url_regex bank.co.id
always_direct allow direct_domain
always_direct deny all

## Contoh lain:
acl windowsupdate dstdomain wustat.windows.com
acl windowsupdate2 url_regex -i windowsupdate

## ACL Akses
acl jaringanku src 192.168.0.0/24
acl hotspot src 10.1.0.0/24
http_access allow !windowsupdate !windowsupdate2 jaringanku
http_access allow !windowsupdate !windowsupdate2 hotspot
http_access deny all
# ...

Skrip iptables

skrip iptables untuk mengatur redirect ke proxy server squid port 3128

Skema Jaringan http://igos-nusantara.or.id/wiki/Skema_Jaringan

#!/bin/sh
# IP proxy server squid
SQUID_SERVER="192.168.0.1"

# Interface terkoneksi ke Internet
INTERNET="eth0"
# Interface terkoneksi ke LAN
LAN_IN="eth1"

# Squid port
SQUID_PORT="3128"

# Bersihkan firewall lama
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

# Muat modul IPTABLES untuk NAT dan sukungan IP conntrack
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# Untuk klien ftp win xp 
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward

# Seting filter default 
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT

# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT

# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT

# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT

# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

Interface ke internet pakai ppp0

Atur agar NAT memakai ppp0

# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Pengalihan ke IP dan Port

Protokol jenis TCP yg masuk melalui interfaces eth1 dan port 80 akan dialihkan ke IP 192.168.0.1 dan port 3128/PROXY

# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128

Blok satu IP

Cara blok salah satu IP untuk tidak diperbolehkan mengakses situs facebook.com

Contoh: IP 192.168.0.3 ---> blok koneksi ke facebook.com IP all ---> bolek koneksi ke facebook.com

Pakai squid:

acl bad_ip src 192.168.1.3/32
acl good_ip src 192.168.1.0/24
acl facebook_deny url_regex -i "facebook.com"

http_access deny bad_ip facebook_deny
http_access allow good_ip

Pakai iptables:

-A PREROUTING -i local_eth -d facebook.com -s 192.168.0.3 -j DROP

Redirect ke SSH Server

Akses ke port 22/TCP yg masuk dari interfcaes ppp0 akan diarahkan ke ip 192.168.0.2 (SSH Server)

# iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 22 -j DNAT --to-destination 192.168.0.2

Blok dan Buka beberapa situs

Buat dan jalankan skrip

cat > /tmp/situs_daftar << EOF.jr
facebook.com
detik.com
yahoo.com
EOF.jr
cat > /tmp/situs_blok << EOF.ns
#!/bin/sh
while read situs
do
 iptables -A PREROUTING -i local_net -s ip_target -d $situs -j DROP
done < /tmp/situs_daftar
EOF.ns
cat > /tmp/situs_buka << EOF.jr
#!/bin/sh
while read situs
do
 iptables -D PREROUTING -i local_net -s ip_target -d $situs -j DROP
done < /tmp/situs_daftar
EOF.jr

Untuk Blok situs

# /tmp/situs_blok

Untuk Buka situs

# /tmp/situs_buka