Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Tabela de conteúdo

Configurando seu OpenBSD como gateway / proxy transparente

Este pequeno artigo mostra como utilizar o tão falado proxy transparente no OpenBSD. Ao contrario do que muitos pensam o OpenBSD não tem nada de difícil, apenas alguns comandos são diferentes do que você tem no Linux, quem conhece linux ou qualquer outro Unix consegue se virar facilmente. Para quem não conhece o OpenBSD é conhecido como o sistema operacional mais seguro, é possível ver no site oficial (www.openbsd.org) que o slogan deles é: "Only one remote hole in the default install, in more than 8 years!", ou seja, "Apenas uma falha remota na instalação padrão em mais de 8 anos!". Os requisitos para fazer o serviço de proxy transparente são: SQUID (O proxy propriamente dito) PF (Packet Filter, é o "iptables" para OpenBSD)

Instalação squid

Ele já vem com o pf instalado por default, então precisamos apenas do squid, seguindo recomendações da própria equipe do OpenBSD vamos utilizar o port do squid que eles disponibilizam. Se você quiser utilizar outro mirror escolha um na página: http://www.openbsd.org/ftp.html

pkg_add -v ftp://ftp.kd85.com/pub/OpenBSD/3.7/packages/i386/squid-2.5.STABLE9-transparent.tgz

Isso irá fazer o download do pacote e instalar em sua máquina, se você quiser compilar o squid em sua máquina diretamente pelo ports faça o seguinte:

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

Tendo o squid instalado, vamos as configurações, neste exemplo irei apenas liberar acesso a rede interna:

Configurando Squid

vi /etc/squid/squid.conf

adicione as seguintes opções:

acl localnet src 192.168.0.0/255.255.255.0
http_access allow localnet (antes do http_access deny all)
httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Configurando o pf e habilitando forward

Agora vamos ativar o pf, e o ip_forward para liberar o acesso da rede interna

Primeiro edite o /etc/sysctl.conf e altere a linha do ipforwarding assim:

net.inet.ip.forwarding=1

Para ativar o ip_forwarding sem ter que reiniciar a máquina execute:

sysctl -w net.inet.ip.forwarding=1

Se você acabou de instalar o openbsd precisamos ativar também o pf, para isso edite o arquivo /etc/rc.conf e altere:

pf=YES # Packet filter / NAT

Assim toda vez que a máquina for reiniciada o pf será carregado automaticamente, feito isso vamos criar as regras de pf para fazer o proxy transparente funcionar, vou aproveitar o gancho e montar um pequeno firewall na máquina também.

Regras do PF

edite o arquivo /etc/pf.conf

EXTIF="vr0" #External interface firewall eg {fxp0}
INTIF="ne3" #Internal interface firewall eg {fxp1}
set optimization aggressive
scrub in all
nat on $EXTIF from !($EXTIF) -> ($EXTIF:0)
rdr pass on $INTIF proto tcp to port ftp -> 127.0.0.1 port 8021 #proxy ftp
rdr pass on $INTIF proto tcp to port http -> 127.0.0.1 port 3128 #squid
antispoof for { lo $EXTIF $INTIF }
block in all
pass in quick on { lo0 $INTIF } all
pass out quick on $EXTIF inet proto {tcp,udp} from any to any keep state
#libera acesso ssh e http de fora para a maquina
pass in quick on $EXTIF inet proto tcp to $EXTIF port { http ssh } flags S/SA keep state
block return-rst in quick proto tcp from any to any
block return-icmp in quick proto udp from any to any

Iniciando tudo no boot

Agora está tudo configurado para iniciar o proxy, mas antes vamos deixar pronto o script que iniciará o squid automaticamente quando a máquina for reiniciada, edite o arquivo /etc/rc.local

if [ -x /usr/local/sbin/squid ]; then
  /usr/local/sbin/squid -D
fi

Finalmente vamos iniciar o squid:

/usr/local/sbin/squid -z
/usr/local/sbin/squid -D

E ative o pf para o proxy transparente

pfctl -e
pfctl -f /etc/pf.conf

Pronto ;)

Rafael M. Capovilla - 1c3_m4n - iceman NOSPAM underlinux com br

Horários baseados na GMT -3. Agora são 4:03.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.