แรกเริ่มเดิมที่ ทดสอบทำกับ Blog ของคุณ “มานะ” ตาม Link นี้ http://manajung.blogspot.com/2010/09/ubuntu-wi-fi-hotspot-using-coovachilli.html ก็ทำได้ในระดับหนึ่ง ปัญหาติด นิด ๆ หน่อย ๆ ตามประสา คนไม่เป็น (อิอิ) ก็พบปัญหามากมายก่ายกองตามประสาคนไม่มีกึ๋นเช่นผม จึงได้ทำการบันทึกไว้เตือนตัวเองว่า “โง่ ๆ อย่างนี้ต้องรู้จักจดจักจำบ้าง” เฮ้อออออ…!!!!! เบื่อหน่ายสุดยอด ต่อยอดต่อดีกว่า
ติดตั้ง Squid เพิ่มเพื่อทำ Proxy Server
#apt-get install squid
แก้ไขไฟล์ /etc/squid/squid.conf ตามนี้นะ
http_port 3128 transparent
cache_mem 64 MB (เห็นหลาย ๆ ที่บอกเอา Ram มาหาร 3 ทำทีไร squid เตือนเกินตลอด งั้นใส่แค่นี้พอ)
cache_dir ufs /var/spool/squid 100 16 2560 (ขนาดเอาแค่นี้ก็พอมั้ง เผื่อไว้สำหรับ Log มั้ง เกี่ยวไหมหนิ)
acl localnet src 192.168.10.0/24
http_access allow localnet
(พิเศษสำหรับเข้าเวบบิทแล้ว redirect ไปยัง site ที่ต้องการ ฮ่าๆๆๆ สะใจ)
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
acl blockweb dstdom_regex ‘/etc/squid/webbit.conf’
http_access deny blockweb
deny_info http://www.google.co.th blockweb
(และเมื่อเรา block ไม่ให้เข้าเวบบิทได้ พวก utorrent มันก็ทำอะไรไม่ได้ เหอ ๆ สังเกตตรง tracker ครับ มันจะวิ่งไปที่ google มันไม่วิ่งไปที่ webbit เหอ สะใจ ส่วนไฟล์ webbit.conf โหลด ที่นี่!! )
visible_hostname authen (ก็ตามชื่อ host ที่ตั้งนั่นแหละ)
#เสร็จแล้วก็ save ออกมา
#สั่ง squid -zD สร้าง Cache Dir ใหม่
#สั่ง squid ทำงาน
#/etc/init.d/squid restart
—– End Of squid ——
ต่อไปปรับแต่ง Coova-chilli ให้เพิ่มข้อกำหนดของ IPTABLES เข้าไป
#ปรับแต่งที่ vim /etc/chilli/up.sh
. /etc/chilli/functions
#แทรกสองบรรทัดล่างนี้ใต้บรรทัดด้านบน
iptables -F
iptables -t nat -F
[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
#แทรก code คั่นเริ่มจากตรงนี้
# force-add the final rule necessary to fix routing tables
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
iptables -P INPUT DROP
iptables -I INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT -p icmp –icmp-type 8 -s 0/0 -d 192.168.10.1 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -p icmp –icmp-type 0 -s 192.168.10.1 -d 0/0 -m state –state ESTABLISHED,RELATED -j ACCEPT
#SSH Accept from tun0
iptables -I INPUT -i tun0 -p tcp -m tcp –dport 22 –dst 192.168.10.1 -j ACCEPT
#ด้านล่างตรงนี้หมายถึงอนุญาตให้ ip wan อื่น คือ .3 สามารถเข้าหา ip wan server authen ตัวนี้ซึ่งใช้ ip .2 ผ่านทาง port 22 ถูกไหมหว่า เอาเหอะ ยังไงมันก็ใช้ได้หน่า..!!)
iptables -I INPUT -i eth0 -s 192.168.1.3 -p tcp -m tcp –dport 22 –dst 192.168.1.2 -j ACCEPT
#ป้องกันการhack proxy ที่ Browser ใช่ป่าวหวา….มั้ง ใส่ ๆ ไปเถอะ
#block hack proxy manual
iptables -t nat -I PREROUTING -p tcp -m tcp -d 192.168.10.0/24 –dport 3128 -j DROP
iptables -t nat -I PREROUTING -p tcp -m tcp -d 192.168.10.0/24 –dport 80 -j ACCEPT
#Transparent proxy
iptables -t nat -I PREROUTING -i tun0 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 3128
iptables -I INPUT -i tun0 -p tcp -m tcp –dport 3128 –syn -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -m tcp –dport 3128 -j DROP
iptables -t nat -I POSROUTING -o eth0 -j LOG
#squid Log
iptables -t nat -N logging
iptables -t nat -A PREROUTING -j logging
iptables -A OUTPUT -j LOG –log-level info –log-prefix “OUTPUT ”
iptables -A FORWARD -j LOG –log-level info –log-prefix “FORWARD ”
# HTTP:
iptables -t nat -A
logging -p tcp –dport 80 -j LOG –log-prefix “HTTP: ” \ –log-level info
# HTTPS:
iptables -t nat -A logging -p tcp –dport 443 -j LOG –log-prefix “HTTPS: ” \ –log-level info
# FTP:
iptables -t nat -A logging -p tcp –dport 21 -j LOG –log-prefix “FTP: ” \ –log-level info
# IMAP:
iptables -t nat -A
logging -p tcp –dport 143 -j LOG –log-prefix “IMAP: ” \ –log-level info
# POP3:
iptables -t nat -A logging -p tcp –dport 110 -j LOG –log-prefix “POP3: ” \ –log-level info
# MSN:
iptables -t nat -A logging -p tcp –dport 1863 -j LOG –log-prefix “MSN: ” \ –log-level
info
# ICQ/AIM
iptables -t nat -A logging -p tcp –dport 5190 -j LOG –log-prefix “ICQ/AIM: ” \ –log-level info
# Yahoo
iptables -t nat -A logging -p tcp –dport 5050 -j LOG –log-prefix “YAHOO: ” \ –log-level
info
# IRC
iptables -t nat -A logging -p tcp –dport 6667 -j LOG –log-prefix “IRC: ” \ –log-level info
# Gadu-Gadu
iptables -t nat -A logging -p tcp –dport 8074 -j LOG –log-prefix “GADU-GADU: ” \ –log-level info
iptables -I INPUT -i lo -j ACCEPT iptables -I INPUT -p tcp -m tcp –dport 443 –syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp –dport 3990 –syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp –dport 4990 –syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp –dport 80 –syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp –dport 53 –syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp –dport 67:68 –syn -j ACCEPT
iptables -I INPUT -p tcp -m tcp –dport 3306 –syn -j ACCEPT
iptables -A INPUT -i tun0 -j DROP
#save แล้วออกมา
——————- End of up.sh Firewall Config————————
#ขอย้ำว่าให้ลอง Start chili ก่อนเน้อ กันพลาด เด๋ว Boot มาเข้าไม่ได้ ไม่รู้ด้วยนะเออ
[ต่อกันอีกอันเถอะ ยาวเกินไปแล้วเฟ้ย ตาลาย ]