Mostrando postagens com marcador Squid. Mostrar todas as postagens
Mostrando postagens com marcador Squid. Mostrar todas as postagens

quinta-feira, 12 de março de 2009

access.log Squid

O que significa as informações do access.log do squid:

Seu formato é:
time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost type

Therefore, an access.log entry usually consists of (at least) 10 columns separated by one ore more spaces:

  1. time A Unix timestamp as UTC seconds with a millisecond resolution. You can convert Unix timestamps into something more human readable using this short perl script:

    • s/^\d+\.\d+/localtime $&/e;
  2. duration The elapsed time considers how many milliseconds the transaction busied the cache. It differs in interpretation between TCP and UDP:

    • For HTTP this is basically the time from having received the request to when Squid finishes sending the last byte of the response.
    • For ICP, this is the time between scheduling a reply and actually sending it.
      • Please note that the entries are logged after the reply finished being sent, not during the lifetime of the transaction.

  3. client address The IP address of the requesting instance, the client IP address. The client_netmask configuration option can distort the clients for data protection reasons, but it makes analysis more difficult. Often it is better to use one of the log file anonymizers. Also, the log_fqdnconfiguration option may log the fully qualified domain name of the client instead of the dotted quad. The use of that option is discouraged due to its performance impact.

  4. result codes This column is made up of two entries separated by a slash. This column encodes the transaction result:

    • The cache result of the request contains information on the kind of request, how it was satisfied, or in what way it failed. Please refer toSquid result codes for valid symbolic result codes. Several codes from older versions are no longer available, were renamed, or split. Especially the ERR_ codes do not seem to appear in the log file any more. Also refer to Squid result codes for details on the codes no longer available. The status part contains the HTTP result codes with some Squid specific extensions. Squid uses a subset of the RFC defined error codes for HTTP. Refer to section status codes for details of the status codes recognized.

  5. bytes The size is the amount of data delivered to the client. Mind that this does not constitute the net object size, as headers are also counted. Also, failed requests may deliver an error page, the size of which is also logged here.

  6. request method The request method to obtain an object. Please refer to section request-methods for available methods. If you turned offlog_icp_queries in your configuration, you will not see (and thus unable to analyze) ICP exchanges. The PURGE method is only available, if you have an ACL for "method purge" enabled in your configuration file.

  7. URL This column contains the URL requested. Please note that the log file may contain whitespace for the URI. The default configuration foruri_whitespace denies or truncates whitespace, though.

  8. rfc931 The eighth column may contain the ident lookups for the requesting client. Since ident lookups have performance impact, the default configuration turns ident_loookups off. If turned off, or no ident information is available, a "-" will be logged.

  9. hierarchy code The hierarchy information consists of three items:

    • Any hierarchy tag may be prefixed with TIMEOUT_, if the timeout occurs waiting for all ICP replies to return from the neighbours. The timeout is either dynamic, if the icp_query_timeout was not set, or the time configured there has run up.

    • A code that explains how the request was handled, e.g. by forwarding it to a peer, or going straight to the source. Refer to Hierarchy Codesfor details on hierarchy codes and removed hierarchy codes.

    • The IP address or hostname where the request (if a miss) was forwarded. For requests sent to origin servers, this is the origin server's IP address. For requests sent to a neighbor cache, this is the neighbor's hostname. NOTE: older versions of Squid would put the origin server hostname here.
  10. type The content type of the object as seen in the HTTP reply header. Please note that ICP exchanges usually don't have any content type, and thus are logged "-". Also, some weird replies have content types ":" or even empty ones.


terça-feira, 15 de abril de 2008

Squid 2.6 - Proxy Transparente

Um dos recursos interessantes que o Squid oferece é o Proxy Transparente, onde o cliente não toma nenhum conhecimento da existência do proxy.

Instale o Squid normalmente e configure suas opções de acesso, adicione "transparent" na linha onde é informado a porta que o squid deverá escutar, salve o arquivo e reinicie o Squid.

Ex.: http_port 3128 transparent

Devemos adicionar uma regra no firewall para direcionar os pedidos Http:


iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 80 -j REDIRECT --to-port 3128


Obs.: essa é uma configuração simples apenas usando o Squid e uma regra de firewall, apenas serão respondidos acessos http.

quinta-feira, 10 de abril de 2008

Lightsquid

Como diz na música do Belchior: "O passado é uma roupa que não nos serve mais". Mas em se falando do LIGHTSQUID isso não é verdade, pois ele gera logs diários dos acessos dos usuários a internet e armazena anos de informações. Veremos como instalar esse software muito útil para administradores de rede.

1 - Para rodar o lightsquid é preciso ter perl, apache (ou outro webserver), squid (claro) e crontab. Você pode baixar em http://lightsquid.sourceforge.net/

2 - A instalação é simples:

cd /var/www/htdocs/
mkdir lightsquid
cd lightsquid
tar -xzf lightsquid.tgz

chmod +x *.cgi
chmod +x *.pl

chown -R apache:apache * (onde apache é o usuário do webserver)

3 - Configuração do Apache:

Criar o VirtualHost.


DocumentRoot /var/www/lightsquid
ServerName lightsquid.dominio.com.br
ServerAlias lightsquid.dominio

AddHandler cgi-script .cgi
AllowOverride All




4 - Colocar no crontab o script que gera os logs:

0 * * * * /var/www/lightsquid/lightparser.pl

Pronto, agora é so acessar via browser e monitorar os acessos a internet.

quinta-feira, 3 de janeiro de 2008

Squid: Liberando acesso a sites no horário de almoço

Este resumo não está disponível. Clique aqui para ver a postagem.