A la suite vous allez dcouvrir comment mettre en place une ferme de serveurs NLB. Notez toutefois que seules les parties mises en place et configuration seront prsentes. Pour ce tuto, jutiliserai 3 serveurs membres du mme domaine : SRV-AD: serveur Active Directory et DNS (installation non dtaille) SRV-WEB01 (configuration dtaille) SRV-WEB02 (configuration dtaille)
A titre dinformation, le tableau ci-dessous compare les diffrentes solutions existantes permettant de fournir une solution de rpartition de charge :
Round Robin (DNS) Matriel (NAT) Dispatch NLB Facilit d'installation Oui Oui Oui Matriel ncessaire Serveur(s) DNS Routeur NAT/PAT Min. 2 serveurs Point de cassure unique Oui Oui Oui Non Monte en charge facilite Oui Limite Limite Oui Haute performance Oui Limite Limite Oui Tolrance de panne Non Limite Limite Oui
4
1. Prsentation
Le NLB (Network Load Balancing) est une fonctionnalit propre Windows Server. Elle permet de disposer dune ferme de serveurs hautement disponibles au travers dun systme de rpartition de charge avanc.
Plus concrtement, lorsque ce service est configur, une IP virtuelle est mule par lensemble des nuds (ou serveurs) du cluster. De cette faon, mme si un serveur venait sarrter, le cluster continuerait dexister et le service resterait ininterrompu. Cette solution prsente toutefois quelques inconvnients mineurs. Tout dabord les performances globales ne dpendent pas (ou trs peu) du matriel utilis sinon de la capacit de votre rseau acheminer le trafic. Enfin, vous ne pouvez disposer que de 32 nuds au sein du cluster et lensemble de ces nuds doivent tre situs dans le mme sous-rseau.
Il galement important de noter quil existe deux modes de fonctionnement du NLB. Aussi, lors des tapes de conception de votre maquette, assurez-vous de bien avoir assimil les particularits de ces deux modes prsents la suite.
1.1 Mode Unicast
En mode unicast, ladresse MAC de chaque serveur est remplace par une adresse MAC commune, dfinie en tant quadresse du cluster. Ds lors, lensemble des paquets seront envoys chacun des nuds tant donn quils disposent de la mme adresse MAC. Toutefois cette configuration prsente un inconvnient majeur. En effet, il nest pas possible davoir plusieurs ports sur le switch dclarant la mme adresse MAC.
Pour pallier ce problme, une fausse adresse MAC ( bogus address ) est cre pour chacun des nuds du cluster. Cette bogus adresse est gnre selon lID du nud. Par exemple ladresse 00-01-ac-10-00-01 correspondra lhte n1 et ladresse 00-02-ac-10-00-01 lhte n2. Toutefois, si une seule adresse MAC est enregistre sur chacun des switchs, les paquets ne pourront tre transmis lensemble des nuds du cluster. Pour cela, le switch va alors mettre des broadcast ARP . Ainsi, quand le routeur effectuera une requte ARP pour connaitre ladresse de lIP virtuelle, un ARP header avec ladresse MAC du cluster sera mis au lieu dune bogus address .
Pour rappel, un client utilise ladresse MAC situe au niveau ARP (niveau 3 du modle OSI) et non Ethernet (niveau 2). Inversement pour le switch qui utilise ladresse MAC du niveau 2 et non celle du niveau 3. Lorsquun client envoie une requte vers le cluster, le switch va rechercher dans sa table CAM ladresse du cluster qui nest bien videmment pas enregistre. Ds lors, le switch va flooder lensemble de ses ports pour savoir qui est assigne cette adresse. Cette technique peut savrer fonctionnelle, mais va gnrer une quantit de trafic importante. La solution pour viter cela est de placer en frontal du switch (o sont connects les nuds du cluster) un hub. De cette faon, le hub enregistrera les adresses MAC des nuds tout en acheminant lensemble des requtes vers tous ses ports.
Conclusion : comme vous avez pu le constater, ce mode prsente une certaine complexit et requiert des quipements supplmentaires au dtriment de possibles baisses des performances en raison du flooding et du hub (dtails point 2.1). Notez par ailleurs que ce mode nest pas support sur le Nexus 1000v Switch (sauf v4.2(1) SV1 (5.1) et ultrieur). 5
1.2 Mode Multicast
Le mode multicast est une alternative au mode unicast. Ce choix implique dune part que les membres du cluster rpondent aux requtes ARP via une adresse MAC multicast et dautres parts quils envoient des messages IGMP membership . Si l IGMP snooping est activ sur le switch, toutes les trames de ce type seront analyses. De ce fait, quand un client enverra un paquet destination de ladresse MAC du cluster, il sera transmis vers lensemble des ports membre du cluster. Il ny donc en ici aucun problme de flooding .
Toutefois, un problme survient avec ce mode. En effet, ladresse virtuelle sera inaccessible depuis un sous-rseau diffrent tant donn que les priphriques Cisco ne supportent pas les rponses ARP pour une adresse IP unicast contenant une adresse MAC multicast. De ce fait, un message ICMP unreachable sera envoy au client.
Solution : pour rsoudre ce problme, il convient de crer manuellement une entre ARP associe ladresse MAC multicast (dtails point 2.2)
2. Prrequis
En corrlation avec votre architecture et les points 1.1 et 1.2, effectuez les tapes de pr- configuration dcrites la suite.
2.1 Mode Unicast
2.1.1 Environnement physique
Vous aurez besoin deux cartes rseaux pour chacun des nuds du cluster : Une carte rseau pour ladministration de votre serveur Une carte rseau ddie pour le NLB
2.1.2 Environnement virtuel
Pour commencer, notez que ce mode nest pas recommand en environnement virtuel. Par ailleurs vous aurez besoin deux cartes rseaux pour chacun des nuds du cluster : Une carte rseau virtuelle pour ladministration de votre serveur Une carte rseau virtuelle ddie pour le NLB
Effectuez les paramtrages suivants au niveau de votre hyperviseur : Dsactivez les paquets RARP (au choix - source) o Au niveau du NIC virtuel, passez le Notify switches No (onglet NIC Teaming) o Au niveau du switch virtuel, passez le Notify switches No (onglet NIC Teaming)
Notez galement que : Tous les membres du cluster devront tre connects au mme vSwitch vMotion nest pas support
6
2.1.3 Configuration systme (env. physique et virtuel)
Excutez les commandes suivantes sur linterface rseau ddie au NLB : netsh interface ipv4 set interface "<interface>" weakhostreceive=enable netsh interface ipv4 set interface "<interface>" weakhostsend=enable
Vrifiez la prise en compte des paramtres : netsh interface ipv4 show interface "<interface>"
Pour terminer, effectuez les configurations suivantes cette mme carte rseau : Attribuez-lui une IP fixe Supprimez les DNS / WINS saisis Dsactivez lenregistrement DNS automatique et vrifiez quil nexiste pas dautres enregistrements DNS lis cette IP
2.2 Mode Multicast
2.2.1 Environnement physique
Vous aurez besoin deux cartes rseaux pour chacun des nuds du cluster : Une carte rseau pour ladministration de votre serveur Une carte rseau ddie pour le NLB
2.2.2 Environnement virtuel
Si vous tes en environnement virtuel, VMware recommande dutiliser le mode Multicast, en plus de deux cartes rseaux pour chacun des nuds du cluster. Autrement dit, il vous faudra : Une carte rseau virtuelle pour ladministration de votre serveur Une carte rseau virtuelle ddie pour le NLB
2.2.3 Configuration systme (env. physique et virtuel)
Vous devrez galement effectuer les configurations suivantes sur la carte ddie au NLB : Attribuez-lui une IP fixe Supprimez les DNS / WINS saisis Dsactivez lenregistrement DNS automatique et vrifiez quil nexiste pas dautres enregistrements DNS lis cette IP
7
3. Installation
3.1 Ajout de la fonctionnalit NLB
3.1.1 Installation via PowerShell
Si vous passez par un script : Set-ExecutionPolicy RemoteSigned
Pour dployer ce rle en PowerShell sur tous vos serveurs excutez la commande suivante depuis votre console pilote : $Session=New-PsSession ComputerName <name1>, <name2>, <name3> Invoke-Command Session $Session ScriptBlock {Import-Module ServerManager} Invoke-Command Session $Session ScriptBlock {Add-WindowsFeature NLB, RSAT-NLB}
Excutez ensuite cette commande pour installer la console de gestion sur votre serveur pilote : Add-WindowsFeature RSAT-NLB
3.1.2 Installation via GUI
Pour installer cette fonctionnalit, lancez simplement la console Server Manager et slectionnez le rle Network Load Balancing. Rptez cette action sur chacun de vos serveurs :
3.2 Pare-feu
Suite lactivation de ce rle, les rgles ci-dessous seront cres. Aucune autre modification ce niveau ne sera ncessaire par la suite :
8
4. Configuration
Pour configurer votre cluster, vous avez le choix entre le mode GUI et le mode PowerShell. Rappelez-vous que le PowerShell peut tre excut distance sur vos serveurs.
4.1 Configuration via PowerShell
Pour configurer votre cluster en PowerShell, excutez dans lordre les commandes ci-dessous :
Si vous passez par un script : Set-ExecutionPolicy RemoteSigned Import-Module NetworkLoadBalancingClusters
Cration du cluster et de son premier nud : New-NlbCluster -InterfaceName <network interface> -ClusterName <cluster name> -Hostname <hostname> -ClusterPrimaryIP <cluster IP> -OperationMode <mode : multicast/unicastt>
Suppression des ports existants en coute: Get-NlbClusterPortRule | Remove-NlbClusterPortRule Force
Ajout des ports en coute (action rpter pour chaque port de site IIS hberg) Add-NlbClusterPortRule -StartPort 80 -EndPort 80 -Protocol TCP -Affinity Single -InterfaceName <interface>
Intgration dun nouveau nud au cluster: Get-NlbCluster hostname <cluster ip> | Add-NlbClusterNode -NewNodeName <hostname> - NewNodeInterface <network interface>
9
4.2 Configuration via GUI
Lancez la console NLB et faites : Clic droit > New Cluster Saisissez le nom du serveur configurer et choisissez linterface rseau ddie au NLB :
Indiquez la priorit du serveur :
10
Ajoutez une IP virtuelle pour le cluster
ainsi que son nom et son mode (explications aux points 1.1 et 1.2)
Note importante : rcuprer bien ladresse MAC du cluster si vous tes en multicast. Vous en aurez besoin pour le point 4.3
Spcifiez ensuite les ports en coute pour le NLB (attention laffinit) :
11
Les informations ci-dessous sont prciser lorsque vous ajoutez un port :
4.3 Mode Multicast
Si vous avez opt pour ce mode, vous devez crer une entre ARP sur vos curs de rseaux Cisco. Pour cela excutez la commande suivante (format adresse MAC : XXXX.XXXX.XXXX) : conf t arp <IP> <cluster MAC> mac-address-table static <cluster MAC> vlan <ID> interface faX/X faX/X
Pour les Cisco Catalyst 6000/6500, il faut imprativement ajouter le paramtre disable-snooping : mac-address-table static <cluster MAC> vlan <ID> interface faX/X faX/X disable-snooping
Note : ladresse MAC devra elle celle gnre par le cluster au point 4.2
12
5. Notes
5.1 Mode Core
Lorsque vous basculez en mode Core aprs avoir configur votre NLB, les commandes PowerShell propres au NLB ne seront plus disponibles (Get-ClusterNLB).
5.2 Console distante
Les 5 rgles de pare-feu Network Load Balancing () du point 3.2 apparaitront de la faon suivante depuis une console MMC distante :
13
Conclusion
Ce tuto vous a permis de mettre en place une ferme de serveurs NLB. Grce cela, vous tes maintenant en mesure de fournir un service hautement disponible, aussi bien sur des plateformes physiques que virtuelles. Par ailleurs, sachez que cette configuration est particulirement adapte pour lhbergement de sites web. Cest pourquoi je vous invite lire mon tuto concernant la mise en place dune ferme de serveurs IIS en mode Core.
Nhsitez pas menvoyer vos commentaires ou retours ladresse suivante : m.decrevoisier A-R-0-B-A-5 outlook . com
Kali linux pour les hackers : Le guide étape par étape du débutant pour apprendre le système d’exploitation des hackers éthiques et comment attaquer et défendre les systémes