
рдореИрдВ
рд╕реНрдХреНрд╡рд┐рдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди QCS рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред
QuintoLabs рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИ
* рдХрд╖реНрдЯрдкреНрд░рдж рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ
* рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рд░реЛрдХ
* рд╕рдореВрд╣ рдирд┐рдпрдВрддреНрд░рдг
* рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗ рдХрд┐рд╕реА рднреА рдбреЛрдореЗрди, рд╕рдмрдиреЗрдЯ, рдЖрдИрдкреА рдХрд╛ рдмрд╣рд┐рд╖реНрдХрд░рдг
* рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди
* рдЖрд╕рд╛рди рд╕реЗрдЯрдЕрдк рдФрд░ рд░рдЦрд░рдЦрд╛рд╡
* RedHat, CentOS, Fedora, Debian, Ubuntu рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
рдмрдВрдбрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреВрд░реНрд╡-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
1) dc.example.lan [192.168.28.20] - DNS рдФрд░ рд╕рдХреНрд░рд┐рдп рдбрд╛рдпрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде Win2K2008
2) 192.168.28.2 - рдЧреЗрдЯрд╡реЗ
3) рдбреАрдПрдирдПрд╕ [192.168.28.20]
3) example.lan - рдбреЛрдореЗрди
4) рдкреНрд░реЙрдХреНрд╕реА.рдПрдХреНрд╕рдкреНрд▓рд┐рдВрдЧ.рд▓рд╛рди - рд╣рдорд╛рд░рд╛ рд╕реЗрдВрдЯреЛрд╕ 6 рд╕рд░реНрд╡рд░
5) client.example.lan - Win7 рдХреНрд▓рд╛рдЗрдВрдЯ
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ (CentOS) рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ Win2K2008 рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕реНрдерд┐рд░ IP рдХреЛ / etc / sysconfig / network-script / ifcfg-eth0 рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=192.168.28.21
ONBOOT=yes
рд╣рдо рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ / рдЖрджрд┐ / sysconfig / рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ:
GATEWAY=192.168.28.2
/Etc/resolv.conf рдореЗрдВ рдбреАрдПрдирдПрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
nameserver 192.168.28.20
рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ
/etc/init.d/network restart
рдкрд┐рдВрдЧ:
$ping -c 3 192.168.28.2
рдЕрдЧрд░ рд╕рдм рдареАрдХ рд╣реИред рддрдм рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
yum update
рдФрд░ рдлрд┐рд░ рд╣рдордиреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рд▓рдЧрд╛рдП:
yum install bind-utils
рдПрдирдЯреАрдкреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
yum install ntp
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
chkconfig ntpd on
/Etc/ntp.conf рдЦреЛрд▓реЗрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдореЗрдВ рдбреЛрдореЗрди рдирд┐рдпрдВрддреНрд░рдХ рдЬреЛрдбрд╝реЗрдВ

рд╕реЗрд╡рд╛ рдмрдВрдж рдХрд░реЗрдВ:
service ntpd stop
рд╣рдорд╛рд░реЗ рдбреАрд╕реА рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХ рдХрд░реЗрдВ:
ntpdate -b dc.example.lan
рдФрд░ рд╡рд╛рдкрд╕ ntp рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░реЗрдВ:
service ntpd start
рдХреЗрд░реНрдмрд░реЛрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
yum install krb5-workstation krb5-libs
рд╣рдо рдПрдХ рд╣реА рдлреЙрд░реНрдо рдореЗрдВ config /etc/krb5.conf рд▓рд╛рддреЗ рд╣реИрдВ:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = EXAMPLE.LAN
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
default_tgs_enctypes = rc4-hmac
default_tkt_enctypes = rc4-hmac
permitted_enctypes = rc4-hmac
[realms]
EXAMPLE.LAN = {
kdc = dc.example.lan
admin_server = dc.example.lan
default_domain = example.lan
}
[domain_realm]
.example.lan = EXAMPLE.LAN
example.lan = EXAMPLE.LAN
рдЯрд┐рдХрдЯ рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢:
kinit Administrator@EXAMPLE.LAN
рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛ рдЧрдпрд╛, рддреЛ рд╣рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдЯрд┐рдХрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ:
klist
рдФрд░ рджреЗрдЦреЗрдВ:
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@EXAMPLE.LAN
Valid starting Expires Service principal
12/07/11 11:07:58 12/07/11 21:08:00 krbtgt/EXAMPLE.LAN@EXAMPLE.LAN
renew until 12/14/11 11:07:58
рд░реАрдмреВрдЯ:
shutdown -r now
Sabma рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдбреЛрдореЗрди рдореЗрдВ рд╣рдорд╛рд░рд╛ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░реЗрдВ
yum install samba
atload рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
chkconfig smb on
рд╕рд╛рдВрдмрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ /etc/samba/smb.conf рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдПрдВ:
[global]
workgroup = EXAMPLE
realm = EXAMPLE.LAN
server string = Samba Server Version %v
security = ADS
log file = /var/log/samba/log.%m
max log size = 50
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
рд░реЗрд╕реНрдЯрд╛рд░реНрдЯ рд╕рд╛рдВрдмрд╛:
service smb restart
рд╣рдо рдХреЗрд░реНрдмрд░реЛрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ:
kinit Administrator@EXAMPLE.LAN
klist
net ads join -S dc.example.lan -U Administrator%P@ssw0rd

рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╕реНрдиреИрдк-рдЗрди рдЦреЛрд▓реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░рд╛ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ OU "рдХрдВрдкреНрдпреВрдЯрд░" рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ

рд╣рдо рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рд░реАрдмреВрдЯ рдХрд░рддреЗ рд╣реИрдВ:
shutdown -r now
рд╕реНрдХреНрд╡реАрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
yum install squid
/Etc/squid/squid.conf рдЦреЛрд▓реЗрдВ, рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬреЗрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
visible_hostname proxy.example.lan
http_access allow localnet and acl localnet src 192.168.28.0/24
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
chkconfig squid on
рд╕реЗрд╡рд╛ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
service squid start
/Etc/krb5.keytab рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝реЗрдВ
net ads keytab add HTTP -U administrator
Processing principals to add...
Enter administrator's password:

рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕реНрд╡рд╛рдореА рдХреЛ рдмрджрд▓реЗрдВ:
chown squid:squid /etc/krb5.keytab
рдФрд░ рд╕реЗрдЯ рдЪрд╛рдореЛрдб:
chmod 400 /etc/krb5.keytab
/Etc/squid/squid.conf рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдмрджрд▓реЗрдВ:
auth_param negotiate program /usr/lib/squid/negotiate_kerb_auth -s HTTP/proxy
auth_param negotiate children 10
auth_param negotiate keep_alive on
acl auth proxy_auth REQUIRED
http_access deny !auth
http_access allow auth
http_access deny all
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╡реНрд╣реАрд▓рдмрд╛рд░ рдкрд░, рдпрд╛рдиреА рдЦреБрд▓рд╛ рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рд╕рдмрдХреБрдЫ рдареАрдХ рд░рд╣рд╛ рддреЛ рд▓реЙрдЧ /var/log/squid/*.log рдореЗрдВ рд╣рдо рдЕрдкрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрдЦреЗрдВрдЧреЗ
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЕрдкрд╛рдЪреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
yum install httpd php mod_wsgi
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
chkconfig httpd on
рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
service httpd start
рд╣рдо рдЕрдВрддрд┐рдо рднрд╛рдЧ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрд╡рд┐рдВрдЯреЛрдмреНрд▓рд╛рд╕ рдХрдВрдЯреЗрдВрдЯ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА 1.4.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛:
curl quintolabs.com/qlproxy/binaries/1.4.2/qlproxy-1.4.2-32d12.i386.rpm > qlproxy-1.4.2-32d12.i386.rpm
рд╕реЗрдЯ рдХрд░реЗрдВ:
rpm --install qlproxy-1.4.2-32d12.i386.rpm
рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓ /opt/quintolabs/qlproxy/etc/adblock.conf рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдСрдирд▓рд╛рдЗрди рдЧреЗрдо / рдлрд╝рд┐рд▓реНрдЯрд░ /quintolabs/qlproxy/etc/adultblock.conf рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реЗрдпрд░рд┐рд╕реНрдЯрд┐рдХ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ
рд╣рдо рдПрдХ рд▓рд╛рдЗрди рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
heuristics_level = normal
рдФрд░ рдЙрдЪреНрдЪ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди:
heuristics_level = high
/Opt/quintolabs/qlproxy/etc/exception.conf config рдореЗрдВ, рдЖрдк рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдирд┐рд╖рд┐рджреНрдз рд╢рдмреНрджреЛрдВ рдФрд░ рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдХреЗ рд▓рд┐рдП html рдкреГрд╖реНрда рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдФрд░ /opt/quintolabs/qlproxy/etc/httpblock.conf рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ, рдЖрдк рдЯреНрд░реЛрдЬрди рдФрд░ рд╡рд╛рдпрд░рд╕ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ IP рдкрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ:
http://\d+\.\d+\.\d+\.\d+/.*
рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж, рдбреЗрдореЙрди рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ:
/etc/init.d/qlproxy restart
рд╕реНрдХреНрд╡реАрдб /etc/squid/squid.conf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЦреЛрд▓реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:
icap_enable on
icap_preview_enable on
icap_preview_size 4096
icap_persistent_connections on
icap_send_client_ip on
icap_send_client_username on
icap_service qlproxy1 reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod
icap_service qlproxy2 respmod_precache bypass=0 icap://127.0.0.1:1344/respmod
adaptation_access qlproxy1 allow all
adaptation_access qlproxy2 allow all
рд╕реНрдХреНрд╡реАрдб рд╕реЗрд╡рд╛ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рдирд╛:
service squid restart
рдЕрдЧрд▓рд╛, рдЕрдкрд╛рдЪреЗ /etc/httpd/httpd.conf рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдПрдб рдХрд░реЗрдВ рдФрд░ рдЬреЛрдбрд╝реЗрдВ:
WSGIScriptAlias /qlproxy.cgi /var/opt/quintolabs/qlproxy/www/data/qlproxy.wsgi
<Directory /var/opt/quintolabs/qlproxy/www/data>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
Alias /qlproxy /var/opt/quintolabs/qlproxy/www
<Directory /var/opt/quintolabs/qlproxy/www>
Options FollowSymLinks
AllowOverride None
рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдЕрдкрд╛рдЪреЗ
service httpd restart
рдФрд░ рддрджрдиреБрд╕рд╛рд░, рд╣рдо рд╕рднреА рд╕рд░реНрд╡рд░ рдСрдкрд░реЗрд╢рди рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреА рднреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред
рдХреБрдЫ рд▓рд┐рдВрдХ
рдкреБрдирд╢реНрдЪ рдпрджрд┐ рдЖрдк рдПрдХ рдЫреЛрдЯрд╛ рд╕реЗрд▓ рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рдкреАрдПрдо рдХреЛ рд▓рд┐рдЦреЗрдВ, рдореИрдВ рд╕рд╣реА рдХрд░реВрдВрдЧрд╛ :)