����� D.S.Oberoi <ds_oberoi(at)yahoo.com>
�� ������:
D.S. Oberoi ����� � Jammu, �����.
� ��������� ����� � ����, ��-�� ������� ������������ �������� � �����,
�������� � ������� � ��������.
������� �� �������:
Igor "Devigor" Chubin <devigor(at)mail.ru>
����������:
|
��������� ������-������� 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-��������� ����������� ����
- src: ��������, �.�. IP-����� �������
- dst: ��������, �.�. IP-����� �������
- srcdomain: ��������, �.�. �������� ��� �������
- dstdomain: ��������, �.�. �������� ��� �������
- time: ����� ��� � ���� ������
- url_regex: ���������� ��������� ��� �������� ����������� URL
- urlpath_regex: ���������� ��������� ��� �������� ���������� URL-����
������ � ��������� ��������� � ������ �����
- proxy_auth: �������� ����������� ������������ ��� ������ �������� ��������
- maxconn: ������������ ���������� ���������� �� ���� ���������� IP-�����;
����� ��������� , ���� ���������� ����� ACL � ��������� � ��� �������.
������ ACL-���������:
acl acl_element_name type_of_acl_element
values_to_acl
���������:
- acl_element_name ����� ���� ����� ������, ����������� ������������� ACL ��������.
- ��� ACL �� ����� ����� ����������� ���;
- ����� ACL ������� �� ������ ��������. ��� �������� �� �����������
���������� ��������� ������������ ���-������.
������� �������, ACL ������� �������������, ����� ������� ������������ ���� ��
��� ������ �� ��������.
- �� ��� ACL-������� ����� �������������� � �������� ������� ���� �����.
- ��������� ACL ��������, ������������� �� ������ �������,
������������ Squid'�� � ������ ������;
�������� ��������� ��������� ����� ������� �������.
�� ������� �� ���������� ������������ ��������� ����:
- http_access:
��������� HTTP-�������� ������������ ������ �� HTTP-����.
��� �������� ������ ���������� ��������.
- no_cache:
���������� ����������� ������� �� �������.
���������:
- ������� ����������� � ��� �������, � ������� ��� ��������;
�������� �����������, ��� ������ ������� ������������ ������ �� ������;
- ������ ������� ����� �������� �� ���������� ������;
- ���� �� ���� ������� ������������ �� ������ �� ������, �� �����������
�������� �� ���������, ��������������� ���������� ������� � ������.
�������� �� ��������� ����� ��������� ����.
- ��� ����� ���������� � ������ ������� ����������� �������� � (AND),
� ��������� ��������� http_acess ������������ ��������� ��� (OR).
���������� ���������� ��������� �������:
http_access Action statement1 AND statement2 AND statement OR
http_access Action statement3
- ���������, ��� ������� ������ �������� ����� �����.
����� ����������������
�� ���������, 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
������ ���� ���������� � ��� ���� ����� ��������� �������� � ���� --
������� �����.
��� ���� ����� ���� ��������� ���������� ���������:
- service squid restart ���
- /etc/rc.d/init.d/squid restart
������������ ���������� ������
��������� �������� ������� �������� ������������ ���� ������-�������,
������� ������ ���� ���������������� ��������������� �������.
�����������, ��� ������ ��� ������������ � ���� (������ � �����������
IP-��������) � ����� ��������� Linux-������.
��� Internet Explorer'�
- ����� � Tools -> Internet Options
- ������� ������ Connection � � ��� �������� �� LAN Setting
- ������ IP-����� ������-������� � ����, ������� ����������� ���������� �������
(����� http_port).
��� Netscape Navigator'a
- ����� � Edit -> Preference -> Advanced -> Proxies;
- ������� Manual Proxy Configuration;
- �������� �� ������ View;
- ������ IP-����� ������-������� � ����� �����,
�� ������� ������������� ������� �������� (����� http_port).
���������� ��������
������������� ��������� � ������� ���������� ��������
���������� ����� ������� � ������ ���� ��������
����������� ������� � ��������.
������� �������� ����� ������������ �������� ��������� ����;
�� � ���� ������ ������ �������������� ������ ����� �����������.
-
��������� ������ � �������� ��������� �������
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,
� ���� ��������� (� ������ �� ���) -- ��������.
-
���������� ������ ������������ ��������:
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 ���.
-
������ � ������ ����� ��� ������ ��������
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
������� �� ����� ��������
(���� � ����� ������� �� ������������), �, �������������,
������� �������� �� �����.
-
������������ ������
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
- �����������
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.
- �����������
������ �� ������� ���������� � ��� ������ ��� ����������� �������.
��� �������� ������ ���������� 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
- �������� ����������� ��������� �� �������
�� ������ ������� ���� ����������� ��������� �� �������
������� ��� ������ ����� 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 ����� ������������
��� �������� �����������:
- LDAP : ���������� Linux Lightweight Directory Access Protocol;
- NCSA : ���������� ���� ������������� � ������� � ����� NCSA;
- SMB : ���������� SMB ������, ��� SAMBA ��� Windows NT;
- MSNT : ���������� ������������������ ����� Windows NT;
- PAM : ���������� Linux Pluggable Authentication Modules;
- 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-�����:
�������� �������
� ������ ������� ���� �������� �������. �� ���� �������� �� ������ ��������
���� ����������� ��� ����������� ����������� ������ ���������.
2002-03-02, generated by lfparser version 2.19