การ Block web ไม่พึงประสงค์ ใน squid3 +Ubuntu 12.04 LTS

สภาวะแวดล้อม

-Ubuntu Server 12.04LTS     AMD    64  bit

-squid 3

-isc-dhcp-server

1.ติดตั้ง ubuntu   ดาวน์โหลดทีนี่   หรือ คลิกที่นี่  จากนั้นสั่ง update
#sudo apt-get  update
2.ตั้งค่า การ์ดแลน
eth0 เชื่อมต่อกับภายนอก   ip server 122.154.157.104
eth1 เชื่อมต่อกับ LAN ภายใน  ip LAN  192.168.0.1

#nano /etc/network/interfaces

////// เพิ่มคำสั่งเข้าไป   set ค่าตามนี้

##
auto eth0
iface eth0 inet static
address 122.154.157.104
netmask 255.255.255.240
gateway 122.154.157.97
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.240.0
broadcast 192.168.15.255

##

รีสตาร์ทเน็ตเวิร์ค
#sudo /etc/init.d/networking restart
# nano /etc/sysctl.conf
เอาเครื่องหมาย # หน้าบรรทัดนี้ออก
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1      // เอาเครื่องหมาย #  ออก

เพิ่มกฏใน iptables    ให้เลือกวิธีการใดวิธีการหนึ่งดังต่อไปนี้

วิธีที่1
#nano /etc/rc.local
เพิ่มค่าดังนี้
# By default this script does nothing.
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#iptables -t nat -A PREROUTING -i eth1 -p tcp -dport 80 -j REDIRECT –to-port 8080

iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/20 -o eth0 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
iptables -A FORWARD -d 192.168.0.0/20 -m state –state ESTABLISHED,RELATED -i eth0 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 3128

exit 0
ต่อไป
#nano /home/admin1/net.sh
เพิ่มข้อความนี้เข้าไป
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/20 -o eth0 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
iptables -A FORWARD -d 192.168.0.0/20 -m state –state ESTABLISHED,RELATED -i eth0 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 3128

จากนั้นบันทึกไฟล์
เข้าไปใน /home/admin1  ——> admin1 คือ  directoryของ user admin1
#chmod a+x net.sh
#./net.sh

วิธีที่2

หรือแบบนี้ใน etc/rc.local ก็ได้ครับสั้นดี  ( หากทำวิธีการที่ 1 อย่าลืมลบตัวเดิมใน rc.local ออกก่อนนะครับ )

#echo 1 > /proc/sys/net/ipv4/ip_forward

#nano /etc/rc.local  แล้วเพิ่มข้อความ 2 บรรทัดนี้ก่อน  exit 0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
ต่อไป ติดตั้ง squid3

#sudo apt-get install squid3

#nano /etc/squid3/squid.conf

# แก้ไขค่าต่าง ๆ ดังนี้

#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/20        # RFC1918 possible internal network
#acl localnet src fc00::/7       # RFC 4193 local private network range
#acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
#######Block Website By Chatee somkanei
acl time_block time M T W H F 9:00-18:00
acl time_block time A S 9:00-12:00

acl blockdomain dstdom_regex “/etc/squid3/baddomain.txt”
http_access deny blockdomain time_block
acl blockword url_regex  “/etc/squid3/badword.txt”
http_access deny blockword time_block
acl blockfile url_regex  “/etc/squid3/badfile.txt”
http_access deny blockfile time_block

acl time_acl time M T W H F 9:00-18:00
acl time_acl2 time S A 9:00-12:00
#reply_body_max_size 20000 KB time_acl
#reply_body_max_size 20000 KB time_acl2
http_port 3128 transparent
cache_dir ufs /var/spool/squid3  5000 16 256
access_log /var/log/squid3/access.log squid
cache_store_log /var/log/squid3/store.log
cache_log /var/log/squid3/cache.log

cache_mem 512 MB

http_access allow localnet ( เอาเครื่องหมาย #  ออก )

######

ต่อไป สร้งไฟล์ baddomain.txt  ,badword.txt,badfile.txt

#touch /etc/squid3/baddomain.txt

#touch /etc/squid3/badword.txt

#touch /etc/squid3/badfile.txt

#chmod   777  /etc/squid3/baddomain.txt  ( เพิ่ม  .xxxxx.com,.japan18.com โดยให้อยู่คนละบรรทัด)

#chmod   777  /etc/squid3/badword.txt  ( เพิ่มคำไม่พึงประสงค์ เช่น   คำลามกต่าง ๆ โดยให้อยู่คนละบรรทัด )

#chmod   777  /etc/squid3/badfile.txt  ( เพิ่มประเภทไฟล์ที่ไม่ให้ดาวน์โหลด   \.dat$   \.avi$   โดยให้อยู่คนละบรรทัด )

เพิ่มเข้ารายชื่อเว็บที่ต้องการบล็อกลงในในไฟล์ดังกล่าว

ตั้งเวลาเครื่องให้ตรง โดยใส่ให้ตรงกับปัจจุบัน

#sudo date 120622432012.55

 

อธิบาย

12 =month

06=day

22=hour

43=minute

2012=year

.55=seconds

จบคำอธิบาย

 

ต่อไปกำหนดสิทธิ์ไฟล์
#sudo chown -R proxy:proxy /var/log/squid3/
#sudo chown proxy:proxy /etc/squid3/squid.conf
#sudo /etc/init.d/squid3  restart

สั่งrun squid

#sudo /etc/init.d/squid3 restart
ไปทดสอบที่เครื่องลูกข่าย เข้าเว็บ google  แล้วลอง  search ข้อความที่ block ว่าเข้าดูได้หรือไม่ ( อย่าลืมเช็คเวลา block ใน squid.conf นะครับ )

ติดตั้ง dhcp
#sudo apt-get install isc-dhcp-server
#nano /etc/dhcp/dhcpd.conf

กำหนดค่าดังนี้
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.240.0 {
range 192.168.0.20  192.168.15.254;
option routers 192.168.0.1;
option  domain-name-servers 202.129.27.133;
option domain-name”rc.com”;
option broadcast-address 192.168.15.255;
}
นอกนั้นปิดหมด
# nano /etc/default/isc-dhcp-server
กำหนดค่าดังนี้
INTERFACES=”eth1″

แก้การ rotate  log

#nano /etc/logrotate.conf

แก้ไขค่าดังนี้

# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 14

รีสตาร์ท dhcp
sudo service isc-dhcp-server restart
————————————————————————-
สั่ง reboot  server

#reboot

———————————————————————————————————————————————–

Categories: ข่าวประชาสัมพันธ์ | ใส่ความเห็น

เมนูนำทาง เรื่อง

แสดงความเห็นเกี่ยวกับเรื่องนี้

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

บลอกที่ WordPress.com .

%d bloggers like this: