Re: [GTER] Roteamento avançado: identificação de pacotes

César Augusto Santiago csantiagobr at gmail.com
Wed May 17 18:10:47 -03 2006


Rubens e "ouvintes",

Certo... já que você está disposto mesmo a colaborar, o que agradeço
imensamente, vou detalhar minha infra-estrutura para ver se facilita
seu apoio. Vamos lá.

Como disse tenho dois Links com as seguintes caratecterísticas:

 - Vou colocar as mascaras para facilitar na hora de compreender as
regras de firewall e roteamento:

=> EMBRATEL (6Mbps):

REDE_EBT: 200.241.189.128 / 255.255.255.192 (26)

Esta rede foi segmentada para a criação de uma DMZ com endereços
válidos. A DMZ está conectada a este servidor que faz o balanceamento.
REDE_DMZ_EBT: 200.241.189.160 / 255.255.255.224 (27)


=> BRASIL TELECOM (4Mbps):

REDE_BRT: 200.199.217.64 / 255.255.255.224 (27)

Esta rede também foi segmentada para a criação de uma DMZ com
endereços válidos. A DMZ está conectada a este servidor que faz o
balanceamento.

REDE_DMZ_BRT = 200.199.217.80 / 255.255.255.240 (28)

-------------------------------------------------------------

Meu Firewall (vou me referir a ele como NS2) possui 4 interfaces de
rede, sendo elas conforme segue:

.: Interfaces conectadas aos Roteadores através de Switch :.
eth0    =>  inet end.: 200.241.189.130  Bcast:200.241.189.191
Masc:255.255.255.192
eth0:0 =>  inet end.: 200.199.217.66  Bcast:200.199.217.95  Masc:255.255.255.224

.: Interfaces conectadas a DMZ através de Switch :.
eth1    =>  inet end.: 200.241.189.169  Bcast:200.241.189.191
Masc:255.255.255.224
eth1:0 =>  inet end.: 200.199.217.81  Bcast:200.199.217.95  Masc:255.255.255.240

.: Interfaces conectadas por cabo cros, cada uma a um firewall diferente. :.
eth2    =>  inet end.: 10.2.1.1  Bcast:10.2.1.255  Masc:255.255.255.0
eth3    =>  inet end.: 10.2.2.1  Bcast:10.2.2.255  Masc:255.255.255.0
*** Estes firewalls que estão conectados a estas interfaces atendem
nossa rede Administrativa e Rede Acadêmica. Eles estão tratando o
acesso na camada de Forward e cada um deles gerencia diversas redes
diferentes. Por este motivo tive que alimentar a tabela de roteamento
do servidor de balanceamento com rotas estáticas para as redes que
estão atras dos dois firewalls. Como poderá ser visto lá na frente.

.: Endereços dos meus roteadores :.
Router Embratel:  200.241.189.129/26
Router Brasil Telecom: 200.199.217.65/26

Vou colocar os valores das tabelas de roteamento e do rules:

-------------------------- TABELA MAIN  ---------------------------

[root at ns2 fwconf]# ip route show table main
200.199.217.65 dev eth0  scope link  src 200.199.217.66
200.241.189.129 dev eth0  scope link  src 200.241.189.130
200.199.217.112/29 dev eth4  proto kernel  scope link  src 200.199.217.115
200.199.217.80/28 dev eth1  proto kernel  scope link  src 200.199.217.81
200.199.217.64/27 dev eth0  proto kernel  scope link  src 200.199.217.66
200.241.189.160/27 dev eth1  proto kernel  scope link  src 200.241.189.169
200.241.189.128/26 dev eth0  proto kernel  scope link  src 200.241.189.130
10.1.12.0/24 via 10.2.1.2 dev eth2
10.1.44.0/24 via 10.2.2.2 dev eth3
10.1.13.0/24 via 10.2.1.2 dev eth2
10.1.77.0/24 via 10.2.2.2 dev eth3
10.101.1.0/24 via 10.2.1.2 dev eth2
10.1.8.0/24 via 10.2.1.2 dev eth2
10.1.41.0/24 via 10.2.1.2 dev eth2
10.2.1.0/24 dev eth2  proto kernel  scope link  src 10.2.1.1
10.1.88.0/24 via 10.2.2.2 dev eth3
10.101.3.0/24 via 10.2.1.2 dev eth2
10.2.2.0/24 dev eth3  proto kernel  scope link  src 10.2.2.1
10.101.2.0/24 via 10.2.1.2 dev eth2
10.1.11.0/24 via 10.2.1.2 dev eth2
10.1.4.0/24 via 10.2.1.2 dev eth2
10.1.5.0/24 via 10.2.1.2 dev eth2
10.1.22.0/24 via 10.2.2.2 dev eth3
10.1.55.0/24 via 10.2.2.2 dev eth3
10.1.6.0/24 via 10.2.1.2 dev eth2
10.1.33.0/24 via 10.2.2.2 dev eth3
10.1.66.0/24 via 10.2.2.2 dev eth3
10.1.99.0/24 via 10.2.2.2 dev eth3
10.102.1.0/24 via 10.2.1.2 dev eth2
10.100.1.0/24 via 10.2.1.2 dev eth2
10.1.1.0/24 via 10.2.1.2 dev eth2
10.102.3.0/24 via 10.2.1.2 dev eth2
10.100.3.0/24 via 10.2.1.2 dev eth2
10.102.2.0/24 via 10.2.1.2 dev eth2
10.100.2.0/24 via 10.2.1.2 dev eth2
10.1.2.0/23 via 10.2.2.2 dev eth3
172.16.0.0/16 via 10.2.2.2 dev eth3
169.254.0.0/16 dev eth4  scope link
192.168.0.0/16 via 10.2.1.2 dev eth2
default via 200.241.189.129 dev eth0

------------------------ TABELA PRINCIPAL --------------------------

200.241.189.130 via 200.241.189.129 dev eth0
200.199.217.112/29 dev eth4  proto kernel  scope link  src 200.199.217.115
200.199.217.80/28 dev eth1  proto kernel  scope link  src 200.199.217.81
200.199.217.64/27 dev eth0  proto kernel  scope link  src 200.199.217.66
200.241.189.160/27 dev eth1  proto kernel  scope link  src 200.241.189.169
200.241.189.128/26 dev eth0  proto kernel  scope link  src 200.241.189.130
10.1.12.0/24 via 10.2.1.2 dev eth2
10.1.44.0/24 via 10.2.2.2 dev eth3
10.1.13.0/24 via 10.2.1.2 dev eth2
10.1.77.0/24 via 10.2.2.2 dev eth3
10.101.1.0/24 via 10.2.1.2 dev eth2
10.1.8.0/24 via 10.2.1.2 dev eth2
10.1.41.0/24 via 10.2.1.2 dev eth2
10.2.1.0/24 dev eth2  proto kernel  scope link  src 10.2.1.1
10.1.88.0/24 via 10.2.2.2 dev eth3
10.101.3.0/24 via 10.2.1.2 dev eth2
10.2.2.0/24 dev eth3  proto kernel  scope link  src 10.2.2.1
10.101.2.0/24 via 10.2.1.2 dev eth2
10.1.11.0/24 via 10.2.1.2 dev eth2
10.1.4.0/24 via 10.2.1.2 dev eth2
10.1.5.0/24 via 10.2.1.2 dev eth2
10.1.22.0/24 via 10.2.2.2 dev eth3
10.1.55.0/24 via 10.2.2.2 dev eth3
10.1.6.0/24 via 10.2.1.2 dev eth2
10.1.33.0/24 via 10.2.2.2 dev eth3
10.1.66.0/24 via 10.2.2.2 dev eth3
10.1.99.0/24 via 10.2.2.2 dev eth3
10.102.1.0/24 via 10.2.1.2 dev eth2
10.100.1.0/24 via 10.2.1.2 dev eth2
10.1.1.0/24 via 10.2.1.2 dev eth2
10.102.3.0/24 via 10.2.1.2 dev eth2
10.100.3.0/24 via 10.2.1.2 dev eth2
10.102.2.0/24 via 10.2.1.2 dev eth2
10.100.2.0/24 via 10.2.1.2 dev eth2
10.1.2.0/23 via 10.2.2.2 dev eth3
172.16.0.0/16 via 10.2.2.2 dev eth3
192.168.0.0/16 via 10.2.1.2 dev eth2

-------------------------- TABELA EMBRATEL ---------------------------
[root at ns2 fwconf]# ip route show table ebt
200.241.189.129 dev eth0  scope link  src 200.241.189.130
200.241.189.128/26 dev eth0  scope link  src 200.241.189.130
127.0.0.0/8 dev lo  scope link
default via 200.241.189.129 dev eth0

-------------------------- TABELA BRASIL TELECOM ---------------------------
[root at ns2 fwconf]# ip route show table brt
200.199.217.65 dev eth0  scope link  src 200.199.217.66
200.199.217.64/27 dev eth0  scope link  src 200.199.217.66
127.0.0.0/8 dev lo  scope link
default via 200.199.217.65 dev eth0

--------------------------- TABELA LOAD -----------------------

200.241.189.129 dev eth0  scope link  src 200.241.189.130
200.199.217.65 dev eth0  scope link  src 200.199.217.66
default
        nexthop via 200.241.189.129  dev eth0 weight 1
        nexthop via 200.199.217.65  dev eth0 weight 1

---------------------------  RULES ------------------------
0:      from all lookup local
14:     from all lookup principal
16:     from 200.199.217.66 lookup brt
17:     from 200.241.189.130 lookup ebt
30:     from all fwmark 0x3 lookup load
32766:  from all lookup main
32767:  from all lookup default

########### FIREWALL ###########33

Vou colocar a regra apenas para uma das redes atras dos firewalls,
pois elas são identicas para as demais redes.

=> Tabela mangle

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
MARK       all  --  192.168.1.37         0.0.0.0/0           MARK set 0x3
MARK       all  --  0.0.0.0/0            200.241.189.160/27  MARK set 0x1
MARK       all  --  0.0.0.0/0            200.199.217.80/28   MARK set 0x2
MARK       all  --  0.0.0.0/0            0.0.0.0/0           MARK set 0x3

=> Tabela nat

---> Chain PREROUTING (policy ACCEPT)

---> Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
lab-net    all  --  172.16.0.0/16        0.0.0.0/0
MASQUERADE  tcp  --  10.2.1.2             0.0.0.0/0           tcp dpt:80
MASQUERADE  tcp  --  10.2.1.2             0.0.0.0/0           tcp dpt:53
MASQUERADE  udp  --  10.2.1.2             0.0.0.0/0           udp dpt:53
rede_adm_ci_iii-net  all  --  192.168.0.0/16       0.0.0.0/0

Chain rede_adm_ci_iii-net (1 references)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0

---> Chain FORWARD (policy DROP)
target     prot opt source               destination

rede_adm_ci_iii-dmz  all  --  192.168.0.0/16       200.199.217.80/28
rede_adm_ci_iii-dmz  all  --  192.168.0.0/16       200.241.189.160/27
dmz-rede_adm_ci_iii  all  --  200.199.217.80/28    192.168.0.0/16
dmz-rede_adm_ci_iii  all  --  200.241.189.160/27   192.168.0.0/16

rede_adm_ci_iii-net  all  --  192.168.0.0/16       0.0.0.0/0

net-dmz    all  --  0.0.0.0/0            200.241.189.160/27
net-dmz    all  --  0.0.0.0/0            200.199.217.80/28
dmz-net    all  --  200.241.189.160/27   0.0.0.0/0
dmz-net    all  --  200.199.217.80/28    0.0.0.0/0

Chain dmz-rede_adm_ci_iii (2 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain net-rede_adm_ci_iii (2 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state
RELATED,ESTABLISHED

Chain rede_adm_ci_iii-dmz (2 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain rede_adm_ci_iii-net (1 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain net-dmz (2 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            200.241.189.170     tcp dpt:80

Chain dmz-net (2 references)
target     prot opt source               destination
ACCEPT     tcp  --  200.241.189.170      0.0.0.0/0           tcp
spt:80 flags:!0x16/0x02
-----------------------------------------

Veja que o firewall simplesmente autoriza tudo. Acontece que toda
regra de segurança é realizada pelos outros 2 firewalls antes deste.
Com exceção é claro da relacão Internet<-> dmz.

Neste cenário enfrentamos o problema que coloquei, de sair pelo router
da embratel com IP da Brasil Telecom. Vou copiar aqui o resultado do
Tarcert para um site hospedado na Brasil Telecom. Estou dando este
tracert a partir do firewall anterior ao do balanceamento.

]# traceroute www.detran.ms.gov.br
traceroute to www.detran.ms.gov.br (200.181.116.5), 30 hops max, 38 byte packets
 1  10.2.1.1 (10.2.1.1)  0.133 ms  0.121 ms  0.119 ms
 2  200.241.189.129 (200.241.189.129)  43.265 ms  56.630 ms  48.878 ms
 3  embratel-S4-0-acc03.cpe.embratel.net.br (200.242.182.37)  49.425
ms  40.184 ms  44.160 ms
 4  ebt-G0-2-dist03.cpe.embratel.net.br (200.230.159.149)  39.353 ms
46.958 ms  46.553 ms
     MPLS Label=331 CoS=5 TTL=1 S=0
 5  ebt-A5-2-2-core01.spo.embratel.net.br (200.230.0.74)  52.481 ms
38.932 ms  43.322 ms
     MPLS Label=303 CoS=5 TTL=1 S=0
 6  ebt-P4-0-dist04.bsa.embratel.net.br (200.244.40.33)  46.004 ms
49.455 ms  54.115 ms
     MPLS Label=579 CoS=5 TTL=1 S=0
 7  ebt-G6-0-gacc02.bsa.embratel.net.br (200.244.165.2)  49.451 ms
49.122 ms  64.007 ms
 8  * *
 9  * * *

E assim vai.. Este endereço 200.244.165.2 é um roteador de borda.
Segundo a Embratel um GigaLAN deles coma  Brasil Telecom.

Se você ou alguém teve paciência de analisar tudo isso até aqui já
saiba que sou eternamente grato. Espero que possam me ajudar.

Abraços,

César Augusto Santiago



More information about the gter mailing list