日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
linux下用squid和squidGuard配置代理服務(wù)器

網(wǎng)上有不少在linux中使用squid和squidGuard配置代理服務(wù)器的文章,這幾天一直在搞這么個東東網(wǎng)上的資料也看了不少總是覺的和自己設(shè)置的不一樣。就把我自己寫的發(fā)上來。大家可以參考也給自己留個備份。

1.設(shè)置網(wǎng)絡(luò)參數(shù)什么IP。

主機(jī)名什么的這個就不廢話了。

2.建立squid的用戶和組

groupadd squid
編輯\etc\passwd
suuid:x:500:501::/usr/local/squid:/bin/bash
用戶目錄設(shè)為/usr/local/squid

3.下載和安裝squid;Berkeley DB 2.x;squidGuard

www.squid-cache.org ;下載squid-2.4.STABLE2-src.tar.gz存在本地/usr/local/squid/src。

$cd /usr/local/squid/src
$tar xvzf squid-2.4.STABLE2-src.tar.gz
$ cd squid-2.4.STABLE2
$./configure
$make
$make install

http://www.sleepycat.com
下載db-2.7.7.tar.gz并存在/usr/local/squidGuard/src/目錄下

$su
#cd /usr/local/squidGuard/src/
#tar xvzf db-2.7.7.tar.gz
#cd db-2.7.7
#cd build_unix
#../dist/configure
#make
#make install

從http://ftp.ost.eltele.no/pub/www/proxy/squidGuard/squidGuard-1.1.4.tar.gz下載軟件包并存于本地/usr/local/squidGuard/src/

#cd /usr/local/squidGuard/src/
#tar xvzf squidGuard-1.1.4.tar.gz
#cd squidGuard-1.1.4
#./configure --with-sg-config=/usr/local/squidGuard/squidGuard.conf
--with-sg-logdir=/usr/local/squidGuard/logs
--with-sg-dbhome=/usr/local/squidGuard/db
--prefix=/usr/local/squidGuard --之間都是空格不能用回車

這個命令結(jié)束后會在你的/usr/local/squidGuard將出現(xiàn)文件夾db;logs;bin的目錄要是沒有出現(xiàn)可以用mkdir建立一個,還應(yīng)該有squidGuard.conf但是我一直沒有弄出來。 

#make
#make test

測試ok,即可進(jìn)行下一步安裝 測試的時候可能也會報一個錯誤好像是什么什么權(quán)限問題??梢缘絪quidGuard-1.1.4目錄下的test下在執(zhí)行一下#make test 要是這里沒有問題就可以繼續(xù)。

#make install

#p#

4.配置squid: 

修改squid的配置文件/usr/local/squid/etc/squid.conf:
http_port 8080

#squid的代理端口,使用1024以下的端口,squid必須以root身份運行
http_access allow all

#允許所有的用戶通過代理進(jìn)行http訪問
redirect_program /usr/local/squid/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf

#squid啟用squidGuard進(jìn)行過濾和轉(zhuǎn)發(fā)

其它參數(shù):

cache_mem:設(shè)置代理服務(wù)使用的內(nèi)存大小,一般推薦為物理內(nèi)存的三分之一
cache_dir:指定cache目錄的路徑,默認(rèn)為/usr/local/squid/cache。

maximum_object_size: 指定Squid可以接收的***對象的大小。Squid缺省值為4M,可以根據(jù)自己的需要進(jìn)行設(shè)定。
cache_dir:設(shè)定緩存的位置、大小。

一般格式如下:

cache_dir /usr/local/squid/cache 100 16 256
/usr/local/squid/cache代表緩存的位置;100代表緩存***為100M;16和256代表一級和二級目錄數(shù)。

cache_effective_user:設(shè)定使用緩存的有效用戶。缺省為用戶nobody,如果系統(tǒng)中沒有用戶nobody,***建一個或以非root用戶運行Squid。這里是以squid身份運行的

cache_effective_group:設(shè)定使用緩存的有效用戶組。缺省組為nogroup,如果系統(tǒng)中沒有組nogroup,***建一個組。這里是squid組

5.配置squidGuard:

修改squidGuard的配置文件/usr/local/squidGuard/squidGuard.conf文件:

logdir /usr/local/squidGuard/logs

#日志目錄定義 

dbhome /usr/local/squidGuard/db  

#db目錄定義

time testtime { 

#時間規(guī)則定義 

weekly mtwhf 05:00 - 10:30
weekly as 08:00 - 19:00
date *-*-01 08:00 - 16:30
date 2001.10.01 - 2001.10.09
}

src admin {

 #源組定義  

ip 192.168.100.18
}

src client{
ip 192.168.100.20 192.168.100.21 192.168.100.22
ip 192.168.200.0/24
}

dest porn {

#目標(biāo)組定義 

domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
}

acl {

#訪問規(guī)則定義 

admin within testtime {
pass !porn all
} else {
pass all
}
client {
pass !in-addr !porn all
}
default {
pass none
redirect http://admin.foo.com

(#也可以重定向到一個含有一些信息的cgi頁面,如下: 
http://admin.foo.com/cgi/blocked?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u)

}
}
 

#p#

 # vi db/porn/domains

(域列表文件:主要是阻塞一些定義的站點)

co.za
sex.com

(如上,可以阻塞如hack.co.za、sex.com、www.sex.com、whatever.sex.com,但是不同于.*[^.]sex.com,不匹配ssex.com)

# vi db/porn/urls

(url列表文件,主要是阻塞一些站點及其一些欄目)

qihui.com/sex
valen.sohu.com/album

(如上可阻塞http://qihui.com/sex、http://qihui.com/sex/whatever、ftp://qihui.com/sex、http://www.qihui.com/sex等)

 # vi db/porn/expressions

(表達(dá)式列表文件,主要是阻塞一些與表達(dá)式匹配的URL訪問)

(^|[?+=/])(.*)(girl)(.*)([?+=/]|$)

(上面的正則表達(dá)式可以阻塞URL中包括girl站點的訪問,如:www.girlzine.com、girl.huabao.net、www.huayu.net/girl、www.universiti.com/girl等 )

注意:squidGuard對配置文件的語法要求很嚴(yán),如果配置文件語法有誤,squidGuard仍能運行,但是squidGuard已進(jìn)入應(yīng)急模式,此時代理服務(wù)不具有任何阻塞作用,所有通過該代理的訪問都可通過,可以查看logs/squidGuard的日志文件,即可發(fā)現(xiàn)錯誤,例如:

2001-12-20 17:08:44 [2430] parse error in configfile /usr/local/squidGuard/squidGuard.conf line 8
2001-12-20 17:08:44 [2430] going into emergency mode
…….

其中配置文件第8行有誤,squidGuard進(jìn)入應(yīng)急模式。 配置的具體說明詳見http://www.squidguard.org/

6. 運行:

$ chmod 777 /var/log/squid
$ chmod 777 /var/spool/squid
$ chmod 777 /usr/local/squid/var
$ chmod 777 /usr/local/squid/var/logs
$ chmod 777 /usr/local/squidGuard/log
$ chmod 777 /var/log/squid

(設(shè)置logs對所有用戶為可寫。這樣,不特定的squid代理客戶才能正常訪問代理服務(wù)器,并能在logs目錄、產(chǎn)生access.log、cache.log等文件。)

記得的好像就是這幾個文件開777權(quán)限。要是疏漏了可以看日志修改

 $ /usr/local/squid/bin/squid -z

(手工建立squid的緩存目錄/usr/local/squid/cache。)

 

#/usr/local/squid/bin/squid
 

后臺執(zhí)行squid。如果想前臺執(zhí)行squid:如果你想前臺執(zhí)行Squid執(zhí)行命令:
$/usr/local/squid/bin/squid -D
該命令正式啟動Squid。如果一切正常,你會看到一行輸出: 
Ready to serve requests 

# ps ax|grep squid
20198 ? S 0:00 /usr/local/squid/bin/squid
20200 ? S 0:27 (squid)
20310 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf
20311 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf
20312 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf
20313 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf
20314 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf

此時squidGuard也已啟用,每次修改配置后squid -k reconfigure重新起用即可,要殺掉squid執(zhí)行squid -k kill。

查看squidGuard日志文件:

init domainlist /usr/local/squidGuard/db/porn/domains
2001-12-20 16:14:43 [2270] init domainlist /usr/local/squidGuard/db/porn/domains
2001-12-20 16:14:43 [2270] init urllist /usr/local/squidGuard/db/porn/urls
2001-12-20 16:14:43 [2270] init expressionlist /usr/local/squidGuard/db/porn/expressions
2001-12-20 16:14:43 [2270] squidGuard 1.1.4 started (1008836083.022)
2001-12-20 16:14:43 [2270] recalculating alarm in 917 seconds
2001-12-20 16:14:43 [2270] squidGuard ready for requests (1008836083.044)

表示squidGuard已正常啟動。

7.開機(jī)自動啟動

最容易的機(jī)制之一是/etc/rc.local腳本。這是個簡單的shell腳本,在每次系統(tǒng)啟動時以root運行。使用該腳本來啟動squid非常容易,增加一行如下:

/usr/local/squid/sbin/squid -D
touch /var/lock/subsys/local

這個不知道什么意思別人讓加就加上了。

8.一些小經(jīng)驗和大家分享一下

在開啟squid之前,你應(yīng)該謹(jǐn)慎的驗證配置文件。這點容易做到,運行如下命令即可:%squid -k parse假如你看不到輸出,配置文件有效,你能繼續(xù)后面的步驟。

然而,如果配置文件包含錯誤,squid會告訴你:squid.conf line 62: http_access allow okay2    aclParseAccessLine: ACL name 'okay2' not found.這里你可以看到,62行的http_access指令指向的ACL不存在。有時候錯誤信息很少:FATAL: Bungled squid.conf line 76: memory_pools在這個情形里,我們忘記了在76行的memory_pools指令后放置on或off.

建議你養(yǎng)成習(xí)慣:在每次修改配置文件后,使用squid -k parse。假如你不愿麻煩,并且你的配置文件有錯誤,squid會告訴你關(guān)于它們而且拒絕啟動。假如你管理著大量的cache,也許你會編輯腳本來自動啟動,停止和重配置squid。你能在腳本里使用該功能,來確認(rèn)配置文件是有效的。

保存日志vi /etc/logrotate.d/squid/var/log/squid/access.log

{    weekly    
       rotate 52    .
       copytruncate    
       compress    
       notifempty    
       missingok
}
/var/log/squid/cache.log {    
       weekly  
        rotate 52  
        copytruncate    
        compress    
        notifempty
         missingok
}
/var/log/squid/store.log {    
        weekly    
        rotate 52    
        copytruncate    
        compress  
         notifempty    
         missingok    
         postrotate   /usr/local/squid/sbin/squid -k
         rotate  
          endscript

}

***需要注意的是DNS設(shè)置。還有就是權(quán)限。這個很重要。squid起不來的原因我覺的80%都是權(quán)限的問題。這樣可以保存你的日志文件啦。

原文來自:http://netdl.blog./184762/33118

【編輯推薦】

  1. Linux下通過WebShell反彈Shell的技巧
  2. SquidClamAv 6.0 發(fā)布(含下載)
  3. squid2.6stable12+clamav+havp搭建防毒代理
  4. Linux下Squid代理服務(wù)器的架設(shè)與維護(hù)(一)

網(wǎng)站標(biāo)題:linux下用squid和squidGuard配置代理服務(wù)器
文章起源:http://m.5511xx.com/article/coojdso.html