[LinuxFocus-icon]
�����  |  �����  |  ������  |  �����

������� | ������ | ������ | ��� LF
��� �������� �������� �� ��������� ������: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  

[DSOberoi]
����� D.S.Oberoi
<ds_oberoi(at)yahoo.com>

�� ������:
D.S. Oberoi ����� � Jammu, �����. � ��������� ����� � ����, ��-�� ������� ������������ �������� � �����, �������� � ������� � ��������.

������� �� �������:
Igor "Devigor" Chubin <devigor(at)mail.ru>

����������:

 

��������� ������-������� Squid

[squid]

������:

Linux ���� ��������� ����. �� ������������ ����, �� ������; ��� ����-, �����-, �������� ������ � ��� ���� � ���� ������������ ��� proxy.

Proxy-������ ��� ������ ���������� ��������-���������� ������������� ������������� ������ � �������� ����� ���������� �������������. ������� proxy-������ ����� ���� ��� � �������� �������, �.�. �������� �������� ������ ��������, ������ ���� ����� ���������� �� �� ���������, �������� ����� ������� ����� ������� � ����� ������. Squid ��� ���� �� ����� ��������, �������������� proxy, ����������� HTTP, ftp , gopher � ������ ������. ����� ����, �� ������������ SSL, ���������� ��������, ����������� DNS-�������� � ����� ����� ������ ������������ ���� ��������. Squid ������ �������� � ��� Windows NT (Logi Sense).
��� ������ ������������ � ���, ��� ���������� ������-������ � � ��� ��� ���������� � ���� �������������� ������ �������������.



 

Squid ���������� ?

Squid � ���� rpm-������ ������ � ������ ������������ RedHat 7.1 � ������������� �������������� ��� ������ �������� ����������� Network OS. ���������, ���������� squid ��� ���, ����� ��� ������ ��������� rpm-�������:
rpm -q squid
   
��������� ������ Squid ����� ������ �������� �� �������� ����� Squid ��� ��� ��������. Squid ����� ����������������� ��� ������ ��������� rpm-�������:
rpm -ivh squid-2.3.STABLE4-10.i386.rpm
   
 

���������������� Squid

���������� Squid'a ����� ��������� ����������������� �����������, ���������� � ��� ���������������� ����� squid.conf; ���� ���� ��� ������� ������������� � �������� /etc/squid. ���������������� ���� squid.conf �������, �� ���� �������� �� ���������, �� �������, � ��� ����� ������, ��� ��� ����� � ���� ����� ���� ������� � ������������������.

������, ��� ���� �������� ��� http_port, ������� ���������� ����� ������, �� ������� Squid ����� ������� ���������� �������; �� ��������� ��� 3128, �� ����� �������������� ����� ��������, ��������� �������������. ������ �� ��������� �����, ����� ������ IP-����� ������, �� ������� �������� Squid; ��� ���� ����� ��������:

http_port 192.168.0.1:8080

��������������� ����������� Squid ������������� � IP-������ 192.168.0.1 � ����� 8080. ����� ����� ����� ���� �����, �� ���� ���� ���������, ��� ������� ������ ���������� �� ���������� ���� ����. �������� ����������������� �������� ����� ���������� ����� �������� ��� ������ ��������.  

���������� ��������

��������� ���������� �������� � Squid ��������� ����� ������������� �������� ������� � ��������-��������, ����������� �� ��������� ����������, ���������� � �����������, ������� � ������������ ������ � �.�. ���������� �������� � Squid ������������ �� ���� ��������� �����������: ACL-��������� � ������� ������� (access list). ������ ������� ���������� ��������� ��� ��������� ������ � �������.

��������� �������� ������ ���� ACL-��������� ����������� ����
����� ��������� , ���� ���������� ����� ACL � ��������� � ��� �������. ������ ACL-���������:

acl   acl_element_name   type_of_acl_element values_to_acl

���������:
  1. acl_element_name ����� ���� ����� ������, ����������� ������������� ACL ��������.
  2. ��� ACL �� ����� ����� ����������� ���;
  3. ����� ACL ������� �� ������ ��������. ��� �������� �� ����������� ���������� ��������� ������������ ���-������. ������� �������, ACL ������� �������������, ����� ������� ������������ ���� �� ��� ������ �� ��������.
  4. �� ��� ACL-������� ����� �������������� � �������� ������� ���� �����.
  5. ��������� ACL ��������, ������������� �� ������ �������, ������������ Squid'�� � ������ ������;
�������� ��������� ��������� ����� ������� �������. �� ������� �� ���������� ������������ ��������� ����: ���������:
  1. ������� ����������� � ��� �������, � ������� ��� ��������; �������� �����������, ��� ������ ������� ������������ ������ �� ������;
  2. ������ ������� ����� �������� �� ���������� ������;
  3. ���� �� ���� ������� ������������ �� ������ �� ������, �� ����������� �������� �� ���������, ��������������� ���������� ������� � ������. �������� �� ��������� ����� ��������� ����.
  4. ��� ����� ���������� � ������ ������� ����������� �������� � (AND), � ��������� ��������� http_acess ������������ ��������� ��� (OR). ���������� ���������� ��������� �������:
    http_access Action statement1 AND statement2 AND statement OR
    http_access Action statement3
    
  5. ���������, ��� ������� ������ �������� ����� �����.
 

����� ����������������

�� ���������, Squid �� ���� ������� ���� ������� ��������, � ��� ���� ����� ����� ����, ���������� �������������� ��������� ���������� ��������. ����� ������� �������, ����������� ������. ���������� ���� squid.conf � ������� ��������� ������ ����� �� ������� http_acess deny all.

acl mynetwork 192.168.0.1/255.255.255.0
http_access allow mynetwork

mynetwork ��� acl-���, � ��������� ������ - ��� �������, ����������� � ������� acl �.�. mynetwork. 192.168.0.1 ��������� ����� ���� ������ ������� �������� 255.255.255.0. mynetwork ���� ��� ������ ����� � ����, � ������� -- ��������� ������ ��������. ���� ��������� ������ � ���������� http_port'� ���������� ��� ���� ����� ������� Squid � ����. ����� �������� ��������� Squid ����� ���� ������� ��������

service squid start

���������:
Squid ����� ���� ������� ������������� � ������ �������� �������, ����� ��������� ��� � ntsysv ��� setup (System Service Menu). ����� ������� ��������� ����������������� �����, ������� ������� Squid'a ������ ���� ���������� � ��� ���� ����� ��������� �������� � ���� -- ������� �����. ��� ���� ����� ���� ��������� ���������� ���������:
  1. service squid restart ���
  2. /etc/rc.d/init.d/squid restart
 

������������ ���������� ������

��������� �������� ������� �������� ������������ ���� ������-�������, ������� ������ ���� ���������������� ��������������� �������. �����������, ��� ������ ��� ������������ � ���� (������ � ����������� IP-��������) � ����� ��������� Linux-������.

��� Internet Explorer'�
  1. ����� � Tools -> Internet Options
  2. ������� ������ Connection � � ��� �������� �� LAN Setting
  3. ������ IP-����� ������-������� � ����, ������� ����������� ���������� ������� (����� http_port).

��� Netscape Navigator'a
  1. ����� � Edit -> Preference -> Advanced -> Proxies;
  2. ������� Manual Proxy Configuration;
  3. �������� �� ������ View;
  4. ������ IP-����� ������-������� � ����� �����, �� ������� ������������� ������� �������� (����� http_port).
 

���������� ��������

������������� ��������� � ������� ���������� �������� ���������� ����� ������� � ������ ���� �������� ����������� ������� � ��������. ������� �������� ����� ������������ �������� ��������� ����; �� � ���� ������ ������ �������������� ������ ����� �����������.
  1. ��������� ������ � �������� ��������� �������

    acl allowed_clients src 192.168.0.10 192.168.0.20 192.168.0.30
    http_access allow allowed_clients
    http_access deny !allowed_clients

    ����� �������� ������ � �������� ������� � IP-�������� 192.168.0.10, 192.168.0.20 � 192.168.0.30, � ���� ��������� (� ������ �� ���) -- ��������.
  2. ���������� ������ ������������ ��������:

    acl allowed_clients src 192.168.0.1/255.255.255.0
    acl regular_days time MTWHF 10:00-16:00
    http_access allow allowed_clients regular_days
    http_access deny allowed_clients

    ����� ������ ��������������� ���� ������� ���� 192.168.0.1 � ������� ������� � ������������ �� ������� � 10:00 ���� �� 4:00 ���.
  3. ������ � ������ ����� ��� ������ ��������

    acl host1 src192.168.0.10
    acl host2 src 192.168.0.20
    acl host3 src 192.168.0.30
    acl morning time 10:00-13:00
    acl lunch time 13:30-14:30
    acl evening time 15:00-18:00
    http_access allow host1 morning
    http_access allow host1 evening
    http_access allow host2 lunch
    http_access allow host3 evening
    http_access deny all

    ��������������� ������� ��������� ������ ���������� host1 ����� (� 10:00 �� 13:00) � ������� (� 15:00 �� 18:00), � ����������� host2 � host3 ����� ����� (� 13:30 �� 14:30) � ������� �������������� (� 15:00 �� 18:00).
    ���������:
    ��� �������� ������ ������� ������������ ��������� � (AND) � ����������� ��������� �������

    http_access Action statement1 AND statement2 AND statement OR.

    ������������� ���������� http_access ������������ ��������� ��� (OR), � �������� ������� � ��� ������������ ��������� �. � ����� � ���� ������

    http_access allow host1 morning evening

    ������� �� ���������, ��������� ��������� morning AND evening ������� �� ����� �������� (���� � ����� ������� �� ������������), �, �������������, ������� �������� �� �����.
  4. ������������ ������
    Squid ����� ������������� ������ � ������������ ������ ��� ������, ����� ������� �������� ������������ �����. ��� ����� ���� ����������� ��������� �������:

    acl allowed_clients src 192.168.0.1/255.255.255.0
    acl banned_sites url_regex abc.com *()(*.com
    http_access deny banned_sites
    http_access allow allowed_clients

    ����������� ������� ����� ��������� ������ � ������, ����� ������� �������� ������������ ����, �������� dummy � fake

    acl allowed_clients src 192.168.0.1/255.255.255.0
    acl banned_sites url_regex dummy fake
    http_access deny banned_sites
    http_access allow allowed_machines

    acl allowed_clients src 192.168.0.1/255.255.255.0
    acl banned_sites url_regex "/etc/banned.list"
    http_access deny banned_sites
    http_access allow allowed_clients

  5. �����������
    Squid ����� ������������ ������������ ���������� ���������� ��� ������ �������� maxconn. ��� ������������� ���� �����������, ������ ���� �������� ��������� client_db.

    acl mynetwork 192.168.0.1/255.255.255.0
    acl numconn maxconn 5
    http_access deny mynetwork numconn

    ���������: ACL maxconn ���������� ��������� "������-���". ACL �����������, ���� ���������� ���������� ������ ��������� ��������. ������� maxconn � �� ����������� � ������ http_access.
  6. �����������
    ������ �� ������� ���������� � ��� ������ ��� ����������� �������. ��� �������� ������ ���������� cgi-�������� ��� ��������. ��� ����� ������������� �������������� ACL-�������� no_cache.

    acl cache_prevent1 url_regex cgi-bin /?
    acl cache_prevent2 url_regex Servlet
    no_cache deny cache_prevent1
    no_cache deny cache_prevent2

  7. �������� ����������� ��������� �� �������
    �� ������ ������� ���� ����������� ��������� �� ������� ������� ��� ������ ����� deny_info. ��� ��������� �� ������� Squid �� ��������� �������� � �������� /etc/squid/errors. ������� � ������� ��������� �� ������� ����� ���� ������� ��� ������ error_directory. ����� ���� �������� ���� ���������.

    acl allowed_clients src 192.168.0.1/255.255.255.0
    acl banned_sites url_regex abc.com *()(*.com
    http_access deny banned_sites
    deny_info ERR_BANNED_SITE banned_sites
    http_access allow allowed_clients

    � ��������������� ������� ����������� ��������� ������������ ��� ������ ������������ �������� �������� ������ � �����, ����������� � �������� ����������� �����. ���� � ������ ERR_BANNED_SITE ������ ��������� � ��������������� �������� ������. ��������� �� ������ ������ ���� � HTML-�������.
    ��� ������������� �������, ������������� ���� ��������� ����� �������� ������������ ACL. ���������� ���������� ACL-��������� � ��������� �������, ����������� ��� ����� ���������� �� ������������� ����� ����� � FAQ �� �������� �������� Squid.
 

����� ��������

��� ���������� ����� (log files) Squid'� ��������� � �������� /var/log/squid; ��� �������� ������ �����������(cache.log), ������ ������� (access.log) � ��������� �������� (store.log). ���� access.log �������� ���������� � �������� ��������, �� ���������� � ������ ������ ��� ������� HTTP � ICP �������, ����������� ������-��������: IP-����� �������, ����� �������, ����������� URL � �.�. ������ ����� ����� ����� ���� ������������ ��� ������� ���������� � ������� � ���������. ���������� ��������� �������� ����� ��� sarg, calamaris, Squid-Log-Analyzer , ������� ����� ����������� ������ ������ � ���������� ��������������� ������ � HTML-�������. ����� ����� ��������� ������������ �������������, ���������� ������, IP-������� � �.�.

������������ ���������� ������ ����� ���� �������� ���������� �������
cache_access_log      ��� access.log
cache_log             ��� cache.log
cache_store_log       ��� store.log (���������� ���������)
pid_filename          ����, �������� PID Squid'a
 

������ ��������������

�� ��������� Squid ��������� ������ ������������ �������� ������ � ��������� ��� ������ �������� ��� ��������. ��� ���� ����� ������������ ������ � ��������, ������ ������������� ������� �� ��� ����� (� ����� ������ � ����), Squid ������������� ����������� �������������� ��� ������ ������� ���������, ������� ������� ������� ����� ������������ � ������. ��� ����������� ��� ������ ������������� ACL proxy_auth � ��������� �������������� authenticate_program, ������� ���������� ������������ ������ ��� � ������, ������ ��� ����������� ������ � C���. �������� ��������� ��������, ������� Squid ����� ������������ ��� �������� �����������:
  1. LDAP : ���������� Linux Lightweight Directory Access Protocol;
  2. NCSA : ���������� ���� ������������� � ������� � ����� NCSA;
  3. SMB : ���������� SMB ������, ��� SAMBA ��� Windows NT;
  4. MSNT : ���������� ������������������ ����� Windows NT;
  5. PAM : ���������� Linux Pluggable Authentication Modules;
  6. getpwam : ���������� ���� ������� Linux.
���������� ������� ��������� �������������� ��� ������ ����� authenticate_program, �������������� ����������, ��� �������������� ��������� ����������� � ��������� ��������.

��������� � ����� squid.conf ������ ����� ������ ��������� ��� ��������� ��������������.

acl pass proxy_auth REQUIRED
acl mynetwork src 192.168.0.1/255.255.255.0
http_access deny !mynetwork
http_access allow pass
http_access deny all

This uses the PAM authentication program and all users need to authenticate before accessing the Internet.

��� ��������� �������� �������������� ����� �������������� ����� �������� authenticate_ttl � authenticate_ip_ttl.  

������

��� ������ ���� ����������� ������� �������� Squid; ��� ����� ��������� �������� ����� �������� ��������� Web-�����:  

�������� �������

� ������ ������� ���� �������� �������. �� ���� �������� �� ������ �������� ���� ����������� ��� ����������� ����������� ������ ���������.
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© D.S.Oberoi, FDL
LinuxFocus.org

Click here to report a fault or send a comment to LinuxFocus
Translation information:
en --> -- : D.S.Oberoi <ds_oberoi(at)yahoo.com>
en --> ru: Igor "Devigor" Chubin <devigor(at)mail.ru>

2002-03-02, generated by lfparser version 2.19