[FUGSPBR] [<<CTM>>] - Mudando a rede de IPs reais para reservados. (Caso completo e detalhado)
Cristian Thiago Moecke
moecke em lmp.ufsc.br
Ter Jul 2 15:05:10 BRT 2002
Juntando vários emails que recebi de diversas perguntas que fiz,
apreseno o seguinte projeto para que vocês analizem e mandem suas
opiniões. Algumas duvidas estão no final do texto.
Situação atual:
Tenho uma rede de computadores Win NT e um servidor FreeBSD que é o
DNS, o servidor de emails e o servidor de homepages (p/ rede interna e
externa). Chamarei a rede de windows NT de MINHAREDE e o FreeBSD de
FREEBSD_1 a partir de agora. Todos os computadores da MINHAREDE e também
o FREEBSD_1 estão ligados em 3 Swiths ligados entre si. No primeiro
Swith está ligado um roteador, que fornece acesso para todos os
computadores. Este roteador tem um ip verdadeiro (A.B.C.D.254) que é
configurado como gateway em todos os computadores da rede.
Além disso, existe uma rede, que chamarei de REDE_2, que não é
administrada por mim. Ela apenas usa o mesmo roteador de internet, e
está ligada em hub que por sua vez está ligado a um dos meus swiths, e
desta forma utiliza a internet. O Servidor DNS desta rede também é o
FREEBSD_1 e apesar da rede não ser minha, ela usa a mesma classe de ips
verdadeiros (A.B.C.X) da minha rede.
Vou tentar esquematizar para ficar mais claro:
(A.B.C.1)
[FREEBSD_1]
/\
||
\/ (A.B.C.X)
[ROTEADOR] <==> [SWITCH123] <==> MINHAREDE
(A.B.C.D.254) /\
||
\/
[REDE_2] <==> [HUB]
(A.B.C.X)
O problema é o seguinte: Quero isolar a REDE_2 da MINHAREDE. Além
disso quero limitar a banda da REDE_2. Mas eles tem que poder continuar
usando alguns serviços de um Servidor Linux q eles tem (servidor de
homepages, de email, tomcat (não sei o que é isso, alguem sabe?), ssh e
etc...) e ter acesso a internet. Aproveitando o embalo, quero bloquear
algumas coisas na MINHAREDE: Por ex, bloquear acesso a alguns sites e
bloquear acesso ao IRC, mas essa ultima parte pode ficar pra mais tarde.
Baseado no que aprendi durante um bom tempo de pesquisa, cheguei ao
seguinte projeto, que vai utilizar um FreeBSD que tenho sobrando aqui
(que chamarei agora de FREEBSD_2), que é um Pentium 200 Mhz no qual vou
tentar disponibilizar mais espaço em disco (atualmente tem 4Gb) e mais
memória RAM (atualmente tem só 16Mb, precisaria uns 128 ou 256Mb). Ele
vai ser gateway, firewall, limitador de banda, servidor squid e vai
fazer NAT
A MINHAREDE e a REDE_2 passariam a ter ips reservados (192.168.0.0 e
192.168.1.0 respectivamente). Cada uma seria ligada a uma placa no
FREEBSD_2 e o FREEBSD_2 seria colocado separando as redes, bloqueando
acessos a certos sites e a irc, limitando a banda da REDE_2 e fechando
algumas portas.
O FREEBSD_1 fica com o ip verdadeiro e continua sendo servidor DNS,
de emails e de httpd. O FREEBSD_2 ganha um ip verdadeiro A.B.C.2 pra
placa fxp0 e os ips 192.168.0.1 e 192.168.1.1 para as placas fxp1 e fxp2
ESQUEMA DA ESTRUTURA FISICA DA REDE (PLANEJADO)
(A.B.C.1)
[FREEBSD_1] [SWITCH] <==> [MINHAREDE] (192.168.0.0/24)
/\ /\
|| || fxp1
\/ fxp0 \/
[HUB1] <==> [FREEBSD_2]
/\ /\
|| || fxp2
\/ \/
[ROTEADOR] [HUB2] <==> [REDE_2] (192.168.1.0/24)
(A.B.C.254)
Configurações do FREEBSD_2:
#INICIO DO /ETC/RC.CONF
hostname="freebsd2.meudominio.br"
defaultrouter="A.B.C.254"
ifconfig_fxp0="inet A.B.C.2 netmask 255.255.255.0"
ifconfig_fxp1="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_fxp2="inet 192.168.1.1 netmask 255.255.255.0"
network_interfaces="fxp0 fxp1 fxp2 lo0"
gateway_enable="YES"
firewall_enable="YES"
#ARQUIVO DE REGRAS DE FIREWALL:
firewall_type="/usr/local/etc/regrasdefirewall"
natd_enable="YES"
natd_flags="-l -f /etc/natd.conf"
natd_interface="fxp0"
#FIM DO /ETC/RC.CONF
Regras de Firewall:
#INICIO DO /USR/LOCAL/ETC/REGRASDEFIREWALL
#Basico
add 00001 check-state
add 100 natd all from any to any via fxp0
add 110 pass all from any to any via lo0
add 120 deny log all from any to 127.0.0.0/8
add 130 deny log ip from 127.0.0.0/8 to any
add 400 deny log tcp from any to 192.168.0.0/16 frag
add 500 deny log tcp from any to 192.168.0.0/16 tcpflags syn,rst
add 600 deny log tcp from any to 192.168.0.0/16 tcpflags syn,fin
add 700 deny log all from 10.0.0.0/8 to any in via fxp0
add 800 deny log all from 172.16.0.0/12 to any in via fxp0
add 900 deny log all from 192.168.0.0/26 to any in via fxp0
add 950 allow log tcp from <host-confiavel> to me 22 in setup via fxp0
keep-sta
te
add 955 deny log tcp from any to me 22 in
#SEM COMUNICACAO ENTRE AS REDES:
add 1000 deny tcp from 192.168.0.0/24 to 192.168.1.0/24 in via fxp1
add 1100 deny tcp from 192.168.1.0/24 to 192.168.0.0/24 in via fxp2
#Tudo isto que esta colocado acima o Patrick me sugeriu em outra
ocasiao, e vou confiar
#nele que deve estar certo hehehe... As regras abaixo eu que criei, e
nao sei se estao certas...
#MINHAS REGRAS (EH ISSO Q ELES PRECISAM LIBERADO NA REDE_2)
add 1201 allow all from any to any 53 via fxp1 #DNS
add 1202 allow all from any to 192.168.1.0/24 8080 via fxp1 #TOMCAT
add 1203 allow all from any to 192.168.1.0/24 22 via fxp1 #SSH
add 1204 allow all from any to 192.168.1.0/24 25 via fxp1 #SENDMAIL
add 1205 allow all from any to 192.168.1.0/24 80 via fxp1 #HTTP
#CONTROLE DE BANDA:
add 5000 pipe 1 all from 192.168.1.0/24 to any out # UPLoad
add 5100 pipe 2 all from any to 192.168.1.0/24 in # DownLoa
pipe 1 config bw 64Kbit/s # Tunel 1 64Kbps #UPLoad
pipe 2 config bw 128Kbit/s # Tunel 2 128Kbps # Download
#FIM DO /USR/LOCAL/ETC/REGRASDEFIREWALL
Dai agora eu teria que ir em cada PC e configurar o novo gateway como
192.168.0.1 na MINHAREDE e 192.168.1.1 na REDE_2.
Agora o próximo passo é o Squid. Nunca tinha visto nada sobre o Squid
então dei uma pesquisada, entendi o que ele é e o que ele faz e gostei
da idéia. Mas isso vai ficar para outro email, visto que primeiro vou
estudar sobre squid pra depois só tirar minhas dúvidas. Mas parece ser
tranquilo de trabalhar com ele
O que eu queria saber então é se o esquema que eu fiz vai funcionar...
Se vou ter a MINHAREDE isolada da REDE_2, se ambos vão conseguir acessar
a internet, se ao linux da REDE_2 não vai ter seus serviços
comprometidos e se eu não vou ter problemas com meu servidor DNS.
Analisando o projeto, EU ACHO que vou ter problemas com os serviços do
Linux q está na REDE_2. Acho que como os ips passariam a ser reservados
e mascarados por NAT os serviços não ficaram mais acessiveis. Estou
certo? Qual é a melhor solução para contornar esse problema? (se é que o
problema existe)
Aguardo opiniões, sugestões de modificações e outros comentários.
______________________________________________
http://www2.fugspbr.org/mailman/listinfo/fugspbr
Mais detalhes sobre a lista de discussão freebsd