Routage statique sur un switch WS-C2960 ?

data_sheet_c78-530976-1Prenez un switch classique Cisco … par exemple un WS-C2960-24TT-L, un des modèles les plus fréquents, fournissez lui un IOS récent, saupoudrez le tout de quelques commandes dénichées dans un recoin de documentation indigeste … et vous obtenez un merveilleux switch capable de faire du routage basique …

Vous ne me croyez pas ? … Lisez la suite!

Quelques infos concernant le switch utilisé …

2960-2#show version
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(58)SE2, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2011 by Cisco Systems, Inc.
Compiled Thu 21-Jul-11 02:13 by prod_rel_team

ROM: Bootstrap program is C2960 boot loader
BOOTLDR: C2960 Boot Loader (C2960-HBOOT-M) Version 12.2(44)SE5, RELEASE SOFTWARE (fc1)

... bla bla bla ...

cisco WS-C2960-24TT-L (PowerPC405) processor (revision C0) with 65536K bytes of memory.
Processor board ID FOC1121Z5XR
Last reset from power-on
1 Virtual Ethernet interface
24 FastEthernet interfaces
2 Gigabit Ethernet interfaces
The password-recovery mechanism is enabled.

... bla bla bla ...

Il s’agit donc bien d’un switch classique muni d’un IOS récent (certes pas le plus récent) en version LanBaseK9.

En route vers la mutation…

Commençons par vérifier si les commandes relatives au routage statique etc existent …

2960-2#show ip route
                ^
% Invalid input detected at '^' marker.

2960-2#

Ca commence mal, … normal après tout, nous disposons d’un switch pas d’un routeur! Toutefois, ce n’est pas une fatalité. Après tout, pourquoi un switch multi-layer serait-il si différent d’un simple switch L2 ? Puisque dans leur configuration par défaut ils font exactement le même job ?

Il est possible de manipuler l’attribution des ressources du switch pour activer telle ou telle fonctionnalité, il s’agit du Switching Database Manager, aussi appelé SDM (à ne pas confondre avec le désuet Security Device Manager qui était l’ancienne mouture de l’interface graphique qui permettait de configurer certaines fonctionnalités des routeurs).

Voyons de quoi il retourne …

2960-2(config)#sdm prefer ?
  default             Default bias
  dual-ipv4-and-ipv6  Support both IPv4 and IPv6
  lanbase-routing     Lanbase routing
  qos                 QoS bias

La commande « sdm prefer » permet justement de manipuler l’allocation des ressources du switch et nous propose différents profils:

  • default : fonctionnement du switch en pur L2 et IPv4
  • dual-ipv4-and-ipv6 : fonctionnalités IPv6 de bases (IPv6 sur les interfaces VLAN par exemple, ICMPv6, etc)
  • lanbase-routing : routage statique … c’est ce que nous cherchions
  • qos : fonctionnalités avancées de QoS (Quality of Service)

Il faut toute fois bien comprendre que les ressources qu’un switch attribue à une fonctionnalité, il ne les a plus pour autre chose.

Activation du profil lanbase-routing…

2960-2(config)#sdm prefer lanbase-routing
Changes to the running SDM preferences have been stored, but cannot take effect
until the next reload.
Use 'show sdm prefer' to see what SDM preference is currently active.
2960-2(config)#

Il suffit maintenant de redémarrer le switch pour que cela prenne effet.

2960-2#reload

System configuration has been modified. Save? [yes/no]: n
Proceed with reload? [confirm]

Vous noterez que je n’ai même pas pris la peine de sauvegarder la config. Ce n’est pas la peine. Le profil SDM n’est visiblement pas stocké comme le reste de la startup-config.

Vérification du profil SDM après redémarrage

2960-2#show sdm prefer
 The current template is "lanbase-routing" template.
 The selected template optimizes the resources in
 the switch to support this level of features for
 8 routed interfaces and 255 VLANs.

  number of unicast mac addresses:                  4K
  number of IPv4 IGMP groups + multicast routes:    0.25K
  number of IPv4 unicast routes:                    4.25K
    number of directly-connected IPv4 hosts:        4K
    number of indirect IPv4 routes:                 0.25K
  number of IPv4 policy based routing aces:         0
  number of IPv4/MAC qos aces:                      0.125k
  number of IPv4/MAC security aces:                 0.375k

2960-2#

Le profil lanbase-routing est bien actif, on peut même voir que le switch supportera jusqu’à 8 interfaces virtuelles routées (interfaces VLAN ou SVI) et jusqu’à 255 vlans.

Ce n’est pas énorme, mais dans le cadre d’un switch d’accès, pouvoir déjà router entre 8 vlans, ce n’est pas négligeable.

Configuration de quelques fonctionnalités de routage…

Commençons par activer le routage (comme pour un multilayer en fait).

2960-2(config)#ip routing

Nous pouvons maintenant configurer quelques vlans et interfaces pour les router…

2960-2(config)#vlan 10
2960-2(config-vlan)#vlan 20
2960-2(config-vlan)#vlan 30
2960-2(config-vlan)#exit
2960-2(config)#interface vlan 10
2960-2(config-if)#ip address 10.0.10.1 255.255.255.0
2960-2(config-if)#no shutdown
2960-2(config-if)#int vlan 20
2960-2(config-if)#ip address 10.0.20.1 255.255.255.0
2960-2(config-if)#no shutdown
2960-2(config-if)#int vlan 30
2960-2(config-if)#ip address 10.0.30.1 255.255.255.0
2960-2(config-if)#no shutdown
2960-2(config-if)#exit
2960-2(config)#ip route 0.0.0.0 0.0.0.0 10.0.10.254
2960-2(config)#

J’ai également rajouté une route par défaut, histoire de démontrer les fonctionnalités de routage statique.

Vérifications…

2960-1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
Vlan1                  unassigned      YES manual up                    up
Vlan10                 10.0.10.1       YES manual up                    up
Vlan20                 10.0.20.1       YES manual up                    up
Vlan30                 10.0.30.1       YES manual up                    up
... bla bla bla ...

Les interfaces SVI sont bien up/up et configurées (notez qu’il faut au moins une interface active dans un vlan pour que sont interface SVI correspondant soit up/up, si ce n’est pas le cas, elle passera up/down et n’apparaîtra plus dans la table de routage).

2960-1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is 10.0.10.254 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 10.0.10.254
      10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
C        10.0.10.0/24 is directly connected, Vlan10
L        10.0.10.1/32 is directly connected, Vlan10
C        10.0.20.0/24 is directly connected, Vlan20
L        10.0.20.1/32 is directly connected, Vlan20
C        10.0.30.0/24 is directly connected, Vlan30
L        10.0.30.1/32 is directly connected, Vlan30
2960-1#

Et voilà la table de routage … du switch … (quelque peu capilo-tracté me direz-vous ?)

Remarque

La disponibilité de ces fonctions spéciales dépendant du profil SDM varie en fonction de la plateforme mais aussi de l’IOS. Il existe même une version de C2960, la série XR si je ne me trompe pas qui dispose de fonctionnalités de routage dynamique (OSPF, RIP, BGP…).

Imaginez un réseau domestique (un gros alors 😉 ), voire même un réseau pour une petite PME, un équipement du provider type Box, un switch c2960 et vous pouvez vous amuser … Vlans, routage inter-vlan, access-lists, serveur DHCP … tout ça sur le switch … vous gardez alors la Box pour ce qui manque … le NAT par exemple.

10 Comments on “Routage statique sur un switch WS-C2960 ?

  1. Bonjour, super article encore une fois.

    Par contre, est-ce moi ou lorsque vous créez vos Vlan, vous mettez la même adresse IP pour le vlan 20 et le vlan 30 ?
    -> 2960-2(config-if)#int vlan 20
    2960-2(config-if)#ip address 10.0.20.1 255.255.255.0
    2960-2(config-if)#no shutdown
    2960-2(config-if)#int vlan 30
    2960-2(config-if)#ip address 10.0.20.1 255.255.255.0
    2960-2(config-if)#no shutdown

    Par contre, les adresses sont correctes pour la suite du tuto (10.0.30.1 pour le vlan30).

    A bientôt !

  2. Excellent! Quelques economies sur le budget materiel, non negligeable en ces temps de crise… A partir de quel ios on accède à ces fonctionilités?

      • Super tuto. Cependant si une BOX d’un FAI est branchée sur fa0/1 du c2960, quelle route par défaut faut-il « insérer »? 0.0.0.0 0.0.0.0 ipboxfai?

        Merci d’avance…

        • En effet, c’est déjà une première chose. Mais il faut aussi que la Box ait une route vers le réseau du vlan et que le NAT de la box autorise ces adresses à passer.

          • Merci pour la réponse. Je suppose que des BOX de type VOO ou PROXIMUS vont gérer les routes vers le réseau du vlan et le NAT automatiquement?

          • Malhreureusement pour les routes c’est sur que non, il faut, quand c’est possible, y configurer une ou plusieurs routes statiques.
            Pour le Nat, là par contre ça dépend très fort d’un modèle à l’autre.