Rss

Proxy Transparente com Squid e PF no OpenBSD

E ai pessoal, tudo certo?

Então, aqui vamos dar uma olhada na instalação e configuração de um proxy Squid operando como transparente e também as regras que serão necessárias adicionar nas regras de firewall (PF).

Vamo lá..

Instalação

Realizei a instalação pelo package manager do OpenBSD onde tem os pacotes pré-compilados, mas nada impede de você instalar pelo Ports.

Package Manager (pkg_add)

Primeiro de tudo vamos exportar a variável com o mirror onde se encontra os pacotes:

# export PKG_PATH=ftp://ftp.das.ufsc.br/pub/OpenBSD/4.4/packages/i386/

Vamos instalar o pacote:

# pkg_add -i -v squid

A versão do Squid que instalei aqui foi a squid-2.7.STABLE3-ldap.

Ports

# cd /usr/ports/www/squid
# env FLAVOR=transparent make install

Configuração

Squid

Vamos configurar o Squid para subir no boot.

Edite o arquivo /etc/rc.local com seu editor de texto e adicione as linhas abaixo logo após # Add your local startup actions here.

# Squid
/usr/local/sbin/squid

Vamos editar agora o arquivo de configuração do Squid, que é o /etc/squid/squid.conf.

Faremos uma configuração básica do Squid.

http_port 3128 transparent

visible_hostname pr0xy.conceicao.eti.br

error_directory /usr/local/share/squid/errors/Portuguese

# Logs
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log

# SVN
extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND

# ACLs
acl all src 0.0.0.0/0.0.0.0
acl rede src 192.168.1.0/24
acl SSL_Ports port 443 563 2096
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#Pessoas com acesso total
acl vips arp "/etc/squid/controle.vips"

#BlackList
acl blacklist dstdomain "/etc/squid/controle.blacklist"

##
# Permite ou Nega

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow vips
http_access deny blacklist

http_access allow rede
http_access deny all
##

Obs.: Crie os arquivos /etc/squid/controle.vips e /etc/squid/controle.blacklist

Agora temos que iniciar o Squid com a opção -z para que seja criado os diretórios de swap.

# /usr/local/sbin/squid -z

Pronto, agora já podemos iniciar o squid!

# /usr/local/sbin/squid

Sempre que for feita uma alteração no arquivo de configuração do Squid, devemos executar o comando a seguir para que as configurações sejam recarregadas:

# /usr/local/sbin/squid -k reconfigure

PF

O arquivo de configuração do PF é o /etc/pf.conf (padrão). Adicione/adapte as seguintes regras:

rdr on $int_if  inet proto tcp from any to any port www-> 127.0.0.1 port 3128

pass in on $int_if inet proto tcp from any to 127.0.0.1 port 3128
pass out on $ext_if inet proto tcp from any to any port www

É preciso também liberar o acesso do Squid ao /dev/pf para que o mesmo consulte o filtro de pacotes já que o padrão é somente o root ter acesso. O Squid roda com o grupo _squid.

# chgrp _squid /dev/pf
# chmod g+rw /dev/pf

Então é isso.. qualquer coisa é só dar um grito. =]

T+

Referência: http://www.openbsd-br.org/index.php?q=node/15

Comments (2)

  1. долго искала и нашла где можно бесплатно качать и слушать песни http://musicrus24.ru/

  2. As we have previously pointed out that the main one of the most efficient ways to win a lottery is as simple as applying the
    approach to wheeling. The broker’s aim
    is always to make you check out the twenty-one count, which will
    cause you to lose your complete stake total the casino.

    You need not bother in any respect with short hair as it is
    a breeze to be done, further which has a small comb and gel, men would refresh the environment. https://real-time-toto.vegas8282.com

Leave a Reply

Your email address will not be published. Required fields are marked *