กำหนด iptables ให้ ACCEPT IP dns ที่ต้องการจะให้ผ่านส่วนของ Squid ไปเลย
จะต้องรู้เป้าหมายเว็บก่อนว่า มี ip เป็นอะไร จากนั้น จัดการตรวจสอบโดยใช้
nslookup hostname
เสร็จแล้วนำไอพีไปใส่
iptables -t nat -I PREROUTING -d XXX.XXX.XXX.XXX -j ACCEPT
สามารถนำไปเขียนเป็น Script แบบง่าย ๆได้ดังนี้
nano /root/bypass_squid.sh
#!/bin/bash
# Genarate PF-internet
ip_bypass=nslookup $1 | grep Addre | grep -v "#53" | cut -d " " -f 2
iptables -t nat -I PREROUTING -d $ip_bypass -j ACCEPT
chmod 755 /root/bypass_squid.sh
ทดสอบ
/root/bypass_squid.sh www.teenee.com
กรณีมีหลาย ๆ ip เช่น
nslookup www.google.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 64.233.181.147
Name: www.l.google.com
Address: 64.233.181.106
Name: www.l.google.com
Address: 64.233.181.105
Name: www.l.google.com
Address: 64.233.181.104
Name: www.l.google.com
Address: 64.233.181.103
Name: www.l.google.com
Address: 64.233.181.99
nslookup www.google.com | grep Add | grep -v "#53" > /root/C_bypass
ลอง
cat /root/C_bypass
Address: 64.233.181.99
Address: 64.233.181.147
Address: 64.233.181.106
Address: 64.233.181.105
Address: 64.233.181.104
Address: 64.233.181.103
จัดการต่อว่า
Count=wc -l /root/C_bypass | awk '{print$1}'
for ((zz=1; zz<=$Count; zz++)); do
Count=`cat /root/C_bypass | cut -d " " -f 2 | head -n 1`
iptables -t nat -I PREROUTING -d $Count -j ACCEPT
sed -i '/'$Count'/d' /root/C_bypass
done
ก็จะสามารถใช้งานแบบง่ายๆ ได้ครบทุกตัว
จัดการสร้างไฟล์ว่า
nano /root/gen_bypass.sh
ใส่ ข้อมูลไปว่า
#!/bin/bash
# Genarate By PF-internet
nslookup $1 | grep Add | grep -v "#53" > /root/C_bypass
Count=wc -l /root/C_bypass | awk '{print$1}'
for ((zz=1; zz<=$Count; zz++)); do
Count=`cat /root/C_bypass | cut -d " " -f 2 | head -n 1`
iptables -t nat -I PREROUTING -d $Count -j ACCEPT
sed -i '/'$Count'/d' /root/C_bypass
done
chmod 755 /root/gen_bypass.sh
ทดสอบ
/root/gen_bypass.sh www.google.com
Credit : webddgame http://www.3poe.com
ไม่มีความคิดเห็น:
แสดงความคิดเห็น