ot KByte(17-11-2002)

reiting (-5)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Avtor: KByte
1.0 Uvod
Squid e dobre rabotesht proxy caching server za web klienti, suvmestim s FTP,gopher i HTTP. Squid se sustoi ot squid server, DNS (Domain Name System) lookup programa, dopulnitelni programi, i instrumenti za upravlenie.

1.1 Zashto se kazva Squid?
Harris` Lament kazva: "Vsichki drugi dobri imena sa zaeti."

1.2 S koi Operatsionni sistemi e suvmestim?
Linux
FreeBSD
NetBSD
BSDI
OSF i Digital UNIX
IRIX
SunOS/Solaris
NeXTStep
SCO Unix
AIX
HP-UX
OS/2
Za poveche informatsiia prochetete http://www.squid-cache.org/platforms.html.

2.0 Kompilirane na Squid
2.1 Koi fail da izteglia?
Triabva da izteglite source faila (t.e squid-1.1.6-src.tar.gz) ot http://www.squid-cache.org.

2.2 Kak da kompiliram Squid?
Pri versii Squid-1.0 i Squid-1.1:
% tar xzf squid-1.1.21-src.tar.gz
% cd squid-1.1.21
% make
Pri Squid-2:
% tar xzf squid-2.0.RELEASE-src.tar.gz
% cd squid-2.0.RELEASE
% ./configure
% make

2.3 Ot kakuv kompilator se nuzhdaia?
Za da kompilirate Squid, se nuzhdaete ot ANSI C kompilator.

2.4 Kak moga da polucha DNS TTL informatsiia?
Ako imate source`a na BIND, mozhete da go modifitsirate kakto e posocheno po-dolu. Tova e prichina global`nata promenlivata _dns_ttl_ da bude postavena s TTL ot nai posleden lookup. Sled tova, kogato kompilirate Squid, configure skripta shte proveri za _dns_ttl_ simvola v libresolv.a. Tozi exploit e predostaven ot Endre Balint Nagy.

diff -ru bind-4.9.4-orig/res/gethnamaddr.c bind-4.9.4/res/gethnamaddr.c
--- bind-4.9.4-orig/res/gethnamaddr.c Mon Aug 5 02:31:35 1996
bind-4.9.4/res/gethnamaddr.c Tue Aug 27 15:33:11 1996
@@ -133,6 133,7 @@
} align;

extern int h_errno;
int _dns_ttl_;

#ifdef DEBUG
static void
@@ -223,6 224,7 @@
host.h_addr_list = h_addr_ptrs;
haveanswer = 0;
had_error = 0;
_dns_ttl_ = -1;
while (ancount-- > 0 && cp n = dn_expand(answer->buf, eom, cp, bp, buflen);
if ((n @@ -232,8 234,11 @@
cp = n; /* name */
type = _getshort(cp);
cp = INT16SZ; /* type */
- class = _getshort(cp);
- cp = INT16SZ INT32SZ; /* class, TTL */
class = _getshort(cp);
cp = INT16SZ; /* class */
if (qtype == T_A && type == T_A)
_dns_ttl_ = _getlong(cp);
cp = INT32SZ; /* TTL */
n = _getshort(cp);
cp = INT16SZ; /* len */
if (class != C_IN) {


And here is a patch for BIND-8:

*** src/lib/irs/dns_ho.c.orig Tue May 26 21:55:51 1998
--- src/lib/irs/dns_ho.c Tue May 26 21:59:57 1998
***************
*** 87,92 ****
--- 87,93 ----
#endif

extern int h_errno;
int _dns_ttl_;

/* Definitions. */

***************
*** 395,400 ****
--- 396,402 ----
pvt->host.h_addr_list = pvt->h_addr_ptrs;
haveanswer = 0;
had_error = 0;
_dns_ttl_ = -1;
while (ancount-- > 0 && cp n = dn_expand(ansbuf, eom, cp, bp, buflen);
if ((n ***************
*** 404,411 ****
cp = n; /* name */
type = ns_get16(cp);
cp = INT16SZ; /* type */
! class = ns_get16(cp);
! cp = INT16SZ INT32SZ; /* class, TTL */
n = ns_get16(cp);
cp = INT16SZ; /* len */
if (class != C_IN) {
--- 406,416 ----
cp = n; /* name */
type = ns_get16(cp);
cp = INT16SZ; /* type */
! class = _getshort(cp);
! cp = INT16SZ; /* class */
! if (qtype == T_A && type == T_A)
! _dns_ttl_ = _getlong(cp);
! cp = INT32SZ; /* TTL */
n = ns_get16(cp);
cp = INT16SZ; /* len */
if (class != C_IN) {

3.0 Kak da staritram Squid?
Sled kato promenite config faila, startiraite Squid za purvi put.

Squid 2.X
Purvo triabva da suzdadete swap direktorii.
% /usr/local/squid/bin/squid -z

Sled tova izpulnete:
% /usr/local/squid/bin/squid -NCd1

Ako vsichko e nared triabva da vi izpishe:
"Ready to serve requests."

Ako zhelaete da staritrate squid kato demon izpulnete komandata:
% /usr/local/squid/bin/squid

4.0 Vuprosi svurzani s konfiguriraneto.
Za da svurzhesh tvoeto cache s drugi, izpolzvai cache_host rukovoden ot squid.conf. Eto za primer sledvashtiiat squid.conf:

# squid.conf - On the host: childcache.example.com
#
# Format is: hostname type http_port udp_port
#
cache_host parentcache.example.com parent 3128 3130
cache_host childcache2.example.com sibling 3128 3130
cache_host childcache3.example.com sibling 3128 3130

cache_host_domain e direktiva koiato pozvoliava da okazvate niakoi proxy`ta kato parent ili sibling za slednite domain`i:

# squid.conf - On the host: sv.cache.nlanr.net
#
# Format is: hostname type http_port udp_port
#
cache_host electraglide.geog.unsw.edu.au parent 3128 3130
cache_host cache1.nzgate.net.nz parent 3128 3130
cache_host pb.cache.nlanr.net parent 3128 3130
cache_host it.cache.nlanr.net parent 3128 3130
cache_host sd.cache.nlanr.net parent 3128 3130
cache_host uc.cache.nlanr.net sibling 3128 3130
cache_host bo.cache.nlanr.net sibling 3128 3130
cache_host_domain electraglide.geog.unsw.edu.au .au
cache_host_domain cache1.nzgate.net.nz .au .aq .fj .nz
cache_host_domain pb.cache.nlanr.net .uk .de .fr .no .se .it
cache_host_domain it.cache.nlanr.net .uk .de .fr .no .se .it
cache_host_domain sd.cache.nlanr.net .mx .za .mu .zm

Krai na purva chast!
Prevod na: SQUID Frequently Asked Questions: Memory.


<< Kak da sprem skriinseivura na KDE dokato gledame filmi :) | WET 11 Linksys evtino reshenie za wireless home lan >>