2013年8月11日 星期日

[研究] Squid Proxy Server 3.1.10 安裝 (CentOS 6.4 x64)

[研究] Squid Proxy Server 3.1.10 安裝 (CentOS 6.4 x64)

Squid (烏賊) 官方網站
http://www.squid-cache.org/

範例
http://wiki.squid-cache.org/ConfigExamples

一、關閉 SELinux


# 立刻關閉 SELinux
/usr/sbin/setenforce 0

# 設定 reboot 後會自動啟動,修改 /etc/selinux/config 中設定
sed -i -e "s@SELINUX=enforcing@#SELINUX=enforcing@"   /etc/selinux/config
sed -i -e "s@SELINUX=permissive@#SELINUX=permissive@"   /etc/selinux/config
sed -i -e "/SELINUX=/aSELINUX=disabled"   /etc/selinux/config

# 設定 reboot 後會自動啟動 (另一種方法)
# [root@localhost ~]#  echo "/usr/sbin/setenforce 0" >> /etc/rc.local  

二、安裝與啟動

[root@localhost ~]# yum -y install squid

# 立刻啟動
[root@localhost ~]# service squid start
Starting squid: .                                          [  OK  ]

# 設定 reboot 後會自動啟動
[root@localhost ~]# chkconfig squid on

#檢查執行狀況,發現 squid 會另外建立 squid 帳號去執行,設定檔案在 /etc/squid/squid.conf
[root@localhost ~]# ps aux | grep squid
root      2704  0.0  0.1  70860  2908 ?        Ss   07:41   0:00 squid -f /etc/squid/squid.conf
squid     2707  0.0  0.4  73832 10016 ?        S    07:41   0:00 (squid) -f /etc/squid/squid.conf
squid     2708  0.0  0.0  20080  1068 ?        S    07:41   0:00 (unlinkd)
root      2725  0.0  0.0 103236   864 pts/1    S+   07:42   0:00 grep squid
[root@localhost ~]#

# 檢查 squid 在 reboot 後自動啟動狀態
[root@localhost ~]# chkconfig --list | grep iptables
squid        0:off   1:off   2:on    3:on    4:on    5:on    6:off

# 檢查 squid 帳號相關資訊
[root@localhost ~]# cat /etc/passwd | grep squid
squid:x:23:23::/var/spool/squid:/sbin/nologin

根據 /etc/squid/squid.conf 內容,預設僅開放這幾的網段使用這台 squid proxy server
10.0.0.0/8  
172.16.0.0/12
192.168.0.0/16

三、關於防火牆

# 檢查 squid 使用 port 3128
[root@localhost ~]# netstat -tunpl | grep squid
tcp        0      0 :::3128                     :::*                        LISTEN      2707/(squid)
udp        0      0 0.0.0.0:46723               0.0.0.0:*                               2707/(squid)
udp        0      0 :::55850                    :::*                                    2707/(squid)
[root@localhost ~]#

# 防火牆開放 port 3128
[root@localhost ~]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT

# 把 iptables 防火牆 rules 存檔到 /etc/sysconfig/iptables
[root@localhost ~]# iptables-save
# Generated by iptables-save v1.4.7 on Mon Jul 29 07:49:00 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:904]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Mon Jul 29 07:49:00 2013

# 設定防火牆 reboot 後自動啟動
[root@localhost ~]# chkconfig iptables on

# 檢查防火牆 reboot 後自動啟動狀態
[root@localhost ~]# chkconfig --list | grep iptables
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

四、關於 Log

squid 預設不存 log,避免 log 成長太快塞爆硬碟,有時為了 debug 會想暫時開啟,修改方法

[root@localhost ~]# vi /etc/squid/squid.conf

增加一行,log 最好寫入 /var/spool/squid 目錄,因為 squid 沒有權限寫入 /var/log 目錄
access_log  /var/spool/squid/squid.log

重新啟動快取讓它生效
[root@localhost ~]# service squid restart

五、squid.conf 其他設定

1. 設定開啟快取目錄

cache_dir ufs /var/spool/squid 100 16 256 (預設不啟用,移除#將他起用)

如過要將cache  修改為2G 則

cache_dir ufs /var/spool/squid 2000 16 256

2.清除快取資料

service squid stop
rm  -fr /var/spool/squid/swap.state
service squid start

3.Squid ACL 設定

限制單一IP(192.168.88.100)無法連線,pc1是自訂名稱,上下兩個名稱要一致才可以

acl  pc1  src  192.168.88.100/32
http_access deny  pc1

限制某一區段無法連線(192.168.88.100-192.168.88.200)無法連線

acl  range1  src  192.168.88.100-192.168.88.200/32
http_access deny range1

限制不能存取 PCHome 網站

acl  pchomedomain  dstdomain  .pchome.com.tw
http_access deny pchomedomain

(完)

相關資訊

Squid Proxy連不上sii.tse.com.tw
http://forum.icst.org.tw/phpbb/viewtopic.php?t=5929

[分享]Squid-proxy的認證  
http://forum.icst.org.tw/phpbb/viewtopic.php?t=8646

[問題][已解]透過 squid 無法成功下載特定檔案  
http://forum.icst.org.tw/phpbb/viewtopic.php?t=11306

[問題]透過squid無法登入特定網站
http://forum.icst.org.tw/phpbb/viewtopic.php?t=11981

【FreeBSD】架設 LightSquid-利用SquidLog達成流量統計圖表化      
http://forum.icst.org.tw/phpbb/viewtopic.php?t=13857

【CentOS】安裝 Squid-Web Cache Server
http://forum.icst.org.tw/phpbb/viewtopic.php?t=14298

【CentOS】Lightsquid-利用SquidLog達成流量統計圖表化  
http://forum.icst.org.tw/phpbb/viewtopic.php?t=14327

Squid能cache影音檔檔嗎?  
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16692

[問題][已解]在 squid 上如何設定隱藏內部區域網路電腦的 IP ?
http://forum.icst.org.tw/phpbb/viewtopic.php?t=17541

proxy server 使用radius 認證-- squid 與 freeradius    
http://forum.icst.org.tw/phpbb/viewtopic.php?t=17660

如何在 squid.conf 設定可以令指定 IP或domain的port bypass ?  
http://forum.icst.org.tw/phpbb/viewtopic.php?t=18769

Linux proxy squid 開放目的地80030 port!!    
http://forum.icst.org.tw/phpbb/viewtopic.php?t=18859

新手請問如何架設 Squid proxy Server    
http://forum.icst.org.tw/phpbb/viewtopic.php?t=20460

請問如何讓 SQUID Proxy 只允許某些IP可以連臉書,不能連其它網頁  
http://forum.icst.org.tw/phpbb/viewtopic.php?t=29111

[問題]搭配 squid 的免費防毒整合方案
http://forum.icst.org.tw/phpbb/viewtopic.php?t=79252



沒有留言:

張貼留言