Tráfego unicast entre hosts em um switch que deixa o switch por seu uplink. Por quê?

3

Eu tenho uma coisa estranha acontecendo em nossa rede no meu escritório, que não consigo entender. Em particular, não posso dizer se é um problema com um switch ou um problema com a configuração.

Temos um switch Cisco SG300-52 (sw01) na parte superior de um rack em nossa sala de servidores, conectado a outro SG300-28 que atua como nosso principal switch (core01). Ambos executam apenas a camada 2, nossos firewalls fazem roteamento entre VLANs. Eles têm uma dúzia de VLANs entre eles. Gi1 on sw01 é uma porta de tronco conectada ao gi1 no core01.

(Divulgação: Existem outros switches em nosso ambiente, mas tenho certeza que isolei o problema nesses dois. Feliz em fornecer mais informações, se necessário.)

O comportamento que estou vendo é limitado a uma VLAN, vlan 12 - ou, pelo menos, não está acontecendo nas outras que eu verifiquei (é difícil garantir a ausência de pacotes), e é: sw01 está encaminhando, para core01, o tráfego que está entre dois hosts, ambos conectados a sw01 . (Eu notei isso porque o IDS em nosso firewall deu um falso positivo no tráfego que não deve atingir o firewall.)

Observamos isso principalmente entre nossos dois servidores dhcp / dns, net01 (10.12.0.10) e net02 (10.12.0.11). net01 é hardware físico e net02 está em um servidor VMware ESX. O net01 está conectado ao gi44 no sw01 e ao servidor ESX do net02 ao gi11.

[net01]----gi44-[sw01]-gi1----gi1-[core01]
[net02]----gi11/

Vamos ver algumas interfaces! Lembre-se, a vlan 12 é a vlan do problema. Dos outros, eu verifiquei explicitamente que a vlan 27 não era afetada.

Aqui estão as duas portas dos hosts: esx01 contém net02.

sw01#sh run int gi11
interface gigabitethernet11
 description esx01
 lldp med disable
 switchport trunk allowed vlan add 5-7,11-13,100
 switchport trunk native vlan 27
!
sw01#sh run int gi44
interface gigabitethernet44
 description net01-1
 lldp med disable
 switchport mode access
 switchport access vlan 12
!

Aqui está o tronco no sw01.

sw01#sh run int gi1 
interface gigabitethernet1
 description "trunk to core01"
 lldp med disable
 switchport trunk allowed vlan add 4-7,11-13,27,100
!

E a outra extremidade do tronco no core01.

interface gigabitethernet1
 description sw01
 macro description switch
 switchport trunk allowed vlan add 2-7,11-16,27,100
!

Eu tenho uma porta de monitor no core01, assim:

core01#sh run int gi12
 interface gigabitethernet12
 description "monitor port"
 port monitor GigabitEthernet 1
!

E a porta do monitor no core01 vê o tráfego em unicast entre net01 e net02, ambos no sw01! Eu verifiquei isso com uma porta de monitor no sw01 que vê o tráfego unicast net01-net02 saindo via gi1 também.

sw01 sabe que ambos os hosts estão em portas que não são sua porta de tronco:

:) ratchet$ arp -a | grep net
net02.2ndsiteinc.com (10.12.0.11) at 00:0C:29:1A:66:15 [ether] on eth0
net01.2ndsiteinc.com (10.12.0.10) at 00:11:43:D8:9F:94 [ether] on eth0

sw01#sh mac addr addr 00:0C:29:1A:66:15
Aging time is 300 sec

  Vlan        Mac Address         Port       Type    
-------- --------------------- ---------- ---------- 
   12      00:0c:29:1a:66:15      gi11     dynamic   

sw01#sh mac addr addr 00:11:43:D8:9F:94
Aging time is 300 sec

  Vlan        Mac Address         Port       Type    
-------- --------------------- ---------- ---------- 
   12      00:11:43:d8:9f:94      gi44     dynamic   

Eu também trouxe uma porta não utilizada no sw01 na vlan 12, mas o tráfego unicast era (o melhor que eu poderia dizer) não saindo dessa porta. Então, não parece que o sw01 está empurrando para fora todas as suas portas, apenas as portas certas e também gi1 !

Eu verifiquei que o sw01 não está preenchendo sua tabela de endereços:

sw01#sh mac addr count
This may take some time.
Capacity : 8192 
Free     : 7983 
Used     : 208 

As configurações completas para core01 e sw01 estão disponíveis: core01 , sw01 .

Finalmente, versões:

sw01#sh ver
SW version    1.1.2.0 ( date  12-Nov-2011 time  23:34:26 )
Boot version    1.0.0.4 ( date  08-Apr-2010 time  16:37:57 )
HW version    V01

core01#sh ver
SW version    1.1.2.0 ( date  12-Nov-2011 time  23:34:26 )
Boot version    1.1.0.6 ( date  11-May-2011 time  18:31:00 )
HW version    V01

Então, meu entendimento é o seguinte: sw01 deve usar o tráfego unicast para net01 e enviá-lo apenas pela porta net02 e vice-versa; nada disso deve sair do uplink do sw01. Mas o core01, recebendo tráfego no gi1 para um host que ele conhece é no gi1, está certo em enviar todas as suas portas. (Ou seja: sw01 está se comportando mal, mas core01 está fazendo o que deveria, dadas as circunstâncias.)

Minha pergunta é: Por que o sw01 está enviando esse tráfego de unicast para seu uplink, gi1?

(E preventivamente: sim, eu sei que os SG300s deixam muito a desejar, e sim, nós devemos ter spanning tree ativado, mas é aí que eu estou agora).

    
por Rich Lafferty 25.06.2013 / 03:29

1 resposta

0

Eu daria uma olhada nos endereços mac nos pacotes capturados. Se a máscara, arp table ou gateway em um dos hosts estiverem errados, pode estar configurando o endereço MAC de destino errado.

    
por 27.09.2013 / 05:48