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:
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???
Yeah, Uber mode ako:
Thank you for calling .............
............... Any other questions?
Ok, thank you Bye.
Amf, ambilis! he he he.
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.
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!
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
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