[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