squid 實現代理功能

                               squid的代理功能
 
一.   代理服器概述

1. 什麼是代理服務器

理服務器Proxy Server)是指代理服務的雙宿主主機,是個人網絡和Internet服務商之間的中間代理機構,它負責轉發合法的網絡信息,對轉發進行控制和登記。代理服務器作爲連接Internet(廣域網)Intranet(局域網)的橋樑

2. 代理服務器的功能

l   充當局域網與外部網絡的連接出口
l   作爲防火牆
l   網址過濾和訪問權限限制
l   提高訪問速度
3. 代理服務器的工作過程

(1)       客戶機發送訪問請求給代理服務器
(2)   代理服務器聯繫客戶機請求的服務器,緩存客戶訪問內容

(3)   客戶機訪問代理服務器的緩存

4. 代理服務器的優缺點

(1)              優點

l 保護內部主機免受外部主機的***
l 提供高速的緩存功能
l 在應用網關上可以強制執行用戶的身份認證
l 內容過濾和簡化包過濾
l 具有完整的日誌
(1)              缺點

l 支持的協議有限
l 不能防止數據驅動侵襲
l 建立了一個網絡的服務瓶頸
5. Squid簡介

l Squid是一個高性能的代理緩存服務器,它支持FTPGOPHERHTTP協議
l Squid支持SSL,支持訪問控制
l Squid用一個單獨的、非模塊化的、I/O驅動的進程來處理所有的客戶請求
l Squid代理服務器可以分爲:普通代理服務器、透明代理服務器、反向代理服務器
二.   Squid的安裝和配置

1. 安裝Squid

1RPM包方式

#rpm  -ivh  squid-2.5.STABLE1-2.i386.rpm1#CD
2)編譯方式

#tar  -xzvf  squid-2.5.STABLE.tar.gz
#cd   squid-2.5.STABLE
#./configure --prefix=/var/squid 
--sysconfdir=/etc 
--enable-arp-acl 
--enable-linux-netfilter 
--enable-pthreads 
--enable-err-language="Simplify_Chinese" 
--enable-storeio=ufs,null 
--enable-default-err-language="Simplify_Chinese" 
--enable-auth="basic" 
--enable-baisc-auth-helpers="NCSA" 
--enable-underscore
#make
#make  install
      相關文件:

          /etc/squid/squid.conf      squid的主配置文件
          /etc/squid/errors         報告錯誤使用的語言
          /etc/squid/ mib.txt        Squid-MIB定義文件
          /etc/squid/mime.conf     定義MIME-TYPE
          /etc/squid/msntauth.conf  MSNT認證的配置文件
          /usr/sbin/squid          Squid主程序
          /usr/sbin/squidclient     統計顯示摘要表的客戶程序
          /usr/lib/squid/*_auth    Squid的各種認證庫文件
2. Squid的配置

(1)              Network Options(網絡設置選項)

l http_port  端口號

監聽客戶請求的端口,默認3128
l icp_port  端口號

和其它squid發送和接收ICP查詢時監聽的端口,0表示禁止

l mcast_groups   IP地址

指定一個多播組,可以接收多播形式的ICP查詢,:mcast_groups  239.128.16  224.0.1.20
l htcp_prot    端口號

同其它相鄰的緩存服務器之間發送和接收HTCP查詢時監聽的端口,0:禁用
l tcp_outgoing_address  IP地址

用於採用HTCPCARP方式同其它服務器通信,默認255.255.255.255
l udp_incoming_address   IP地址

接收其它緩存服務器的ICP數據報時使用的地址,默認0.0.0.0
l udp_outgoing_address  IP地址

發送ICP數據報到其它緩存服務器時用的地址,默認255.255.255.0
(2)              多緩存服務器設置選項

l cache_peer  hostname  type  http_port  icp_port  options

指定網絡中其它的緩存服務器,默認爲none
Hostname:另一臺緩存服務器的主機名
Type: parent/sibling /multicast(父/同級/多播)
http_port:目的服務器的http端口
icp_port:目的服務器的ICP端口
options:

         proxy-only:僅去獲取數據,但不在本地緩存

         no-query: 不發送ICP查詢給此主機
         default:默認的父服務器
         login  username:passwd:連接對方通過服務器用戶名和密碼
         no-netdb-exchange  代理服務器之間彼此不交換信息
         round-robin   當有多個代理服務器可用時,本地代理服務器採用輪轉算法
l cache_peer_domain  服務器主機名   域名

用來限定查詢相鄰的緩存服務器的域
l dead_peer_timeout  N  seconds

設置Squid在確定父(同)級緩存服務器不可用之前的等待時間
(3)              緩存大小設置選項

l cache_mem  NKB/MB/bytes,默認爲bytes

緩存內存大小
l cache_swap_low(percent,0-100)

緩存對象交換的最低點
l cache_swap_high(percent,0-100)

緩存對象交換的最高點
l maximum_object_size

緩存對象的最大大小
l minimum_object_size

緩存對象的最小大小
l maximum_object_size_in_memory

在內存中緩存的最大的對象大小
l ipcache_size 4096:

ip對應cache的大小爲4096fqdncache_size 4096:
l fqdncache_size 4096

域名全稱cache的大小爲4096
(4)              日誌文件路徑及CACHE的目錄設置選項

l memory_replacement_policy  heap GDSF/heap LRU/LRU/heap LFUDA

內存替換策略
heap GDSF:雙重大小貪婪法
LRU:默認,最近最少使用算法

heap LFUDA:最近最不常用被老化法

heap LRU:LRU

l cache_replacement_policy  heap GDSF/heap LRU/LRU/heap LFUDA

緩存替換策略
l cache_dir  類型   路徑   大小(M)  一級子目錄   二級子目錄

系統使用的存儲類型
類型: UFS|AUFS,默認使用UFSAUFS用於非同步的I/O設備

實例:cache_dir ufs /usr/local/squid/cache 25000 16 256

l cache_access_log /var/log/squid/access.log

access.log日誌文件路徑
l cache_log  /var/log/squid/cache.log

緩存日誌文件的目錄和文件
l emulate_httpd_log  on/off

激活仿真HTTP格式的日誌
l mime_table  /etc/squid/mime.conf

mime文件路徑
l pid_filename  /var/ran/squid.pid

指定pid文件和路徑
l ftp_user  用戶名@域名

指定匿名FTP密碼
l ftp_list_width   數字

指定FTP列表的文件名長度
l ftp_passive   on/off

以被動模式(on)/主動模式(off)
l cache_dns_program   /usr/lib/squid/

指定DNS查詢程序路徑
編譯時指定:--disable-internal-dns option
l dns_children 數字

指定本地默認啓動DNS查詢進程數
l dns_nameservers  IP地址

DNS服務器地址
l diskd_program  /usr/lib/squid/diskd

磁盤管理程序
l unlinkd_program usr/lib/squid/unlinkd

刪除文件程序
l pinger_program  /usr/lib/squid/

ping程序
編譯時指定:--enable-icmp option
l redirect_program  none

URL重點向程序
l redirect_children  數字

重點向進程數
l redirect_rewrites_host_heade   on/off

重點向時重寫包頭(用加速器時勿用)
l auth_param 類型  program/children/credentialsttl/realm 

用戶認證配置選項
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章