Ò»¡¢Ê²Ã´ÊÇProxy Server(´úÀí·þÎñÆ÷)£¬ProxyµÄ×÷Óá£
ÔÚÕæÊµÊÀ½çÖÐÎÒÃdz£³£»áÈ¥°ïÈ˼ҰìһЩÊÂÇ飬ÀýÈç°ïÈ˼ҽ»µç·ÑʲôµÄ£¬ÔÚÕâÖÖÇé¿öÏÂÄã²»Êǵç±íµÄÖ÷ÈË£¬¶øÊÇ´ú°ìÕߣ¨´úÀíÕߣ©µÄÉí·Ý¡£ÔÚÍøÂçÊÀ½çÖÐProxy¾ÍÊÇÏ൱ÓÚÄǸö°ïÈ˼ҽ»µç·ÑµÄÈËÁË£¬µ±ÎÒÃÇ·¢³öÁ¬½ÓÇëÇóµÄʱºò£¬¾Í»áͨ¹ýProxyÈ¥°ïÎÒÃÇÖ±½ÓÓëÄ¿±ê·þÎñÆ÷¹µÍ¨£¬°ïÎÒÃÇÈ¡µÃ×ÊÁÏ¡£
ͨ³£ÎÒÃÇËù˵µÄ¸ßËÙ»º´æ´úÀí£¬¾ÍÊÇÒԿռ任ʱ¼ä£¬¾ÍÈçÏÂͼÄÇÑù¡£
clientͨ¹ýProxy ServerÉÏÍøµÄ²½ÖèÈçÏ£º
¢Ùclient¶ËÏòServer·¢³öÇëÇó¡£
¢ÚServerÊÕµ½ÇëÇóºó±È½ÏÅжÏCacheÖÐʱºò´æÔÚclientÏëÒªµÄ×ÊÁÏ£¬Èç¹ûûÓÐÔòÏòÔ¶³ÌServer·¢ËÍÊý¾ÝÇëÇó¡£
¢Û½«ÇëÇó»ØÀ´µÄ×ÊÁÏÏÈ´æ·Åµ½CacheÖУ¬ÔÙ½«×ÊÁÏ´«Ë͸øclient¶Ë¡£
¢Üµ±client·¢³öµÄÇëÇóÖÐËùÐèÒªµÄ×ÊÁÏÔÚCacheÖÐÓУ¬Ôò½«CacheÖеÄ×ÊÁÏÖ±½Ó´«Ë͸øclient¶Ë¡£
ËäÈ»µ±µÚÒ»·ÃÎÊÕâÏòProxyÇëÇóµÄÊý¾ÝCacheÖÐûÓÐʱ£¬ProxyץȡÊý¾Ýºó»áÏȱ£´æÔÚCacheÖУ¬ÕâÑù·ÃÎÊËٶȱäÂýÁË£¬¿ÉÊǵڶþ¸ö·ÃÎÊÕßÒÔ¼°ºóÀ´µÄ·ÃÎÊÕßÐèÒª¸Ã×ÊÁϵÄʱºò£¬proxy¶¼²»ÒªÏëÔ¶³Ì·þÎñÆ÷ÇëÇó£¬Ö±½Ó½«cacheÖеÄ×ÊÁÏ·¢Ë͸øºóÀ´µÄÇëÇóÕß¾ÍÐÐÁË£¬ÕâÑù¾Í¼õÉÙÁËÁ¬½ÓÔ¶³Ì·þÎñÆ÷µÄÁ÷Á¿£¬ÁíÍâÓÉÓÚproxyÊÇÔÚ±¾µØµÄ£¬ËùÒÔ´«ÊäËÙ¶ÈÒ²¸ü¿ì¡£
¶þ¡¢Ê¹ÓÃSquidÔÚ¹¹½¨Proxy Server
±¾ÎÄÖбÊÕßËùʹÓõĻ·¾³ÊÇ£º
²Ù×÷ϵͳ: Redhat 9.0£¬ÄÚºË:2.4.20-31.9£¬ÆäËûϵͳÌ×¼þÒѾͨ¹ýapt¸üе½×îÐÂÁË
1.±àÒë°²×°Squid
ÓÉÓÚSquid¶ÔϵͳӲ¼þÒªÇó±È½Ï¸ß£¬ËùÒÔÎÒÃǰ²×°µÄʱºòÓ¦¾¡Á¿ÓÅ»¯¡£
CODE:#groupadd squid
#useradd squid
Ìí¼ÓsuqidÓû§ºÍÓû§×é
CODE:#export CFLAGES=¡¯-O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2¡¯
¿ÉÒÔ¸ù¾ÝÄãµÄCPUÑ¡ÔñÏàÓ¦µÄ²ÎÊý
GCC-3.1ÒÔÉÏ¿É??CPU×î¼Ñ»¯£º
CODE:Pentium2: -O2 -mcpu=i686 -march=i686 -mmmx
Pentium3: -O2 -mcpu=pentium3 -march=pentium3 -mmmx -msse
Pentium4: -O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2
#./configure --prefix=/usr/local/squid --enable-gnuregex --enable-async-io=80 --enable-icmp --enable-kill-parent-hack --enable-snmp --disable-ident-lookups --enable-cahce-digests --enable-arp-acl --enable-err-language="Simplify_Chinese" --enable-default-err-languages="Simplify_Chinese" --enable-poll --enable-linux-netfilter --enable-underscore
#make
#make install
ÎÒ¸öÈ˰²×°Èí¼þ¶¼±È½Ïϲ»¶ÓÃÔ´Âë°ü×Ô¼º±àÒ룬¾õµÃÕâÑùÖªµÀÄã×Ô¼ºÔÚ×öʲô£¬ÓÃrpm°üºÃÏñ²»ÖªµÀ×öʲôµÄ¾Í°²×°ºÃÁË¡£ÏÂÃæÎÒÃǶԸ÷¸ö±àÒë²ÎÊý½øÐнâÊÍ£¬µ±È»Äã¿ÉÒÔͨ¹ý./configure --helpÀ´²é¿´ÆäËûµÄ²ÎÊý£¬ÒÔ¼°¸÷¸ö²ÎÊýµÄÓ¢ÎĽâÊÍ¡£
--prefix=/usr/local/squid :Ö¸¶¨Èí¼þµÄ°²×°Â·¾¶
--enable-gnuregex :ÓÉÓÚSquid´óÁ¿Ê¹ÓÃ×Ö·û´®´¦Àí×ö¸÷ÖÖÅжϣ¬¼ÓÈë´ËÏîÄܸüºÃµÄ´¦Àí¡£
--enable-async-io=80 :Õâ¸öÖ÷ÒªÊÇÉèÖÃasyncģʽÀ´ÔËÐÐsquid£¬ÎÒµÄÀí½âÊÇÉèÖÃÓÃÏß³ÌÀ´ÔËÐÐsquid£¬Èç¹û·þÎñÆ÷ÅäÖúܲ»´í£¬ÓÐ1GÒÔÉÏÄڴ棬cpuʹÓÃSMPµÄ·½Ê½µÄ»°¿ÉÒÔ¿¼ÂÇÉè³É160»òÕ߸ü¸ß¡£Èç¹û·þÎñÆ÷±È½ÏÔã¸â¾Í¸ù¾Ýʵ¼ÊÇé¿öÉèÁË¡£ÁíÍâ´ËÏÁícacheÎļþÖ§³Öaufs
--enable-icmp :¼ÓÈëicmpÖ§³Ö
--enable-kill-parent-hack :¹ØµôsuqidµÄʱºò£¬Òª²»ÒªÁ¬Í¬¸¸½ø³ÌÒ»Æð¹Øµô£¬Õâ¸öµ±È»ÒªÀ²
--enable-snmp :´ËÑ¡Ïî¿ÉÒÔÈÃMRTGʹÓÃSNMPÐÒé¶Ô·þÎñÆ÷µÄÁ÷Á¿×´Ì¬½øÐмà²â£¬Òò´Ë±ØÐëÑ¡Ôñ´ËÏʹSquidÖ§³ÖSNMP½Ó¿Ú¡£
--disable-ident-lookups :·ÀֹϵͳʹÓÃRFC931¹æ¶¨µÄÉí·Ýʶ±ð·½·¨¡£
--enable-cahce-digests :¼Ó¿ìÇëÇóʱ£¬¼ìË÷»º´æÄÚÈݵÄËÙ¶È¡£
--enable-arp-acl :¿ÉÒÔÔÚ¹æÔòÉèÖÃÖÐÖ±½Óͨ¹ý¿Í»§¶ËµÄMACµØÖ·½øÐйÜÀí£¬·ÀÖ¹¿Í»§Ê¹ÓÃIPÆÛÆ¡£
--enable-err-language="Simplify_Chinese" ºÍ
--enable-default-err-languages="Simplify_Chinese" :Ö¸¶¨³ö´íÊÇÏÔʾµÄ´íÎóÒ³ÃæÎª¼òÌåÖÐÎÄ
--enable-poll :Ó¦ÆôÓÃPoll()º¯Êý¶ø²»ÊÇselect()º¯Êý£¬Í¨³£¶øÑÔpoll(ÂÖѯ)±ÈselectÒªºÃ£¬µ«configure(½Å±¾³ÌÐò)ÒÑÖªPollÔÚijЩƽ̨ÏÂʧЧ, ÈôÄãÈÏΪÄã±Èconfigure±àÒëÅäÖýű¾³ÌÐòÒª´ÏÃ÷µÄ»°£¬¿ÉÒÔÓÃÕâ¸öÑ¡ÏîÆôÓÃPoll¡£×ÜÖ®¾ÍÊÇÓÃÕâ¸ö¿ÉÒÔÌáÉýÐÔÄܾÍÊÇÀ²¡£
--enable-linux-netfilter :¿ÉÒÔÖ§³Ö͸Ã÷´úÀí
--enable-underscore :ÔÊÐí½âÎöµÄURLÖгöÏÖÏ»®ÏÈ£¬ÒòΪĬÈÏsquid»áÈÏΪ´øÏ»®ÏßµÄURLµØÖ·ÊÇ·Ç·¨µÄ£¬²¢¾Ü¾ø·ÃÎʸõØÖ·¡£
ÕâÀïÎÒÃǾͰ²×°ºÃÁË£¬½ÓÏÂÀ´¾ÍÊÇÐÞ¸ÄÅäÖÃÎļþÁË¡£
2.Ð޸͍ÒåÅäÖòÎÊý
ÏÂÃæÊÇÎÒµÄsquid.confÎļþ
CODE:# NETWORK OPTIONS£¨ÓйصÄÍøÂçÑ¡Ï
# -----------------------------------------------------------------------------
http_port 3128 #´úÀí¶Ë¿Ú
icp_port 3130 #icp¶Ë¿Ú
# OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM£¨×÷ÓÃÓÚÁÚ¾ÓÑ¡ÔñËã·¨µÄÓйØÑ¡Ï
#-----------------------------------------------------------------------------
#½ûÖ¹»º´æ
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ?
acl QUERY urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl
#ÉÏÃæ¼¸¸ö¾ÍÊÇ˵Óöµ½URLÖÐÓаüº¬cgi-binºÍÒÔhttps:\\¿ªÍ·µÄ¶¼²»Òª»º´æ£¬
#»¹ÓÐasp¡¢cgi¡¢phpµÈ¶¯Ì¬½Å±¾Ò²²»Òª»º´æ£¬
#ÒòΪÕâЩ½Å±¾Í¨³£¶¼ÊǶ¯Ì¬¸üеģ¬ÕâÑùÊý¾Ý²»Í¬²½¡£
#»¹ÓÐhttps://¿ªÍ¨µÄ²»»º´æÊÇÒòΪһ°ãÎÒÃǽøÐеç×ÓÉÌÎñ½»Ò×£¬
#ÀýÈçÒøÐи¶¿îµÈ¶¼ÊDzÉÓÃÕâ¸öµÄ£¬Èç¹û°ÑÐÅÓÿ¨ºÅʲô»º´æÄDz»ÊǺÜΣÏÕ¡£
# OPTIONS WHICH AFFECT THE CACHE SIZE(¶¨Òåcache´óСµÄÑ¡Ïî)
# -----------------------------------------------------------------------------
cache_mem 8 MB #¶îÍâʹÓÃÄÚ´æÁ¿£¬¿É¸ù¾ÝÄãµÄϵͳÄÚ´æÔÚÉ趨£¬Ò»°ãΪʵ¼ÊÄÚ´æµÄ1/3
cache_swap_low 90 #×îµÍ»º´æ°Ù·Ö±È
cache_swap_high 95 ##×î¸ß»º´æ°Ù·Ö±È£¬¾ÍÊÇÉÏÃæÄǸö¶îÍâÄÚ´æµÄʹÓðٷֱÈ
maximum_object_size 4096 KB #µ¥¸öÎļþ×î´ó»º´æ´óС£¬³¬¹ýÕâ¸ö´óС½«²»»º´æ
maximum_object_size_in_memory 8 KB #ÔÚÄÚ´æÖе¥¸öÎļþ×î´ó»º´æ´óС£¬³¬¹ýÕâ¸ö´óС½«²»»º´æµ½ÄÚ´æÖÐ
#ÓÐDNSÕý·´½âËùµÃµ½µÄIP´æÔÚ»º´æÇøµÄ´óС£¬ÕâÑù¿ÉÒÔ¼Ó¿ì½âÎöËÙ¶È
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
# LOGFILE PATHNAMES AND CACHE DIRECTORIES(¶¨ÒåÈÕÖ¾ÎļþµÄ·¾¶¼°cacheµÄĿ¼£©
# -----------------------------------------------------------------------------
#¡¡¡¡
#¡¡¡¡ÄǸö aufs Ö»ÓÐÔÚ±àÒëµÄʱºò¼ÓÈë --enable-async-io ÄǸöÑ¡Ïî²ÅÓÐÖ§³Ö£¬
#¡¡¡¡ÖÁÓÚĿ¼ËùÔÚµØÓëËùÕ¼ÓõĴÅÅÌ´óСÔòÇëÊÓÄúµÄÖ÷»úÇé¿ö¶ø¶¨£¬
#¡¡¡¡¶øºóÃæ dir1, dir2 ÔòÊÇÁ½¸ö´ÎĿ¼µÄ´óС£¬Í¨³£ 16 256 »ò 64 64 ½Ô¿É£¬
#¡¡¡¡Ò»°ãÀ´Ëµ£¬Êý×Ö×îºÃÊÇ 16 µÄ±¶Êý£¬¾Ý˵ÐÔÄÜ»á±È½ÏºÃÀ²£¡
cache_dir aufs /Cache1 100 16 256
cache_dir aufs /Cache2 100 16 256
#ÈÕÖ¾´æ·ÅλÖÃ
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
# TAG: cache_store_log
cache_store_log /usr/local/squid/var/logs/store.log
# TAG: pid_filename
pid_filename /usr/local/squid/var/logs/squid.pid
# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS(Íⲿ֧³Ö³ÌÐòÑ¡Ï
# -----------------------------------------------------------------------------
#ÓôúÀíµÇ½ÄäÃûftp·þÎñÑ¡Ïî
# TAG: ftp_user
ftp_user Squid@ #Óû§Ãû
ftp_passive on #±»¶¯Ä£Ê½
#ÈÏÖ¤
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off
# OPTIONS FOR TUNING THE CACHE£¨µ÷ÕûcacheµÄÑ¡Ï
# -----------------------------------------------------------------------------
# TAG: refresh_pattern Cache¸üÐÂʱ¼äÉèÖÃ
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#ÉÏÃæµÚÒ»ÐÐÈç¹ûÍøÖ·¿ªÍ·ÊÇ ftp µÄ»°£¬ÄÇôÔÚÒ»Ìì(1440·ÖÖÓ)ºó£¬
#Èç¹ûproxy ÔÙ´ÎÈ¡ÓÃÕâ¸öµµ°¸Ê±£¬Ôò cache ÄÚµÄÊý¾Ý»á±»¸üУ¡
# TIMEOUTS £¨³¬Ê±£©
# -----------------------------------------------------------------------------
#Á¬½Óµ½ÆäËû»úÆ÷µÄ×î´ó³¢ÊÔʱ¼ä
connect_timeout 1 minute
#Á¬½Óµ½Éϲã´úÀíµÄ³¬Ê±Ê±¼ä
peer_connect_timeout 30 seconds
#·µ»Ø³¬Ê±
request_timeout 2 minutes
#³ÖÐøÁ¬½Óʱ¼ä
persistent_request_timeout 1 minute
# ACCESS CONTROLS£¨·ÃÎÊ¿ØÖÆ£©
# -----------------------------------------------------------------------------
# TAG: acl
#Examples:
#acl myexample dst_as 1241
#acl password proxy_auth REQUIRED
#acl fileupload req_mime_type -i ^multipart/form-data$
#acl javascript rep_mime_type -i ^application/x-javascript$
#
#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl inside src 192.168.1.0/24 #ÄÚ²¿ÍøIP¶Î
acl localmac arp "/usr/local/squid/localmac" #macµØÖ·Îļþ
# TAG: http_access
http_access allow inside #ÔÊÐíinside¹æÔòͨ¹ý
http_access allow localmac #ÔÊÐílocalmacÀïÃæÓеǼǵÄmacµØÖ·Í¨¹ý
#
#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#
#http_access deny to_localhost
#
# And finally deny all other access to this proxy
http_access deny all
# TAG: http_reply_access
http_reply_access allow all
# TAG: icp_access
#icp_access allow all
# TAG: cache_peer_access
# ADMINISTRATIVE PARAMETERS£¨¹ÜÀí²ÎÊý£©
# -----------------------------------------------------------------------------
# TAG: cache_mgr
cache_mgr webmaster@localhost #¹ÜÀíÔ±ÐÅÏä
# TAG: cache_effective_user
cache_effective_user squid #ÔËÐÐsquidʱµÄÓû§
cache_effective_group squid #ÔËÐÐsquidʱµÄ×é
# TAG: visible_hostname
visible_hostname ProxyServer #´úÀí·þÎñÆ÷Ãû³Æ
# OPTIONS FOR THE CACHE REGISTRATION SERVICE£¨cache×¢²á·þÎñÑ¡Ï
# -----------------------------------------------------------------------------
# HTTPD-ACCELERATOR OPTIONS£¨HTTPD¼ÓËÙÑ¡Ï
# -----------------------------------------------------------------------------
#É趨͸Ã÷´úÀí
httpd_accel_host ProxyServer #Ö÷»úÃû
httpd_accel_port 80 #͸Ã÷´úÀí¶Ë¿Ú
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
# MISCELLANEOUS£¨ÔÓÏ
# -----------------------------------------------------------------------------
# TAG: logfile_rotate
#squid»á¶¨ÆÚµÄ½«ÈÕÖ¾Îļþ¸üÃû²¢´ò°ü¡£
#±ÈÈçÕýÔÚʹÓõÄÈÕÖ¾ÎļþΪaccess.log,squid»á½«Æä¸üÃû²¢´ò°üΪ access.log.1.gz£»
#¹ýÁËÒ»¶¨Ê±¼äºó£¬squidÓֻὫaccess.log.1.gz¸üÃûΪaccess.log.2.gz
#²¢½«µ±Ç°µÄÈÕÖ¾Îļþ¸üÃû²¢´ò°üΪaccess.log.1.gz£¬ÒÔ´ËÑ»·¡£
#logfile_rotateÖ¸¶¨µÄÊý×Ö¼´Îª´ò°ü²¢±¸·ÝµÄÎļþµÄÊýÁ¿£¬µ±´ïµ½ÕâÒ»ÊýĿʱ£¬
#squid½«É¾³ý×îÀϵı¸·ÝÎļþ¡£Ä¬ÈÏֵΪ1 0¡£Èç¹ûÏëÊÖ¶¯À´½øÐÐÕâЩ²Ù×÷£¬
#¿ÉÒÔÓÃlogfile_rotate 0À´È¡Ïû×Ô¶¯²Ù×÷¡£
logfile_rotate 4
# TAG: forwarded_for on|off
#¹Ø±Õ´ËÏÔÚ·ÃÎÊijЩÂÛ̳ʱÏÔʾµÄIPÊÇunknown£¬
#Èç¹û´ò¿ªÔòÏÔʾµÄÊÇÄãclientµÄÄÚÍøIP
forwarded_for off
#ͼ±êÎļþĿ¼
# icon_directory /usr/local/squid/share/icons
#´íÎóÌáʾÎļþĿ¼
# error_directory /usr/local/squid/share/errors/Simplify_Chinese
# TAG: snmp_port
# Squid can now serve statistics and status information via SNMP.
# By default it listens to port 3401 on the machine. If you don¡¯t
# wish to use SNMP, set this to "0".
#
#Default:
# snmp_port 3401
# TAG: snmp_access
# Allowing or denying access to the SNMP port.
#
# All access to the agent is denied by default.
# usage:
#
# snmp_access allow|deny [!]aclname ...
#
#Example:
# snmp_access allow snmppublic localhost
# snmp_access deny all
#
#Default:
# snmp_access deny all
# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)£¨ÑÓʱ³Ø²ÎÊý£©
# -----------------------------------------------------------------------------
# TAG: coredump_dir
#µ±squidͻȻ¹ÒµôµÄʱºò£¬»òÕßͻȻ³öÏÖʲô¹ÊÕϵÄʱºò£¬½«squidÔÚÄÚ´æÖеÄ×ÊÁÏдµ½Ó²ÅÌÖÐ
coredump_dir /usr/local/squid/var/cache3.ÉèÖÃiptablesÖ§³Ö͸Ã÷´úÀí
ÉèÖÃsquid+iptablesÖ§³Ö͸Ã÷´úÀíǰÇëÏÈÉèÖúÃNAT£¬¿ÉÒÔʹÓÃÏÂÃæµÄ¼òµ¥Óï¾ä
CODE:echo "1" >; /proc/sys/net/ipv4/ip_forward #ÉèÖÃת·¢
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE #ÉèÖÃnat¹¦ÄÜ
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128
#½«ËùÓÐ80¶Ë¿ÚµÄÇëÇó¶¼×ª·¢µ½suqidµÄ3128¶Ë¿ÚÉÏ
ÆäÖÐ192.168.1.0/24±íʾ192.168.1.1-254Õâ¸öÍø¶Îͨ¹ýsquidºÍnat×ö͸Ã÷´úÀí¡£
ÕâÑù£¬µ±Óû§·ÃÎÊwww·þÎñµÄʱºò¿ÉÒÔʹÓÃcache×÷Ϊ¸ßËÙ´úÀí£¬¼õÉÙÁ÷Á¿£¬¶øÆäËû·þÎñÔòͨ¹ýnatת·¢¡£
4.ʹÓÃÉϲã´úÀí
µ±Äã·ÃÎʹúÍâÍøÕ¾±È½ÏÂýµÄʱºò£¬¿ÉÒÔͨ¹ýÉèÖôúÀí·ÃÎÊ£¬ÄÇôÎÒÃÇ×Ô¼ºµÄ´úÀí·þÎñÆ÷ÄÜ·ñÒ²ÉèÖñðÈ˵ĴúÀíÀ´·ÃÎʹúÍâµÄÍøÕ¾ÄØ£¿´ð°¸Êǿ϶¨µÄ¡£
ÀýÈçÓдúÀíproxy1.cnlinux.netÄÜÒԽϿìµÄËÙ¶È·ÃÎʹúÍ⣬ÇÒÎÒÃÇ·ÃÎÊËüÒ²±È½Ï¿ì£¬ËùÒÔÎÒÃÇÓÃËüÀ´×÷ΪÎÒÃÇ·ÃÎʹúÍâÍøÕ¾µÄÉϲã´úÀí¡£
ÎÒÃÇÐèÒªÔÚsquid.confÖÐÌí¼ÓÈçϲÎÊý£º
CODE:
Àà±ðÖ÷ÒªÓÐÉϲãµÄparentºÍͬһ²ãµÄsiblingÁ½ÖÖ£¬ÎÒÃÇÕâÀïÖ÷Òª½éÉܵÄÊÇÉϲã´úÀí£¬¾ÍÊÇparent£¬Èç¹ûÄãÐèÒª¼ÜÉè´úÀí·þÎñÆ÷¼¯ÈºµÄ»°¿ÉÒÔ²ÉÓÃsibling£¬ÕâÀïÎÒÃǾͲ»×öÌÖÂÛÁË¡£
ÆäËû²ÎÊýÓУº
CODE:proxy-only :Ö»ÏòÉϲã´úÀíÒª×ÊÁÏ£¬×Ô¼º²»»º´æµ½±¾µØproxyÖС£
weight=n :±ÈÖØ£¬µ±ÎÒÃÇÉèÖöą̀Éϲã´úÀíµÄʱºò£¬Õ⼸̨´úÀíµÄ¹¦Äܶ¼ÏàͬµÄ£¬¿ÉÒÔͨ¹ýÉèÖôËÏîÀ´¾ö¶¨ÄÇ̨Éϲã´úÀí±È½ÏÖØÒª£¬nÔ½´ó±íÊ¾Ô½ÖØÒª¡£
no-query :µ±Ê¹ÓÃsiblingÀà±ðµÄʱºò£¬Ïòͬһ²ãµÄproxyË÷Òª×ÊÁϵÄʱºò¾Í»áÏòÆäËͳöicpÇëÇ󣬿ÉÒÔʹÓÃno-queryÀ´È¡ÏûicpÇëÇó£¬Ò»°ãÎÒÃÇÏòÉϲãproxyÇëÇó×ÊÁϵÄʱºò¿ÉÒÔ²»ÐèÒª·¢ËÍicp°ü£¬ÒÔ½µµÍÁ÷Á¿¡£
default :±íʾ½«Õą̂proxyÉèÖÃΪĬÈÏproxy
no-netdb-exchange :±íʾ²»ÏòproxyËͳöimcp°üµÄÇëÇó¡£
no-digest :±íʾ²»¼Í¼ÏòÉϲãproxyÌá½»µÄÇëÇó¡£
#ÉϲãproxyÉèÖÃ
cache_peer proxy1.cnlinux.net parent 3128 3130 no-digest no-netdb-exchange
#ÉèÖ÷ÃÎʹæÔò£¬¿ÉÒÔÓÃÓòÃû£¬Ò²¿ÉÒÔÓÃIP
acl usa dstdomain .com.us #ÃÀ¹ú.com.usµÄÍøÕ¾
acl usaip dst 18.0.0.0/8 #ÃÀ¹úµÄ²¿·ÖIP¶Î
#·ÅÐнûÖ¹¹æÔò
cache_peer_access proxy1.cnlinux.net allow usa #ÔÊÐíusa¹æÔòʹÓôËÉϲãproxy
cache_peer_access proxy1.cnlinux.net deny !usa #½ûÖ¹ËùÓзÇusa¹æÔòʹÓôËÉϲãproxy
cache_peer_access proxy1.cnlinux.net allow usaip
cache_peer_access proxy1.cnlinux.net deny !usaip
Æô¶¯£¬¹Ø±Õsquid
a.½«cacheĿ¼µÄËùÓÐÕ߸ü¸ÄΪsquid
CODE:#chown -R squid:squid /Cache1
#chown -R squid:squid /Cache2
b.¶ÔcacheĿ¼½øÐгõʼ»¯
CODE:#/usr/local/squid/sbin/squid -z
2004/11/01 23:06:29| Creating Swap Directories
FATAL: Failed to make swap directory /Cache1/00: (13) Permission denied
Squid Cache (Version 2.5.STABLE7): Terminated abnormally.
CPU Usage: 0.000 seconds = 0.000 user + 0.000 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 10
Èç¹û³öÏÖÉÏÃæÕâÑùµÄ´íÎóÐÅÏ¢£¬±íʾÄã/Cache1Ŀ¼ȨÏÞ´íÎó£¬Çë¼ì²é/Cache1Ŀ¼ËùÓÐÕßÊÇ·ñΪsquidÓû§ËùÓС£
c.Æô¶¯squid
CODE:#su squid -c "/usr/local/squid/bin/RunCache &"
d.¹Ø±Õsquid
CODE:#/usr/local/squid/sbin/squid -k shutdown
ÒªÖ´ÐÐÁ½´Î²ÅÄÜÕý³£¹Ø±Õsuqid
e.ÖØÐ¶ÁÈ¡squid.confÎļþ
CODE:#/usr/local/squid/sbin/squid -k reconfigure
ÐèÒªÖ´ÐÐÁ½´Î²ÅÄÜÖØÐ¶ÁÈ¡squid.confÎļþ
6.ÈÕÖ¾·ÖÎö
Proxy·þÎñÆ÷°²×°ºÃºó£¬ÎÒÃǵ±È»Òª¶Ô·þÎñÆ÷½øÐÐ¼à¿Ø£¬Í¨¹ýÈÕÖ¾·ÖÎö£¬ÎÒÃÇ¿ÉÒÔÖªµÀÄÇЩÓû§ÉÏÁËÄÇÐ©ÍøÕ¾£¬ÓÃÁ˶àÉÙÁ÷Á¿µÈ£¬ÏÂÃæÎª´ó¼Ò½éÉÜsargÕâ¸öÈÕÖ¾·ÖÎö¹¤¾ß£¬ÔÚsquidµÄ¹Ù·½ÍøÕ¾»¹ÍƽéÁËÆäËû¼¸ÖÖÈÕÖ¾·ÖÎö¹¤¾ß£¬´ó¼ÒÓÐÐËȤµÄ»°¿ÉÒÔÉÏÈ¥¿´¿´¡£
a.°²×°
CODE:#./configure --prefix=/usr/local/sarg --enable-bindir=/usr/local/sarg/bin
#make && make install
b.ÉèÖÃsarg.confÎļþ
CODE:#vi /usr/local/sarg/sarg.conf
language language English #ÓÉÓÚ¹Ù·½ÍøÕ¾»¹Ã»Óз¢²¼ÖÐÎİ棬ËùÒÔÎÒÃǾÍʹÓÃÓ¢ÎĺÃÁË£¬ÄÇλÓÐÐËȤ¿ÉÒÔ×Ô¼º·ÒëÒ»ÏÂ
access_log /usr/local/squid/var/logs/access.log.0 #squidÈÕÖ¾Îļþ´æ·ÅλÖÃ
title "Squid ʹÓñ¨¸æ" #±êÌâ
temporary_dir /tmp #ÁÙʱĿ¼
output_dir /var/www/html/sarg #Éú³ÉºóµÄhtml´æ·Åµ½ÄÇÀÉèÖõ½ÄãµÄÍøÕ¾Ä¿Â¼Ï£¬ÒÔ±ãä¯ÀÀ
overwrite_report no #ÊÇ·ñ¸²¸Ç±¨¸æ£¬µ±ÄǸöÈͮ򵀱¨¸æÒѾ´æÔÚʱÊÇ·ñ¸²¸Çµô
mail_utility mail
topsites_num 100
exclude_codes /usr/local/sarg/exclude_codes
max_elapsed 28800000
charset GB2312 #×Ö·û¼¯
c.Éú³É±¨¸æ
ÉèÖúÃsarg.confÎļþºó£¬Ö´ÐÐ
CODE:#/usr/local/sarg/bin/sarg
½«Ìáʾ£ºSARG: Successful report generated on /usr/local/apache/htdocs/sarg/2004Oct31-2004Nov01
±íʾ±¨¸æÉú³É³É¹¦£¬»¹Óб¨¸æ´æ·ÅλÖ㬿ÉÒÔÂíÉÏ´ò¿ªÄúµÄä¯ÀÀÆ÷²é¿´±¨¸æÁË¡£
Èý¡¢¹ØÓÚCacheĿ¼µÄ½¨Òé
ÓÉÓÚcacheĿ¼ÊǾ³£µÄ¶Áд£¬ËùÒÔ×îºÃÓ²ÅÌÄÜÓÃSCSIµÄ£¬ËÙ¶È±È½Ï¿ì¶øÇÒÎȶ¨¡£Èç¹ûÎÒÃǵÄcache´ó¸ÅÐèÒª40GµÄ´óС£¬ÄÇôÎÒÃǾ¡Á¿Ê¹ÓöàÓ²ÅÌ£¬²»Òªµ±´¿ÓÃÒ»¸ö40GµÄÓ²ÅÌ£¬¿ÉÒÔʹÓÃ4¸ö10GµÄÓ²ÅÌ£¬ÕâÑù£¬¶ÔÓÚcacheµÄËٶȸü¿ì¡£±ÈÈ磬µ±ÄãÓÐ10MµÄ¶«Î÷Ҫдµ½cacheÖУ¬Èç¹ûÊÇÖ»ÊÇÓÃÒ»¸öÓ²Å̵ϰ£¬ËäÈ»¿ÉÄÜÄãÒѾ½«4¸öcacheĿ¼·Ö±ð·ÅÔÚ4¸ö·ÖÇø£¬¿ÉÊÇÄãÖ»ÓÐÒ»¸öÓ²ÅÌ£¬Í¬Ê±Ö»ÓÐÒ»¸öÔÚдÈ룬¿ÉÊǵ±ÄãÓÐ4¸öÓ²Å̵Äʱºò£¬Äãÿ¸öÓ²Å̾ÍֻҪдÈë2.5MµÄ¶«Î÷£¬ÄÇÑùÊDz»ÊǸü¿ìÄØ£¿
jwang ÓÚ 2011-05-28 07:36:38·¢±í:
ºÃ×÷Æ·£¡
Èç¹û²»ÊÇÔ´´µÄ»°£¬¡°¼ò½é+Îĵµ¡± ¸ü¸ßЧ£¬Ð»Ð»£¡
shenhua_sjp ÓÚ 2007-08-01 18:14:06·¢±í:
:0)1 :0)1