Check Transparent Proxy


คือมี case ที่ต้องทำ transparent proxy ครับ  แต่ว่าเวลา proxy มีปัญหา ผมอยากให้ทำการ ปลด proxy ออกเอง  ผมเลยเขียน shell script  มาเพื่อทำการ ตรวจสอบว่า proxy ทำได้หรือเปล่า ถ้าทำงานได้ ก็จะเพิ่ม iptables  ทำการสร้าง DNAT  ไปยังเครื่อง Proxy ครับ

หลักกาารง่ายๆคือ  จะใช้ curl แล้ว set proxy เป็นเครื่อง Proxy ที่เรากำหนด   เสร็จแล้วก็ให้ curl ทำการ connect ไปยัง web ปลายทาง   ถ้า connect ได้ content ที่ return มาจาก curl จะมากกว่า 0    และทำให้ script เพิ่ม iptables  เข้าไปครับผม

#!/bin/sh
 
#
#	Check Proxy	v.10
#	By Auttasak Wongkitta
#	http://howtoconfig.com
 
PROXY="192.168.100.254:3128"
URL="http://manager.co.th"
LINUX_IP="192.168.100.254"
LINUX_IF="eth2.1"
 
RESULT=$(curl -x $PROXY  $URL 2>/dev/null | wc -l)
USEPROXY=$(iptables -t nat -L PREROUTING -n | grep $PROXY | wc -l)
 
if [ $RESULT -eq 0 ]; then
        if [ $USEPROXY -ne 0 ]; then
                iptables -t nat -D PREROUTING -i $LINUX_IF -d ! $LINUX_IP -p tcp --dport http -j DNAT --to $PROXY
        fi
else
        if [ $USEPROXY -eq 0 ]; then
                iptables -t nat -A PREROUTING -i $LINUX_IF -d ! $LINUX_IP -p tcp --dport http -j DNAT --to $PROXY
        fi
fi

Tags: , , , , ,


One Response to “Check Transparent Proxy”

  1. jackz Says:

    ได้ประโยชน์เลยครับพี่

    thanks for useful kindly

Leave a Reply

IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

What is 2 + 14 ?
Please leave these two fields as-is: