Maintenant que vous savez connecter un réseau privé, il vous faut lui ajouter des services comme la gestion du temps (pour que les serveurs soient tous à la même heure) ou l’octroi automatique d'adresse IP (plus simple que de le faire manuellement). Il vous faut également rendre les serveurs de vos clients accessibles depuis le net. C'est ce que je vous propose dans ce chapitre. Allez, on commence !
Allouez des adresses IP automatiquement
Si vous avez déjà loué un serveur chez un hébergeur (donc un datacenter), vous savez que c'est assez rapide. Cette rapidité n'est pas le fait d'une personne réalisant toutes les tâches à effectuer pour rendre le serveur disponible. Toutes ses tâches sont bien évidemment automatisées. Et l'une d'elles n'est autre que le service DHCP.
Lancez le service DHCP
Sur les routeurs CISCO, le protocole DHCP est un service, mais il n’est pas lancé automatiquement. Il vous faut le lancer. Alors connectez-vous et tapez la commande : service dhcp
Router1(config)# service dhcp
Votre service DHCP est maintenant lancé, il vous reste maintenant à le configurer. Vous devrez le faire pour chaque VLAN.
Configurez le service DHCP pour chaque VLAN
routeur1(config)#ip dhcp pool e-commerce routeur1(dhcp-config)#network 192.168.2.0 255.255.255.0 routeur1(dhcp-config)#default-router 192.168.2.254
Expliquons cela :
routeur1(config)#ip dhcp pool e-commerce
: vous créez ce que l’on appelle un pool DHCP, c’est-à-dire un serveur DHCP, il faut en créer un par VLAN. Là, vous lui donnez le nom d’e-commerce.routeur1(dhcp-config)#network 192.168.2.0 255.255.255.0
: cela vous permet de spécifier le réseau du service DHCP, ici 192.168.2.0/24. Il s’agit du réseau du VLAN 2 (celui du client d’e-commerce).routeur1(dhcp-config)#default-router 192.168.2.254
: vous indiquez à qui les clients DHCP (les serveurs de votre client d’e-commerce) doivent s’adresser. Ici il s’agit de l’interface du VLAN 2 créée sur le routeur.
Vérifiez la configuration
Pour vérifier la configuration, il vous suffit de vous connecter au PC et de lancer la commande :ipconfig /renew
.
Si vous obtenez l’adresse 192.168.2.1/24 c’est que vous avez réussi. Faites de même avec le second PC et vérifiez que vous obtenez l’adresse 192.168.2.2/24.
Maintenant que vos machines sont sur le même réseau (grâce au VLAN et aux adresses IP), il serait bon qu'elles soient à la même heure.
Synchronisez les horloges de vos machines
Votre client d'e-commerce a maintenant deux serveurs, car son activité ne peut être supportée par un seul. Il serait judicieux de synchroniser l’heure de ces deux serveurs.
Vous vous demandez pourquoi ? Imaginez que le data center mette en place une sauvegarde de ces serveurs planifiée à des heures bien précises pour chacun et que l'un des serveurs soit en retard d'une heure. La sauvegarde du serveur en retard ne se lancera pas à la bonne heure et démarrera peut-être en même temps qu’un autre serveur ce qui risque de poser problème...
C'est pour cela qu'on utilise un serveur de temps, appelé NTP (pour Network Time Protocol).
Vous allez configurer ce protocole sur votre routeur Cisco (qui fera office de serveur). Les clients (les serveurs d'e-commerce) recevront l'heure du routeur et seront donc tous à la même heure.
Configurez votre routeur
C’est lui qui donnera l’heure.
Tapez la commande suivante :
routeur1(config)#ntp master 1 routeur1(config)#end
Il ne vous manque plus qu’à configurer les clients (les switchs ici).
Configurez vos switchs
Connectez-vous à vos switchs et tapez les commandes suivantes :
switch1#conf t switch1(config)#ntp server 192.168.99.254 switch1(config)#exit
La commande ntp server 192.168.99.254
vous permet d’ajouter un serveur NTP, ici on a choisi l’interface de management du routeur (le VLAN 99).
switch1#sh ntp associations address ref clock st when poll reach delay offset disp *~192.168.99.254 .LOCL. 1 41 64 7 14.583 36391.0 0.966 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configure
La commande show ntp associations
vous permet de voir avec qui votre matériel est associé. Les signes * et ~ signifient que le serveur est configuré et connecté.
switch1#sh ntp associations detail 192.168.99.254 configured, ipv4, our_master, sane, valid, stratum 1 ref ID .LOCL., time DE5EFFF2.CFB68DE6 (04:24:18.811 UTC Fri Mar 23 2018) our mode client, peer mode server, our poll intvl 64, peer poll intvl 64 root delay 0.00 msec, root disp 0.64, reach 3, sync dist 3490.64 delay 17.57 msec, offset 32551.8028 msec, dispersion 63.19, jitter 3417.38 msec precision 2**13, version 4 assoc id 37545, assoc name 192.168.99.254 assoc in packets 7, assoc out packets 7, assoc error packets 0 org time 00000000.00000000 (00:00:00.000 UTC Mon Jan 1 1900) rec time DE5EFFFF.AC369ACB (04:24:31.672 UTC Fri Mar 23 2018) xmt time DE5EFFFF.AC369ACB (04:24:31.672 UTC Fri Mar 23 2018) filtdelay = 17.57 11.72 11.32 17.02 6.97 8.30 20.01 0.00 filtoffset = 32551.8 29492.0 29384.8 29234.2 29122.5 28884.5 28748.6 0.00 filterror = 0.24 1.12 1.15 1.18 1.21 1.24 1.27 16000.0 minpoll = 6, maxpoll = 10
La commande show ntp associations detail
vous permet d’en voir un peu plus sur le serveur NTP. Notamment si la connexion est sane (saine) et valide.
switch1#sh clock detail *04:37:10.048 UTC Fri Mar 23 2018 Time source is NT
La commandeshow clock detail
vous montre que la source de l’horloge est un serveur NTP.
Pour aller plus loin, vous pouvez si vous le souhaitez ajouter à votre maquette un serveur et configurer dessus le service NTP.
Sachez que sur Linux (il suffit d’installer le paquet ntp) et sur Windows, c’est en interface graphique dans les réglages de l’heure.
Vos serveurs sont à l’heure et ont une adresse privée, ce qui leur permet d’avoir accès à Internet une fois que le NAT sera configuré. Cependant, sans adresse publique, ils ne seront pas accessibles depuis l'extérieur, c'est-à-dire depuis Internet. Vous devez donc maintenant connecter votre data center à Internet.
Configurez l'accès à Internet à votre réseau
Il est important de bien comprendre cette notion car vous allez l’appliquer tout de suite.
Configurez votre WAN
Commencez par ajouter un PC au routeur comme sur le schéma. Pour notre exemple, nous le branchons directement sur le routeur, ce qui n’est pas le cas sur le terrain. En effet, pour nous approcher de la réalité, il aurait fallu brancher un autre routeur, puis le PC. C’est ce que nous ferons dans la prochaine partie, lorsque vous apprendrez à connecter des routeurs entre eux. Mais pour le moment, cette astuce vous suffira à comprendre le NAT, sur un routeur CISCO.
Ensuite, ajouter une adresse à l’interface WAN de votre routeur. Pour cela connectez-vous sur le routeur et configurez l’interface WAN du routeur comme ceci :
routeur1(config)#interface gigabitEthernet 0/0/1 routeur1(config-if)#ip address 223.0.0.1 255.255.255.0 routeur1(config-if)#no shutdown
Puis configurez le PC "Utilisateur Internet" avec l'adresse IP 223.0.0.2/24.
Ceci mérite une explication. Grâce à cette configuration, l’Utilisateur_Internet et l’interface WAN du routeur sont sur le même réseau. Vous pouvez le vérifier en faisant un PING de l’un vers l’autre. Nous simulons en fait, pour notre exemple, que l’Utilisateur_Internet et le routeur sont bien connectés à Internet. Encore une fois, dans la prochaine partie nous verrons comment cela est réellement fait (la partie publique du réseau), mais pour le moment nous étudions la partie privée du réseau.
Maintenant, pour donner accès à Internet à votre LAN, vous allez devoir configurer sur votre routeur, ce que l’on appelle une route par défaut. Vous vous souvenez que, pour les VLAN, votre routeur a créé des routes entre les VLAN (des réseaux donc) ? Eh bien, une route par défaut, c’est une route vers tous les réseaux que votre routeur ne connaît pas.
Votre routeur connaît maintenant vos VLAN et l’adresse WAN. Il sait également comment acheminer des messages entre ces réseaux. Dans le cas où un message serait envoyé vers un réseau qu’il ne connaît pas (Internet), il l’enverra vers la route par défaut. Il s’agit en fait de la passerelle du routeur1. Cette passerelle dans notre cas, c’est le PC Utilisateur_Internet. Dans la vraie vie, ce sera un autre routeur.
Votre route par défaut va donc dire au routeur : « Dans le cas où tu ne connais pas le réseau du destinataire, dirige le paquet (le message) vers ce réseau ». Ce sera ensuite au prochain routeur de savoir où envoyer le paquet. Vous comprendrez mieux tout cela lors de la prochaine partie consacrée au WAN.
Connectez-vous donc à votre routeur et tapez ces commandes :
routeur1(config)#ip route 0.0.0.0 0.0.0.0 223.0.0.2 routeur1(config)#end
La route 0.0.0.0 avec le masque 0.0.0.0 est la route par défaut. Le dernier argument est la passerelle 223.0.0.2.
Voilà votre route par défaut est créé. Vérifions cela en faisant un PING depuis un poste du LAN vers le PC Utilisateur_Internet.
Ça ne fonctionne pas ? C’est normal, le NAT n’est pas encore configuré. C’est la prochaine étape de ce cours !
Configurez le NAT
Qu’est ce que le NAT ?
Le NAT, en anglais Network Address Translation, est une fonctionnalité qui permet de partager Internet dans un réseau local, en associant une adresse IP publique à un ou plusieurs postes ou serveurs qui possèdent une adresse IP privée.
Pour configurer le NAT, vous allez devoir créer un groupe, appelé NAT_INTERNET_VLAN2, composé du réseau 192.168.2.0/24 et que vous autoriserez grâce à la commande permit
, à faire quelque chose. Ce quelque chose sera défini dans une autre commande. Vous l'appliquerez juste après à l’interface WAN du routeur (il faut répéter cette opération pour chaque VLAN que vous voulez autoriser à accéder à Internet).
routeur1(config)#ip access-list standard NAT_INTERNET_VLAN2 routeur1(config-std-nacl)#permit 192.168.2.0 0.0.0.255 routeur1(config-std-nacl)#exit
La première ligne crée la liste et lui donne un nom.
La deuxième ligne autorise le réseau 192.168.2.0/24. Le dernier argument est le " wildcard mask " il s’agit d’un masque inversé. En fait 0.0.0.255 = 255.255.255.0.
routeur1(config)#int gi0/1 routeur1(config-if)#ip nat outside routeur1(config-if)#exit Vous indiquez ici, que l’interface WAN est l’interface de sortie du NAT. routeur1(config)#int gigabitEthernet 0/0.2 routeur1(config-subif)#ip nat inside routeur1(config-if)#exit
Ensuite, vous indiquez que l’interface de votre VLAN 2 est en entrée du NAT (à répéter pour chaque VLAN).
routeur1(config)#ip nat inside source list NAT_INTERNET_VLAN2 interface GigabitEthernet0/1 overload
Cette commande applique à l’interface WAN, le groupe que vous avez créé au début. Vous autorisez donc le VLAN 2 à utiliser le NAT en sortie sur l’interface WAN.
Retentez le ping depuis un serveur du VLAN 2 vers l’Utilisateur_Internet pour vérifier que cela fonctionne bien.
Voilà, vos serveurs ont accès à Internet. Vous allez maintenant faire l’opération inverse et rendre vos serveurs accessibles depuis Internet. Ainsi, les clients pourront faire leurs achats sur le site d’e-commerce.
Rendez vos serveurs accessibles depuis Internet
En effet, ce n'est pas parce que votre serveur a accès à Internet qu’un utilisateur d'Internet a accès, lui, à votre serveur. Pour cela, il faudrait que votre serveur ait une adresse IP publique et non privée comme c'est le cas actuellement.
Par contre, si vous mettez une adresse publique directement sur votre serveur, il ne sera plus sur le bon réseau et n'aura plus accès au routeur !
Ce type de NAT s’appelle du port forwarding. Cette technique vous permet de dire au routeur : « Si quelqu'un demande cette adresse publique, renvoie-le vers cette adresse privée ».
Dans notre exemple, nous allons rediriger tous les messages (donc le PING) à destination de l’adresse WAN du routeur vers le serveur d’e-commerce (192.168.2.1). On appelle cela « NAT one-and-one », c’est-à-dire que tous les protocoles et ports seront redirigés vers l’adresse interne.
routeur1(config)#ip nat inside source static 192.168.2.1 223.0.0.1 routeur1(config)#end
Maintenant, pour vérifier, faites une requête internet depuis l’Utilisateur_Internet vers l’adresse 223.0.0.1. Cela fonctionne et si vous éteignez le serveur d’e-commerce...la requête est timeout elle ne fonctionne plus. C’est que la redirection fonctionne bien.
Dans le cas où vous auriez à configurer un serveur qui héberge un service WEB, vous auriez redirigé uniquement le port HTTP ou HTTPS comme ceci :
routeur1(config)#ip nat inside source static tcp 192.168.2.1 80 223.0.0.1 80 routeur1(config)#end
Dans cette configuration, on spécifie le protocole et le port ; ce qui permet d’utiliser une seule adresse IP publique pour de nombreux serveurs.
Votre LAN est enfin configuré (adresses IP, horloges, accès Internet et accès depuis Internet) et prêt à être exploité par vos clients.
Dans le prochain chapitre, vous verrez comment optimiser ce LAN et pallier les pannes de switchs et de câbles.
En résumé
Vous pouvez gérer vos adresses automatiquement grâce au service DHCP.
Pour le créer, il vous faut créer un pool et l'associer à un réseau du routeur :
routeur1(config)#
ip dhcp pool nomDuPool
routeur1(dhcp-config)#
network adresse masque
routeur1(dhcp-config)#
default-router adresseDeLInterface
Un serveur NTP est un serveur qui donne l'heure à ses clients. De cette façon, les clients ont tous la même heure.
Pour le créer, vous devez entrer l'adresse du serveur NTP, il en existe sur le web :
switch1(config)#
ntp server adresseNTPServeur
Pour configurer l'accès à Internet sur votre routeur, il vous faut tout d'abord configurer une route par défaut, avec le prochain saut comme gateway.
routeur1(config)#
ip route 0.0.0.0 0.0.0.0 adresseGateway
Ensuite, vous devez configurer le NAT en commençant par un groupe :
routeur1(config)#
ip access-list standard nomDuGroupe
routeur1(config-std-nacl)#
permit adresseRéseau masqueInversé
Puis indiquez les interfaces de sortie et d'entrée du NAT :
routeur1(config)#
int interfaceDeSortie
routeur1(config-if)#
ip nat outside
routeur1(config)#
int interfaceDEntrée
routeur1(config-if)#
ip nat inside
Pour finir, vous devez appliquer la règle de groupe à l'interface de sortie du NAT :
ip nat inside source list nomDuGroupe interface GigabitEthernet0/1 overload
Pour configurer une redirection static depuis Internet, vers un serveur privé, il faut entrer la commande :
ip nat inside source static tcp adressePrivée portPrivé adressePublique portPublique