Ang aking unang blog

Tuesday, July 11, 2006

Transparent Proxy at IPTables

marami ang nagtatanong kung paano ba ang gumawa ng isang transparent na proxy. Marami nang mga documents na nagkalat sa internet kung paano ito gawin pero wala lang gusto ko lang itong ilagay.

Simulan na natin.

Ang mga kinakailangan:
Squid - karamihan malamang ay sasangayon sa akin kapag sinabi kong ito ang pinaka popular na proxy server na open source.
IPTables - kung paano ito gamitin eh basahin nyo lang ang blog ko, may isinulat na akong tutorial tungkol dito.


Sa palagay ko ay hindi ko na kailangang talakayin kung paano mag install ng squid at IPTables dahil kung hindi kayo marunong nun eh malaki ang problema nyo.

simulan natin sa pagconfigure ng squid

buksan ang squid.conf na file at ilagay ang mga impormasyong kagaya ng nasa ibaba


httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on



then mag lagay lang ng rule na mag redirect ng http traffic sa squid port


iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


sa senaryong ito ay pinapalagay na ang gateway ng mga client ay ang proxy server mismo

ang kinakailangan na lang gawin ay paandarin ang squid at i test na ang mga client.


PAANO NAMAN KUNG ANG PROXY AT IPTABLES AY MAGKAIBANG MAKINA, POSIBLE BA??

wag kag sumigaw, ang sagot sa tanong mo eh posible.

May dalawang approach para magawa ito, una:

sa IPTables na makina, maglagay lamang ng IPTables rules na kagaya ng mga sumusunod:
iptables -t nat -A PREROUTING -i eth0 -s ! IP_NG_SQUID -p tcp --dport 80 -j DNAT --to IP_NG_SQUID:3128
iptables -t nat -A POSTROUTING -o eth0 -s IP_NG_NETWORK -d IP_NG_SQUID -j SNAT --to IP_NG_IPTABLES


Tandaan: ang nasa itaas na approach eh hindi gumagana sa iba, wag nyo akong tanungin kasi hindi ko rin alam kung bakit

Pangalawang approach:
mangangailangan tayo ng tools na part ng iproute2 na package,normaly ay kasama na ito sa inyong linux distribution.

gawin lamang ang mga sumusunod na commands sa IPTables na makina

iptables -t mangle -A PREROUTING -j ACCEPT -p tcp --dport 80 -s IP_NG_SQUID
iptables -t mangle -A PREROUTING -j MARK --set-mark 3 -p tcp --dport 80
ip rule add fwmark 3 table 2
ip route add default via IP_NG_SQUID dev eth0 table 2
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


kung may problema o nais nyo pa ng mas maraming impormasyon ay sumangguni na lamang sa link na ito

http://www.tldp.org/HOWTO/TransparentProxy.html



yun lang at maraming salamat. Hanggang sa muli

6 Comments:

At 10:58 AM, Blogger Uber said...

dalas dalasan niyo naman po ang pagsusulat niyo sa inyong column aside from Xerex.

Avid fan niyo po ako at mahilig po ako sa linux lalo na po ang Red Hat Enterprise Linux 3 bwhahaha.

Thank your for calling red hat global support services, this is toot toot how may I help you???

 
At 9:35 AM, Blogger qroon said...

Yeah, Uber mode ako:

Thank you for calling .............
............... Any other questions?

Ok, thank you Bye.

Amf, ambilis! he he he.

 
At 8:13 PM, Anonymous Anonymous said...

Sir, may tanong lang ako, anong rule ang kailangan ko para maka pag recieved and send ako ng email gamit ang Porxy ko. Ang setup ko ganito eth0 IP: 222.202.1.222- internet ko, eth1 IP: 192.168.1.20 ko ang LAN ko, kasi pag nag nslookup ako mismomg proxy box ko okey naman, pero pag nasa workstation na ako ayaw ang gate way ko sa pc ko ay 192.168.1.20. Thanks a lot , bro.

 
At 8:07 PM, Anonymous Anonymous said...

pards, ang galing ng iung turo,napakalinaw at gumana agad, antindeh. Pero may loophole ang firewall na tinuro mo.
wala ung mga sumusunod na commands:

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

madadale ka ng mga alien telnets at kung ano ano pa.

ang problema,ung kaalaman na ipinamahagi mo sa transparent proxy e HINDI GUMAGANA pag nagpolicy ng drop sa lahat ng ipchains (safe measure). Baka may dagdag na code ka jan para di2. salamas!

 
At 11:57 PM, Anonymous Anonymous said...

a sir nadale ko na ung code sa tinatanong ko sau, anyways,salamat!
2409 ang proxy port ko,'la lang,maiba nman

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A POSTROUTING -t nat -o eth0 -s 172.20.1.0/29 -d 0/0 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -s 172.20.1.0/29 -p tcp -i eth1 --dport 80 -j REDIRECT --to-port 2409
iptables -A INPUT -i eth1 -p tcp --dport 2409 -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


liit laang ng pinagtestingan ko 'no: 172.20.1.0/29, yaan mo na,hahaha

 
At 5:04 PM, Blogger jond3rd said...

Anonymous,

Natutuwa ako at nasolusyunan mo ang suliranin mo sa Transparent proxy at IPTables.

Wala namang kaibahan ang maliit na network sa malaking network, pereho din naman ng tirada. Ang importante eh alam natin kung paano natin gagawin ang nais nating makamit.


Salamat sa pagtangkilik mo sa blog ko.

 

Post a Comment

<< Home