Squid是一種源代碼開放的高性能代理緩存服務器
另外
通過Squid+MRTG可以配置一個完善的代理服務提供方案
一.基礎准備
Squid下載地址
版本
MRTG下載地址
版本
機器配置為
二.安裝步驟
解壓Squid(一般做法
#tar zxvf squid
#cd squid
//進行編譯
#
#make all
#make install
*對編譯項目的解釋
安裝MRTG
#tar zxvf mrtg
#cd mrtg*
#
#make
#make install
/* 幾點說明
三.具體配置
lSquid配置(僅對必要選項配置並說明)
http_port
此選項用於Squid代理所偵聽的端口
tcp_outgoing_address
此句法指定了遠程服務器的IP地址
tcp_incoming_address
這裡可以使用http_port語法進行綁定端口和IP地址
cache_mem
由於Squid在讀寫磁盤
cache_swap_low
這用做表示緩存內部對象的替換的衡量基線
cache_swap_high
此標記用於緩存對象替換的最高程度
下面幾個配置標記采用系統默認配置
{ maximum_object_size
{ 超過此尺寸的對象將不緩存
{ minimum_object_size
{ 小於此尺寸的對象將不緩存
{ maximum_object_size_in_memory
{ 內存中能緩存的最大對象尺寸
{ ipcache_size
{ 指定IP緩存大小
{ ipcache_low
{ 緩存IP地址的最低基線
{ ipcache_high
{ 緩存IP地址的最高極限
{ fqdncache_size
{ 緩存DNS全域名解析的尺寸
cache_replacement_policy lru
此標記用於當緩存新對象時
memory_replacement_policy lru
此用法同上
cache_dir ufs /cache
設置緩存根目錄為/cache
cache_access_log /var/log/squid/access
cache_log /var/log/squid/cache
cache_store_log /var/log/squid/store
cache_swap_log /var/log/squid/swap
上面幾項是緩存日志記錄的路徑和文件名
log_ip_on_direct on
記錄客戶端主機的IP地址
log_fqdn on
記錄全DNS域名解析
mime_table /usr/local/squid/etc/nf
Squid所用mime的文件路徑
pid_filename /usr/local/squid/logs/squid
Squid進程ID的文件
ftp_user
這裡可以使用匿名登陸FTP服務器
ftp_list_width
FTP文件列表長度
ftp_passive on
允許主動連接FTP服務器
dns_nameservers
指定代理的域名解析服務器
authenticate_program /usr/local/squid/bin/ncsa_auth
/usr/local/squid/etc/passwd
代理認證程序
#htpasswd –cdb passwd auth_usr
#htpasswd –db passwd auth_usr
#htpasswd –db passwd auth_usr
創建passwd文件
authenticate_children
所需要要產生的認證進程數
authenticate_ttl
此標記設置認證保持時間
authenticate_ip_ttl
此標記設置認證綁定IP地址的時間長度
authenticate_ip_ttl_is_strict on
此標記可在authenticate_ttl時間內
request_header_max_size
request_body_max_size
設置了Http請求的包頭和數據大小
request_body_max_size
這裡
connect_timeout
read_timeout
request_timeout
上面幾項是代理服務幾個超時設置
下面是訪問控制列表一些配置
acl acldomain dstdomain
acl acceleratedport port
acl acceleratedhost dst
acl aclprotocol proto HTTP FTP
acl aclmethod method GET POST
acl aclauth proxy_auth required
(注
acl aclsnmp snmp_community secrect
MRTG可以使用snmp協議檢測此代理服務運行狀態
acl aclconn maxconn
可並行連接的最大數量
啟用定義的訪問控制列表
http_access allow manager localhost
http_access deny manager
http_access allow aclauth
http_access allow acceleratedport acceleratedhost
http_access deny all
下面為緩存管理設置
cache_mgr
設置緩存管理者的接受郵件地址
cache_effective_user squidusr
cache_effective_group squidgrp
設置執行Squid的用戶和用戶組
{注
#groupadd squidgrp
#useradd –g squidgrp –d /home/squidusr squidusr
修改log日志權限屬性
#chown squidusr /var/log/squid
#chgrp squidgrp /var/log/squid
#chown squidusr /var/log/squid/*
#chown squidgrp /var/log/squid/*
}
下面配置Http服務加速代理
httpd_accel_port
httpd_accel_with_proxy on
(注
snmp_port
此標記設置snmp_port端口為
snmp_access allow aclsnmp localhost
From:http://tw.wingwit.com/Article/program/Oracle/201311/17413.html