IGOS Nusantara dan proxy server squid trik: Perbedaan revisi

Dari IGNwiki
Langsung ke: navigasi, cari
(←Membuat halaman berisi 'Bagian ini membahas beragam trik terkait squid dan iptables, anatar lain: # Membuat skrip iptables untuk redirect # Perintah iptables jika pakai ppp0 # Blok satu IP # ...…')
 
Baris 108: Baris 108:
 
Pakai iptables:
 
Pakai iptables:
 
  -A PREROUTING -i local_eth -d facebook.com -s 192.168.0.3 -j DROP
 
  -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

Revisi per 2 Januari 2011 08.56

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

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