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: Linux, Proxy, Shell script, Squid, Transparent, TransparentProxy
September 4th, 2008 at 3:55 pm
ได้ประโยชน์เลยครับพี่
thanks for useful kindly