|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux Wiki
[editar] Configurando seu OpenBSD como gateway / proxy transparenteEste 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) [editar] Instalação squidEle 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: [editar] Configurando Squidvi /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 [editar] Configurando o pf e habilitando forwardAgora 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. [editar] Regras do PFedite 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
[editar] Iniciando tudo no bootAgora 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 |