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是一個高性能的代理緩存服務器,它支持FTP、GOPHER和HTTP協議
l Squid支持SSL,支持訪問控制
l Squid用一個單獨的、非模塊化的、I/O驅動的進程來處理所有的客戶請求
l Squid代理服務器可以分爲:普通代理服務器、透明代理服務器、反向代理服務器
二. Squid的安裝和配置
1. 安裝Squid
(1)RPM包方式
#rpm -ivh squid-2.5.STABLE1-2.i386.rpm(1#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
--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地址
用於採用HTCP和CARP方式同其它服務器通信,默認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 N(KB/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,默認使用UFS,AUFS用於非同步的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 值
用戶認證配置選項