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