1. 程式人生 > >Squid代理服務器的了解與基本配置(一)

Squid代理服務器的了解與基本配置(一)

使用 poll() 處理 nologin fec 隱藏 了解 情況下 chown

前言


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代理服務器的了解與基本配置(一)