Squid是linux系統中經常使用的一款開源代理服務軟件,能夠很好地實現HTTP和FTP ,以及DNS查詢,SSL等應用的緩存代理,功能十分強大linux
做爲應用層的代理服務器軟件,Squid主要提供緩存加速,應用層過濾控制的功能web
1 代理的工做機制vim
{1}當客戶機經過代理來請求Web頁面時,centos
{2}指定的代理服務器會檢查本身的緩存,瀏覽器
{3}若是緩存中已經有客戶機須要的頁面,緩存
{4}則直接將緩存中的內容反饋給客戶機,安全
{5}若是緩存中沒有客戶機要訪問的頁面,服務器
{6}則由代理服務器向lnternet發送請求,當得到返回的web頁面之後,將網頁數據保存到緩存中在發送給客戶機。ide
2 squid服務的做用工具
{1}.加快對http訪問的速度
{2}.提升安全性)(客戶機的Web訪問請求其實是由代理服務器完成的,從而能夠隱藏用戶的真IP地址)
{3}.可以進行訪問控制(代理服務器擔任着相似「經紀人」的角色,因此會針對要訪問的目標,客戶機的地址,訪問的時間等進行過濾控制)
3代理的基本類型
l 傳統代理:須要在客戶機的瀏覽器、相關的工具上手動設置代理服務器的地址和端口,訪問的網頁域名也是由代理服務器進行解析的
l 透明代理:客戶不須要指定代理服務器的地址和端口,而是經過網關,由防火牆的重定向策略將用戶的請求交給代理服務器處理;域名解析有客戶機完成
實驗要求:
1.全部的局域網pc經過共享ip(ip地址爲200.1.1.1)的方式接入internet,用於非web訪問協議的訪問(如dns,ftp,mail等等)
2.當局域網pc訪問internet中的web站點(80、443端口)時,自動使用代理
3.針對局域網pc的web訪問進行控制,主要要求以下。
l 禁止下載擴展名爲.3pg 、.mp4、.f4v、.mkv、.rmvb、.avi的視頻文件
l 超過4MB大小的文件不盡興緩存,禁止下載超過10MB的文件
l 設置網站黑名單,禁止訪問位於.qq.com、.msn.com域下的web站點
l 容許在正常的上班時間(週一到週五的8:30~17:30)使用代理服務
l 默認策略設置爲禁止任何客戶機使用代理服務
1、安裝squid
1.解壓(掛載squid光盤)
2.配置、編譯、安裝
--sysconfdir= /etc //單獨將配置文件修改到其餘目錄
--enable-linux-netfilter //使用內核過濾
--enable-linux-tproxy //支持透明模式
--enable-err-languge=」....」 //錯誤信息的顯示語言
--enable-underscore //容許URL中有下劃線
--enable-poll //使用poll()模式
--enable-gnuregex //使用GNU正在表達式
3.建立鏈接文件、建立用戶和組
4.編輯squid配置文件
[root@centos2 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)檢查配置文件語法是否正確
2)啓動 中止 squid
// -z 用來初始化緩存目錄
啓動服務
2、構建代理服務器
(一)傳統代理
1.squid服務器的配置
(1)修改squid.conf配置文件
http_access allow all //容許任意客戶機使用代理服務器,放在http_access deny all前面(注意不加也能夠,若是客戶機地址正好時192.168.段就不用加,由於在squid.conf中有一個acl localnet src 192.168.0.0/16,http_access allow localnet)
(2)在防火牆上添加容許的策略
(3)配置dns服務器,爲web站點註冊域名www.benet.com
(4)在squid代理服務器上填寫好dns服務器的地址(這一點特別注意,要求代理服務器自己能夠解析域名)
#vim /etc/resolv.conf
(5)重啓squid代理服務
2.客戶機的代理配置
(1)客戶機不用填寫網關和dns服務器地址,徹底由squid代理解析
在瀏覽器中 選擇 「工具」 lnternet選項,彈出lnternet選項對話框,在「鏈接」選項卡中「局域網LAN」設置
2)代理服務的驗證方法
①查看squid訪問日誌的新增記錄
②查看web訪問日誌的新增記錄
注意:當客戶機再次訪問同一個web頁面時,squid訪問日誌會增長新的記錄,但web訪問日誌中的記錄不會發生變化(除非頁面變動或執行強制刷新等操做),這說明當客戶機重複訪問同一個靜態頁面時,其實是由代理服務器經過緩存提供的