Proxy Squid Transparente

Publicado por Leandro L. Santos 24/10/2006

[ Hits: 9.574 ]

Download Squid-Install.txt




Script que visa instalar o Squid em modo transparente, deixando  squid.conf extremamente limpo e ainda compilando opções para o uso de autenticação posteriormente, caso necessário.

PS: Funciona em qualquer distribuição, porém certifique-se que tenha removido o pacote Squid de seu sistema antes de rodar esse script, isso evitará conflito de arquivos.

  



Esconder código-fonte

#!/bin/sh
# Este Script Visa Instalar o Proxy Squid em Modo Transparente, também
# deixando oferecendo a compilação de módulos caso queira usar Proxy Autenticado.
 
# criando o grupo do squid
groupadd squid
 
# criando usuario pro squid
useradd -g squid -s /dev/null squid >/dev/null 2>&1 
 
# baixando o squid
cd /root/
wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE12.tar.bz2 
 
# descompactando o squid
cd /root/
tar -jxvf squid-2.5.STABLE12.tar.bz2

# compilando o squid com todas as flags lembradas, rs...
cd /root/squid-2.5.STABLE12
CFLAGS="-O2 -march=i486 -mcpu=i686" \
CXXFLAGS="-O2 -march=i486 -mcpu=i686" \
./configure --prefix=/usr \
   --localstatedir=/var/squid \
   --datadir=/usr/share/squid \ 
   --mandir=/usr/share/man \
   --sysconfdir=/usr/etc \
   --enable-auth="basic,digest,ntlm" \
   --enable-removal-policies="lru,heap" \
   --enable-digest-auth-helpers="password" \ 
   --enable-storeio="aufs,ufs,diskd,coss,null" \
   --enable-basic-auth-helpers="getpwnam,YP,NCSA,SMB,MSNT,multi-domain-NTLM,winbind" \
   --enable-external-acl-helpers="ip_user,unix_group,wbinfo_group,winbind_group" \ 
   --enable-ntlm-auth-helpers="SMB,fakeauth,no_check,winbind" \
   --enable-linux-netfilter \
   --enable-ident-lookups \
   --enable-useragent-log \
   --enable-cache-digests \
   --enable-delay-pools \ 
   --enable-referer-log \
   --enable-underscores \
   --enable-async-io \
   --enable-truncate \
   --enable-arp-acl \
   --with-pthreads \
   --enable-icmp \
   --enable-htcp \
   --enable-carp \ 
   --enable-poll \
   --enable-snmp \
   --enable-wccp \
   --enable-ssl
make all
make install
 
# ativando o modulo de autenticação/ncsa
cd /root/squid-2.5.STABLE12\helpers\basic_auth\NCSA
make
make install

# ativando o modulo de autenticação/Samba
cd /root/squid-2.5.STABLE12\helpers\basic_auth\SMB
make
make install

# ativando o modulo de autenticação/SASL
cd /root/squid-2.5.STABLE12\helpers\basic_auth\SASL
make
make install

# ativando o modulo de autenticação/LDAP
cd /root/squid-2.5.STABLE12\helpers\basic_auth\LDAP
make
make install

# ativando o modulo de autenticação/PAM
cd /root/squid-2.5.STABLE12\helpers\basic_auth\PAM
make
make install

# ativando o modulo de autenticação/winbind
cd /root/squid-2.5.STABLE12\helpers\basic_auth\winbind
make
make install

# ativando o modulo de autenticação/YP - NIS
cd /root/squid-2.5.STABLE12\helpers\basic_auth\YP
make
make install

# ativando o modulo de autenticação/MSNT
cd /root/squid-2.5.STABLE12\helpers\basic_auth\MSNT
make
make install

# ativando o modulo de autenticação/multi-domain-NTLM
cd /root/squid-2.5.STABLE12\helpers\basic_auth\multi-domain-NTLM
make
make install
 
# criando os arquivos de logs
touch /var/squid/logs/store.log
touch /var/squid/logs/access.log
 
# setando as devidas permissões
chmod 0777 /var/squid/logs/access.log
chmod 0777 /var/squid/logs/store.log
chown -R squid.squid /var/squid/
 
# criando o diretório de cache e setando as permissões
mkdir /var/squid/cache
chmod 0777 /var/squid/cache
chown -R squid.squid /var/squid/cache
 
# limpando o squid.conf e deixando-o em modo transparente
cd /usr/etc/
cd /usr/etc ; egrep -v "^#|^$" squid.conf.default > squid.conf
echo "httpd_accel_host virtual" >> /usr/etc/squid.conf
echo "httpd_accel_port 80" >> /usr/etc/squid.conf 
echo "httpd_accel_with_proxy on" >> /usr/etc/squid.conf
echo "httpd_accel_uses_host_header on" >> /usr/etc/squid.conf
echo "visible_hostname slackuser.ath.cx" >> /usr/etc/squid.conf
echo "error_directory /usr/share/squid/errors/Portuguese" >> /usr/etc/squid.conf 
# P.S.: Executar na pasta root e setar regras de firewall da 
# porta 3128 do squid para a porta 80 (nat de serviço)

Scripts recomendados

Criação de pasta com senha no Apache

Mudar senha de usuário automaticamente

Instalar última versão do Java automaticamente em "todas as plataformas"

Criação de usuários no Linux

Rotação de Arquivos de Log


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts