24
Squid 2.6 Transp. com uso de Vlans no FreeBSD. Por João Luis Mancy dos Santos [email protected]

53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Embed Size (px)

Citation preview

Page 1: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Por João Luis Mancy dos Santos

[email protected]

Page 2: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

• Teorias (rápida passagem)

• Atualização do Sistema - cvsup

• Preparação do Kernel BSD

• Intalação de Pacotes via "Ports Tree"

• Configuração do Squid

• Configuração das Vlans

• Configuração do PF

• Configuração de Clientes

• Exemplos de Configurações de Switchs

• Adereços e Perfumarias - Sarg, SquidGuard, mrtg ...

• Perguntas ?

Page 3: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

- Teoria:

VLAN é uma rede virtual ou aglomerado de máquinas que se comunicam independentemente de sua localização física ou de topologia, como se fosse um único domínio broadcast, ou uma rede lógica.

802.1Q

Este é o protocolo padrão do IEEE. Ele é aberto e é implementado pela maioria dos fornecedores de soluções de network. Ele funciona semelhante ao ISL, adicionando um header e um trailer ao pacote. O padrão 802.1q introduz a técnica conhecida como tagging e o conceito de VLAN nativa.

Em um enlace tronco, é definida uma VLAN Nativa a qual não recebe a marcação (tagging). Ela não precisa estar rodando o protocolo 802.1q para poder desencapsular os pacote.

Por que usar VLAN?

Page 4: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Atualização do Sistema - cvsup

O CVSup é um software para distribuir e atualizar árvores de fontes a part ir de um repositório CVS central para um servidor remoto. Os fontes do FreeBSD são mantidos num repositório CVS em um computador central de desenvolvimento na Califórnia. Com o CVSup, usuários do FreeBSD podem facilmente manter suas próprias árvores de fontes atualizadas.

vim / usr/ share/ examples/ cvsup/ ports- supfile

cvsup - g - L 2 ports- supfile

* Atualizando stable- supfile

vim / usr/ share/ examples/ cvsup/ stable- supfile

cvsup - g - L 2 stable- supfile

Page 5: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

*default host= cvsup.fr.FreeBSD.org*default base= / var/ db*default prefix= / usr*default release= cvs tag= .*default delete use- rel- suff ix*default compressports- basePorts- archiversPorts- develPorts- dnsPorts- graphicsPorts- netPorts- net- mgmtPorts- printPorts- securityPorts- shellsports- www

Page 6: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

*default host= cvsup.fr.FreeBSD.org*default base= / var/ db*default prefix= / usr*default release= cvs tag= .*default delete use- rel- suff ix*default compressports- all

Page 7: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Preparando Kernel BSD

cd / usr/ src/ sys/ i386/ conf/

cp GENERIC SUA- MAQUINA

vim SUA- MAQUINA

Page 8: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

machine i386#cpu I486_CPU#cpu I586_CPUcpu I686_CPUident SUA- MAQUINA

device pfdevice pf logdevice pfsync

device vlan

Page 9: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

#Squid Optionsopt ions SYSVMSGoptions MSGMNB= 16384opt ions MSGMNI= 41opt ions MSGSEG= 2049opt ions MSGSSZ= 64opt ions MSGTQL= 512opt ions SHMSEG= 16opt ions SHMMNI= 32opt ions SHMMAX= 2097152opt ions SHMALL= 3096

Page 10: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Compilando:#cd / usr/ src/ ; make buildwofxpd && make buildkernel

KERNCONF= SUA- MAQUINA && make installkernel KERNCONF= SUA-MAQUINA

Simplif icado:#config SUA- MAQUINA#cd ../ compile/ SUA- MAQUINA ; make cleandepend ; make depend;

make ; make install

Page 11: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Intalação de Pacotes via "Ports Tree�

#cd / usr/ ports/ www/ squid ; make install clean

Marque a opção:

[X] SQUID_PF Enable transparent proxying with PF

Page 12: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Configurando Squid � Diferenças?

Serie 2.5.X

httpd_accel_host virtual

ht tpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

Serie 2.6.X

http_port 3128 transparent

Page 13: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

defaultrouter= "192.168.0.1"

gateway_enable= "YES"

hostname= "joaocep.neoinformatica.com.br"

ifconfig_fxp0= "inet 192.168.0.2 netmask 255.255.255.0"

ifconfig_fxp1= "inet 10.1.1.1 netmask 255.255.255.0"

cloned_interfaces= "vlan20 vlan30 vlan40 "

Page 14: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

network_interfaces= "lo0 fxp0 fxp1 pfsync0 vlan20 vlan30 vlan40 "

ifconfig_vlan20= "inet 10.2.1.1 netmask 255.255.255.0 vlan 20 vlandev fxp1"

ifconfig_vlan30= "inet 10.3.1.1 netmask 255.255.255.0 vlan 30 vlandev fxp1"

ifconfig_vlan40= "inet 10.4.1.1 netmask 255.255.255.0 vlan 40 vlandev fxp1"

ifconfig_vlan50= "inet 10.5.1.1 netmask 255.255.255.0 vlan 50 vlandev fxp1"

Page 15: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

sshd_enable= "YES"

squid_enable= "YES"

pf_enable= "YES"

pf_rules= "/ etc/ pf.conf"

pf_flags= ""

pf log_enable= "YES"

pf log_logfile= "/ var/ log/ pflog"

pf log_flags= ""

Page 16: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

#Configuraçoes do PF# Fazendo o NATnat on fxp0 from any to any - > (fxp0)nat on fxp1 from any to any - > (fxp0)nat on vlan20 from any to any - > (fxp0)nat on vlan30 from any to any - > (fxp0)nat on vlan40 from any to any - > (fxp0)

#Redirecionando portasrdr on vlan20 proto tcp from any to any port www - > 192.168.0.1 port 3128rdr on vlan20 proto tcp from any to any port www - > 192.168.0.2 port 53rdr on vlan30 proto tcp from any to any port www - > 192.168.0.1 port 3128rdr on vlan30 proto tcp from any to any port www - > 192.168.0.2 port 53rdr on vlan40 proto tcp from any to any port www - > 192.168.0.1 port 3128rdr on vlan40 proto tcp from any to any port www - > 192.168.0.2 port 53

Page 17: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Configuracoes DHCP

cd / usr/ ports/ net/ isc- dhcp3- server

make install clean

#dentro do rc.conf

dhcpd_ifaces= "fxp0 vlan20 vlan30 vlan40 vlan50"

dhcpd_enable= "YES"

(* demais opçoes)

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Page 18: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

#dentro do arquivo / usr/ local/ etc/ dhcpd.conf

subnet 10.2.1.0 netmask 255.255.255.0 {

opt ion routers 10.2.1.1;

opt ion subnet- mask 255.255.255.0;

opt ion domain- name "SUA- EMPRESA.com.br";

opt ion domain- name- servers IP- SEU- DNS;

opt ion netbios- name- servers IP- SEU- DNS;

opt ion broadcast- address 10.2.1.255;

range dynamic- bootp 10.2.1.20 10.2.1.254;

}

(* Copiando para cada subnet de dhcp)

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Page 19: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Configuraçoes de Clientes

Necessariamente o gateway devera ser o proxy

Exemplo VLAN20

address 10.2.1.100

Netmask 255.255.255.0

Gateway 10.2.1.1

DNS 10.2.1.1

Page 20: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Configurando Switch

Modelo Enterasys E1

#set vlan 20 create

#set vlan name 20 "2andar"

#set vlan egress 20 fe.0.2

#set vlan egress 20 fe.0.12,fe.0.17 untagged

#set port vlan fe.0.2,fe.0.12,fe.0.17 20

#router

#configure terminal

#Interface vlan 20

#set ip address 10.2.0.1 255.255.0.0

#no shutdown

#ex it

Page 21: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

• Adereços e Perfumarias

• Usando Ports (sempre)

• Sarg

cd / usr/ ports/ www/ sarg && make install clean

Apenas cuidar onde f ica o arquivo de log

/ var/ log/ squid/ access.log

Page 22: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

SquidGuard

cd / usr/ ports/ www/ squidguard && make install clean

Alteração no squid

redirect_program / usr/ local/ bin/ squidGuard - c / usr/ local/ etc/ squid/ squidGuard.conf

#squidGuard.conf

source SUA- EMPRESA {

Ip 10.2.1.0/ 24 10.3.1.0/ 24 10.4.1.0/ 24 127.0.0.1/ 32

}

acl {

default { pass !gambling !warez !proxy !porn !hacking !audio- video !ads !drugs !violence !labin all

redirect 302:http:/ / www.SEU- SITE.com.br }

}

Page 23: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

Prós e Contras ???

Redução de broadcast e � lixo de rede�

Segurança

Ifvlan e carp = NÃO!

Ifvlan e ifconfig_fxp0_alias0 = NÃO!

Ifvlan e regras de pf = SIM!

Ifvlan e regras de ipfw = SIM!

Page 24: 53-Squid 2 6 Transparente Com Uso de Vlans No Freebsd

Squid 2.6 Transp. com uso de Vlans no FreeBSD.

PERGUNTAS ?

Mais sobre a empresa:

www.neoinformatica.com.br

[email protected]

Fone: 51 3462 4502