Trafic de monodiffusion entre les hôtes d'un commutateur quittant le commutateur par sa liaison montante. Pourquoi?

3

Il se passe quelque chose de bizarre sur notre réseau dans mon bureau et je n'arrive pas à comprendre. En particulier, je ne peux pas dire s'il s'agit d'un problème de commutateur ou de configuration.

Nous avons un commutateur Cisco SG300-52 (sw01) dans la partie supérieure d’un rack de notre salle des serveurs, connecté à un autre SG300-28 qui fait office de commutateur principal (core01). Tous les deux n’exécutent que la couche 2, nos pare-feu assurent le routage entre les VLAN. Ils ont une douzaine de VLAN entre eux. Gi1 sur sw01 est un port réseau connecté à gi1 sur core01.

(Divulgation: il existe d’autres commutateurs dans notre environnement, mais je suis presque sûr que j’ai isolé le problème en deux. Heureux de fournir plus d’informations si nécessaire.)

Le comportement que je constate est limité à un seul VLAN, vlan 12 - ou, du moins, il ne se produit pas sur les autres que j'ai vérifiés (il est difficile de garantir l'absence de paquets), et il en est ainsi: sw01 transfère, core01, trafic entre deux hôtes connectés à sw01 . (J'ai remarqué cela parce que l'IDS dans notre pare-feu a donné un faux positif sur le trafic qui ne devrait pas atteindre le pare-feu.)

Nous l’avons surtout remarqué entre nos deux serveurs DHCP / DNS, net01 (10.12.0.10) et net02 (10.12.0.11). net01 est un matériel physique et net02 se trouve sur un serveur VMware ESX. net01 est connecté à gi44 sur sw01 et le serveur ESX de net02 à gi11.

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

Voyons quelques interfaces! Rappelez-vous, vlan 12 est le problème vlan. Parmi les autres, j'ai explicitement vérifié que vlan 27 n'était pas affecté.

Voici les ports des deux hôtes: esx01 contient 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
!

Voici le coffre sur 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
!

Et l'autre extrémité du coffre sur core01.

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

J'ai un port de moniteur sur core01, ainsi:

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

Et le port de moniteur sur core01 voit le trafic unicast aller entre net01 et net02, qui sont tous deux sur sw01! J'ai vérifié cela avec un port de moniteur sur sw01 qui voit le trafic de monodiffusion net01-net02 partir également via gi1.

sw01 sait que ces deux hôtes sont sur des ports qui ne sont pas son port principal:

:) 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   

J'ai aussi élevé un port inutilisé sur SW01 sur vlan 12, mais le trafic était unicast (mieux que je puisse dire) ne sortant que le port. Donc, il ne semble pas que sw01 déploie tous ses ports, juste les bons ports et gi1 !

J'ai vérifié que sw01 ne remplit pas sa table d'adresses:

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

Les configurations complètes pour core01 et sw01 sont disponibles: core01 , sw01 .

Enfin, les versions:

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

Donc, voici ce que je comprends : sw01 devrait prendre le trafic en monodiffusion pour net01 et l’envoyer uniquement par le port de net02, et inversement; rien de tout cela ne devrait sortir de la liaison montante de sw01. Mais core01, recevoir du trafic sur gi1 pour un hôte dont il sait qu’il est sur gi1, a raison de l’envoyer vers tous ses ports. (C’est-à-dire que sw01 se comporte mal, mais core01 fait ce qu’il devrait faire compte tenu des circonstances.)

Ma question est la suivante: pourquoi sw01 envoie-t-il ce trafic de monodiffusion sur sa liaison montante, gi1?

(Et à titre préventif: oui, je sais que les SG300 laissent beaucoup à désirer, et oui, nous devrions avoir le spanning-tree activé, mais c'est là où je suis en ce moment.)

Rich Lafferty
la source
Avez-vous pris des captures de paquets sur le port du moniteur? Ou sur les serveurs? C’est un problème étrange et la seule chose à laquelle je peux penser pour l’expliquer: les commutateurs de mode d’inondation s’ouvrent lorsque les tables mac se remplissent, mais comme vous l’avez mentionné, elles sont loin d’être complètes. À quoi ressemble l'utilisation du processeur? Pouvez-vous publier un fichier .pcap à partir du port de moniteur du trafic en question? Est-ce que seul le trafic DNS et DHCP est visible sur la liaison montante?
GerryEgan
Utilisez-vous NLB ou clustering avec basculement?
Mathieu Chateau le

Réponses:

0

Je voudrais jeter un oeil sur les adresses mac dans les paquets capturés. Si le masque, la table arp ou la passerelle de l'un des hôtes est incorrect, il se peut que vous définissiez une adresse MAC de destination incorrecte.

James Robinson
la source