IMA3/IMA4 2019/2021 P2

De Wiki de Projets IMA

Introduction

Le réseau RENATER n'est pas adapté à l'enseignement : trop de restrictions par les différents administrateurs réseau. Il est par exemple très compliqué de faire installer des serveurs (DNS, SMTP, Web, etc) aux élèves.

La plateforme mathématiques et informatique s'est donc dotée de lignes spécifiques à l'enseignement. Ces lignes commencent à dater et utilisent la technologie cuivre / ADSL. La migration vers la fibre est en cours.

En attendant, il faut maintenir les lignes ADSL. Les opérateurs, bien que continuant à présenter des factures, ne sont plus en mesure de remplacer les modems / routeurs initialement fournis. Le sujet de ce projet consiste à basculer sur du matériel réseau de la plateforme pour gérer les liaisons ADSL. Le coût doit rester minimal vu qu'il s'agit d'une solution temporaire.

Les deux lignes ADSL sont des lignes France Télécom conservées lors de la privatisation de l'institution sous le nom commercial "orange". La première ligne a même été négociée avec Oléane au début des années 2000 pour permettre aux élèves logés dans la résidence crous Eiffel d'avoir un accès Internet. Une dizaine d'année plus tard la direction de l'école a accédé aux sollicitations du crous pour confier l'accès Internet à un opérateur privé. Nostalgie à part la dénomination officielle des deux lignes est :

  • ADSL business internet office (vendue pour un débit 18Mb/s descendant et 80Kb/s montant) ;
  • ADSL internet pro solo (accès classique comme pour les particuliers).

Les deux modems / routeurs de ces lignes ont cessé de fonctionner (en 2018 pour la première ligne et en 2020 pour la seconde ligne).

Première approche Cisco C1700

Cisco 1721

Un premier test a été effectué avec un routeur Cisco 1721. Avec une mémoire flash de 32Mo et une mémoire vive de 64Mo, il est possible de le faire tourner sous un IOS 12.4.

Carte ADSL

Le 1721 peut prendre deux cartes WIC classiques, dont en particulier la carte WIC-1ADSL=. Ces cartes peuvent se trouver d'occasion autour de 4 euros.

La configuration de l'interface ATM de la carte ADSL est simple :

interface ATM0                                                                  
 no ip address                                                                  
 no atm ilmi-keepalive                                                          
 dsl operating-mode auto                                                        
 pvc 8/35                                                                       
  pppoe-client dial-pool-number 1                                               
 !                                                                              
!

A noter que les caractéristiques (ici 8/35) du circuit vers le fournisseur d'accès dépendent totalement du dit fournisseur. Les identifiants pour l'accès au fournisseur sont déclarés dans une interface virtuelle Dialer qui se charge du protocole PPPoE (Point-to-Point Protocol over Ethernet). Le numéro du dial pool doit être le même dans la référence de l'interface ATM et dans la configuration de l'interface Dialer (ici le numéro est 1).

interface Dialer1                                                               
 mtu 1492                                                                       
 ip address negotiated                                                          
 ip virtual-reassembly                                                          
 encapsulation ppp                                                              
 dialer pool 1                                                                  
 dialer idle-timeout 0                                                          
 dialer persistent                                                              
 ppp chap hostname IDENTIFIANT                                                  
 ppp chap password 0 MOTDEPASSE                                                  
!    

Bien entendu il faut remplacer les mot IDENTIFIANT et MOTDEPASSE avec l'identification fournie par votre fournisseur d'accès. A noter que la récupération de ces identifiants n'est pas toujours évidente. Pour l'ADSL Pro d'orange une demande a été suivie par un courriel contenant l'identifiant le lendemain mais pour l'accès ADSL BIO il a été nécessaire de fournir un document d'autorisation de divulgation par un responsable de l'établissement.

La configuration mtu 1492 n'est pas optionnelle sans elle le passage par l'interface ATM casse la découverte du MTU maximal d'une façon ou d'une autre. Pour les liaisons peu stables, comme les notres, la directive dialer persistent est très utile pour relancer l'identification sur la connexion.

Enfin une liaison ADSL sans mascarade n'est pas très utile vu que l'opérateur ne donne qu'une adresse IPv4 routée. Pour mettre en place la mascarade il faut ajouter la directive ip nat outside dans l'interface de sortie vers Internet (ici Dialer1) et il faut ajouter ip nat inside dans l'interface du réseau local (généralement une interface Ethernet). Enfin il faut définir la mascarade par elle-même :

access-list 1 permit 192.168.0.0 0.0.0.255  
ip nat inside source list 1 interface Dialer1 overload

Il ne reste plus qu'à ajouter la route par défaut : ip route 0.0.0.0 0.0.0.0 Dialer1.

Dans cette configuration il est supposé que le réseau IPv4 local est 192.168.0.0/24.

La solution à base de 1721 est fonctionnelle mais avec les limitations ou défauts suivant :

  • la carte WICADSL1= n'implante que ADSL version 1, dans le cas de notre liaison avec 40db d'atténuation on se retrouve avec des débit de quelques Mb/s même sur la ligne certifiée à 18Mb/s ;
  • il n'est pas possible de configurer deux WIC ADSL dans un 1721, ce bogue est répertorié sous le numéro CSCsa90021 ;
  • le 2721 est un routeur de bureau non facilement intégrable dans une baie (non fixable sur les rails, alimentation massive séparée), d'autant plus s'il en faut deux, un par liaison ADSL.

Seconde approche Cisco C2600

2621 en baie

Il est possible de récupérer les cartes ADSL WIC-1ADSL de ces routeurs pour les installer sur un Cisco 2621 un peu plus puissant. De plus ce routeur n'est pas affecté par le bogue CSCsa90021, les 2 cartes ADSL peuvent être configurées simultanément. Le 2621 dont nous disposions possédait lui aussi une mémoire flash de 32Mo et une mémoire vive de 64Mo. Du coup le 2621 peut tourner sous un IOS sensiblement identique à celui du 1721 soit un IOS 12.4.

Pas de modification notable dans la configuration des interfaces ATM, hors numérotation des interfaces et nouvelles options ATM par défaut :

interface ATM0/0
 no ip address
 atm restart timer 300     ! nouvelle option par défaut
 no atm ilmi-keepalive
 dsl operating-mode auto 
 dsl enable-training-log   ! nouvelle option par défaut
 pvc 8/35 
  pppoe-client dial-pool-number 1
 !
!

La configuration de l'interface ATM0/1 est identique mis à part le numéro du dial-pool-number. Les interfaces virtuelles Dialer se configurent de façon strictement semblable sur le 2921 par rapport au 1721.

Par contre cette fois nous avons deux interfaces de sortie par les deux lignes ADSL. Le routage et la mascarade deviennent plus compliqué à configurer.

track 1 ip route IPV4_ISP_ADSL1 255.255.255.255 reachability
track 2 ip route IPV4_ISP_ADSL2 255.255.255.255 reachability
ip route 0.0.0.0 0.0.0.0 Dialer1 track 1
ip route 0.0.0.0 0.0.0.0 Dialer2 track 2

Ce bloc ajoute les routes par défaut via les lignes disponibles à un moment donné. La disponibilité se fait par test ICMP sur les adresses IPv4 coté fournisseur d'adresse. Si deux routes par défaut sont ajoutées, l'algorithme de routage doit équilibrer le trafic sur les différentes lignes ADSL. Dans notre cas le trafic se fait principalement via un mandataire Web. L'algorithme Cisco classique original peut suffire. Cet algorithme route toutes les communications d'une adresse IPv4 donnée vers une autre adresse IPv4 donnée vers la même sortie. Si les sites web visités sont peu variés il vaut mieux passer sur l'algorithme universal qui ajoute les ports sources et destination dans les éléments de choix de la route de sortie. Cela peut se faire avec la commande

(config)# ip cef load-sharing algorithm universal

Pour la mascarade la configuration est de la forme :

access-list 1 permit 192.168.0.0 0.0.0.255  
route-map ADSL1 permit 10
 match ip address 1
 match interface Dialer1
!
route-map ADSL2 permit 10
 match ip address 1
 match interface Dialer2
!
ip nat inside source route-map ADSL1 interface Dialer1 overload
ip nat inside source route-map ADSL2 interface Dialer2 overload

Vous constatez que l'astuce consiste à passer par des route-map pour que la mascarade puisse se faire en bonne intelligence avec l'équilibrage de charge. Ne pas oublier d'ajouter les ip nat inside sur l'interface du réseau local et les ip nat outside dans les deux interfaces Dialer.

A noter : l'équilibrage n'a pas été testé avec cette configuration, les deux lignes ADSL n'ayant pas pu être opérationnelles simultanément avant l'acquisition de nouvelles cartes ADSL et le passage à un Cisco 2901.

Cette solution à base de 2621 est fonctionnelle mais toujours avec le défaut que les WIC-1ADSL= ne sont pas suffisantes pour obtenir un débit satisfaisant avec les limitations ou défauts suivant :


Troisième approche Cisco C2900

2901 en baie

A l'origine l'idée était d'installer les cartes WIC-1ADSL= dans 2 des 4 slots WIC d'un Cisco 2901. Mais les slots WIC du 2901 sont des EHWIC (Enhanced High-Speed WAN Interface Cards). Et étrangement les cartes WIC classiques (du moins les WIC-1ADSL=) ne fonctionnent pas dans ces slots ou ne sont pas prises en compte par l'IOS.

Un mal pour un bien, il faut utiliser des cartes ADSL plus récentes comme les HWIC-1ADSL-M. Ces cartes peuvent être achetées d'occassion autour de 14 euros. C'est plus cher que les WIC-1ADSL= mais cela reste tout à fait acceptable. De plus ces cartes sont compatible ADSL version 2 voire même version 2+ ce qui va nettement améliorer le débit des connexions.

Du coté de l'IOS pas de changement par rapport aux 1721 et 2621, nous sommes toujours sur un IOS classique version 12.4 (pour être précis l'image utilisée est c2900-universalk9-mz.SPA.154-1.T1.bin). Par contre la complexité de la configuration augmente du au fait que le routeur est déjà utilisé à d'autres fins. Il n'est donc pas possible de modifier la table de routage principale. Il va donc falloir utiliser le dispositif PBR (Policy-Based Routing) de Cisco. Hélas ce dispositif est bien moins abouti que la politique de routage de Linux qui permet d'utiliser de vraies tables de routages annexes et pas seulement de modifier un peu la table principale. Nous allons aussi utiliser le dispositif SLA (Service Level Agreements) dont le principe est de de suivre l'état de services Internet et qui va au delà du simple suivi d'interfaces (tracking) dont nous nous sommes servis jusque là.

Configuration ADSL

La configuration ADSL est strictement semblable à celle déjà utilisée avec les routeurs précédents.

interface ATM0/0/0
 no ip address
 no atm ilmi-keepalive
 dsl enable-training-log 
 pvc 8/35 
  pppoe-client dial-pool-number 1
 !
!
interface Dialer1
 mtu 1492
 ip address negotiated
 ip nat outside
 ip virtual-reassembly in
 encapsulation ppp
 dialer pool 1
 dialer idle-timeout 0
 dialer persistent
 ppp chap hostname IDENTIFIANT                                                  
 ppp chap password 0 MOTDEPASSE                                                  
!

Une tentative de récupérer une adresse IPv6 au niveau des interfaces Dialer n'a pas réussi. Il faut dire que je ne suis pas convaincu que le fournisseur en propose une.

Configuration SLA

La configuration de vérification de l'état des connexions :

ip sla 20
 icmp-echo IPV4_ISP_ADSL1
ip sla schedule 20 life forever start-time now
ip sla 21
 icmp-echo IPV4_ISP_ADSL2
ip sla schedule 21 life forever start-time now
track 20 ip sla 20 reachability
track 21 ip sla 21 reachability

Dans notre configuration le dispositif SLA est clairement sous-exploité.

Configuration PBR =

Sur l'interface du réseau local il est fait référence à la route-map qui implante notre politique de routage (PBR) :

interface INTERFACE
 ...
 ip nat inside
 ip virtual-reassembly in max-reassemblies 128
 ip tcp adjust-mss 1452
 ip policy route-map to_adsl
!




Du coup Test débit

104857600 bytes (105 MB, 100 MiB) copied, 94.6692 s, 1.1 MB/s
10485760 bytes (10 MB) copied, 105.162 s, 99.7 kB/s
104857600 bytes (105 MB, 100 MiB) copied, 81.571 s, 1.3 MB/s
10485760 bytes (10 MB) copied, 80.7578 s, 130 kB/s

diagnostic

show dsl interface atm 0/1/0
show int ATM
show pppoe session

Solution idéale, routeur dédié