Saturday, November 30, 2013

2.7 stable 9 vs TProxy on Ubnt

Quote:idealnya proxy itu emang harus transparent. namun untuk squid2.7stable9 belum bener2 transparent.
lah maksudnya transparent gimana?
gini lho.. ketika client di bawah proxy request http yang masuk ke proxy kan ip client. trus yang keluar malah ip proxy. emang namanya transparent. cuman blom transparent menurut ane. kalo kita bikin proxy model gini dan mau limit traffic ya susah.. karena yang keluar dari proxy adalah ip proxy. bukan ip client.

lah trus setelah pake TProxy hasilnya gimana?
diharapkan setelah pake TProxy ip yang keluar dari proxy bener2 pure ip client. bukan proxy. jadi lebih mudah untuk management bandwidth.

udah ngerti kan? (mudah2an blom)

POC
tweak dulo systemnya supaya traffic bisa lebih optimal



Code:
echo "*             soft    nofile          65535" >> /etc/security/limits.conf
echo "*             hard    nofile          65535" >> /etc/security/limits.conf
echo "net.ipv4.conf.all.rp_filter=0" >> /etc/sysctl.conf
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

untuk builder dan compiler gw gak usah jelasin disini. gw yakin semua udah pada paham. next,

download squid dan patch TProxy nya


Code:
wget http://www.squid-cache.org/Versions/v2/2.7/squid-2.7.STABLE9.tar.gz
wget http://www.visolve.com/squid/tproxy4/squid-2.7s9-tproxy-4.patch

extract dan patch squid 


Code:
tar -zxvf squid-2.7.STABLE9.tar.gz
cd squid-2.7.STABLE9
patch -p1 < ../squid-2.7s9-tproxy-4.patch

compile seperti biasa
dan perhatikan yang di bold

Quote:./configure '--prefix=/usr/local/squid' \
'--enable-async-io=24' \
'--enable-storeio=ufs,aufs,null,diskd' \
'--enable-auth=basic' \
'--enable-err-languages=English' \
'--disable-ident-lookups' \
'--disable-cache-digests' \
'--enable-follow-x-forwarded-for' \
'--enable-delay-pools' \
'--enable-http-violations' \
'--enable-arp-acl' \
'--with-maxfd=65535' \
'--enable-linux-netfilter' \
'--enable-linux-tproxy' \
'--with-libcap'
make
make install

di squid.conf nya tambahin seperti ini


Code:
http_port 8080 tansparent tproxy
max_filedescriptors 65535

lanjut, setting iproute2 & iptables untuk intercepting tproxy (transparent proxy)


Code:
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100

iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 8080
No comments:
Write comments