Squid代理服務器的了解與基本配置(一)
Squid(Squid cache,簡稱Squid)是Linux系統中最常用的一款開源代理服務軟件,
可以很好地實現HTTP和FTP,以及DNS查詢、SSL等應用的緩存代理,功能十分強大。
搭建代理服務器可以提高上網打開網頁的速度,可以對非法網站進行屏蔽,限制文件下載,
以及查看員工訪問internet的情況,包括上網的地址,用戶,時間等,
是企業網絡管理的常用手段。
Squid服務的作用
1.加快對http訪問的速度
2.提高安全性(客戶機請求由代理服務器代替完成,隱藏用戶的真實IP地址)
3.能夠進行訪問控制
代理的基本類型
傳統代理:需要在客戶機的瀏覽器、相關的工具上手動設置代理服務器的地址和端口,
訪問的網頁域名也是由代理服務器進行解析的。
透明代理:客戶不需要指定代理服務器的地址和端口,而是通過網關,
由防火墻的重定向策略將用戶的請求交給代理服務器處理;
域名解析由客戶機完成。
1.解壓
[root@centos ~]# tar -zxf /mnt/squid-3.4.6.tar.gz -C /usr/src
2.配置、編譯、安裝
[root@centos ~]# cd /usr/src/squid-3.4.6
[root@centos squid-3.4.6]# ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-acl --enable-linux-netfilter --enable-linux-tproxy --enable-async-io=100 --enable-err-language="Simplify_Chinese" --enable-underscore --enable-poll --enable-gnuregex
--prefix=/usr/local/squid //安裝目錄
--sysconfdir=/etc //單獨將配置文件修改到其他目錄
--enable-arp-acl //可以在規則中設置直接通過客戶端MAC進行管理,
防止客戶端使用IP欺騙
--enable-linux-netfilter //使用內核過濾
--enable-linux-tproxy //支持透明模式
--enable-async-io=100 //異步I/O,提升儲存性能
--enable-err-language="Simplify_Chinese" //錯誤信息的顯示語言
--enable-underscore //允許URL中有下劃線
--enable-poll //使用Poll()模式,提升性能
--enable-gnuregex //使用GNU正則表達式
[root@centos squid-3.4.6]# make && make install
3.創建連接文件、創建用戶和組
[root@centos squid-3.4.6]# ln -s /usr/local/squid/sbin/* /usr/local/sbin
[root@centos squid-3.4.6]# useradd -M -s /sbin/nologin squid
[root@centos squid-3.4.6]# chown -R squid:squid /usr/local/squid/var
4.編輯squid配置文件
[root@centos squid-3.4.6]# vim /etc/squid.conf
省略部分內容
cache_effective_user squid
//指定squid程序用戶,需要手工添加
cache_effective_group squid
//程序基本組賬戶,需要手工添加
visible_hostname centos2.benet.com
//主機名,需要手工添加
cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256
//設置緩存目錄的大小,一級子目錄和二級子目錄的個數(默認有此項,去點前面的#)
5.squid的運行控制
(1)檢查配置文件語法是否正確
[root@centos ~]# squid -k parse
(2)啟動、停止squid
[root@centos ~]# squid -z
//-z選項用來初始化緩存目錄
[root@centos ~]# cd /usr/local/squid/var/cache/squid/
[root@centos squid]# ls
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
[root@centos ~]# netstat -anpt | grep "squid"
tcp 0 0 :::3128 :::* LISTEN 38412/(squid-1)
//確認squid服務處於正常監聽狀態
(3)不添加為系統服務情況下
[root@centos ~]# squid
//啟動squid服務
[root@centos ~]# squid -k
//停止squid服務
[root@centos ~]# squid -k reconfigure
//重新加載squid服務
Squid代理服務器的了解與基本配置(一)