2018-01-19 / 420-R22-MA / Serveurs et réseau

Prof : Richard Jean

## Plan du cours

1. Introduction
2. Bases de l'adressage IP
	1. Types d'adresses
	2. Sous-réseaux : taille fixe et taille variable
3. Installation de Windows Server 2012R2
4. Configuration initiale du serveur
	1. Configuration du serveur
	2. Configuration des mises à jour
	3. Configuration de la sécurité
5. Création du réseau pour le cours
	1. Création du commutateur
	2. Liaison des ordinateurs au commutateur
	3. Tests de connectivité
6. Service Web (introduction)
	1. Installation du service Web
	2. Configuration du service Web
	3. Sites Web par adresse
	4. Sites Web par port
7. Service DNS
	1. Installation du service DNS
	2. Zones de recherche directe
	3. Enregistrements de ressource
	4. Configuration d'une zone principale
	5. Délégation d'une zone DNS
	6. Configuration d'une zone secondaire
	7. Configuration des redirecteurs
	8. Redirecteurs conditionnels
8. Service Web (avancé)
	1. Répertoires virtuels
	2. Sites Web par entête et leur lien avec le DNS
9. Service FTP
	1. Installation du service FTP
	2. Configuration du FTP en mode anonyme
	3. Configuration du FTP avec authentification
	4. FTP en modes isolé et non isolé
10. Routage
	1. Principe du routage
	2. Table de routage
	3. Installation du service de routage
	4. Routage NAT
11. Service DHCP
	1. Installation du service DHCP
	2. Autorisation d'un serveur DHCP
	3. Configuration d'une étendue normale
	4. Configuration d'une étendue globale
	5. Activation d'une étendue
	6. Configuration de plusieurs étendues
	7. Résolution des conflits d'adresses IP
	8. Statistiques
	9. Sauvegarde et restauration
12. Accès distant
	1. Installation du service d'accès distant
	2. Configuration d'un réseau privé virtuel
	3. Redirection de ports
13. Terminal Server
	1. Installation du service Terminal Server
	2. Configuration du service Terminal Server
14. Service de CA (autorité de certification)
	1. Introduction en CA
	2. Installation du service de certificat
	3. Sécurisation d'un site web avec SSL
	4. Livraison d'un sertificat
	5. Attribution d'un certificat à un site web
	6. Configuration de la communication sécurisée

Adresse IPv4 : 32 bits qui contituent 4 octets.

#### APIPA

Automatic Private IP Addressing : 169.254.0.1 à 169.254.255.254 (propre à Microsoft)

### Sous-réseaux : taille fixe et taille variable

#### Sous-réseaux de taille fixe

Exemple : Adresse réseau de base : 200.211.102.0, masque 255.255.255.0 (classe C).

On veut 4 sous-réseaux, alors on a besoin de réserver 2 bits : 22 ―> 4 réseaux.

 Masque modifié
 Masque modifié (en décimal)

Calcul des adresses des 4 sous-réseaux (adresses réseaux)

256/4 = 64

 200.211.102.64
 200.211.102.128
 200.211.102.192

Calculatrice de masques sous-réseau en ligne : subnetmask.info

## Configuration initiale du serveur

### Configuration du serveur

Migration de Windows Server 2012 R2 Standard vers Windows Server 2012 R2 Datacenter ― possible avec une commande PowerShell :

```
...

```

#### Formats de disque BIOS / EFI

* BIOS / MBR (4 partitions) 1980s
* EFI / GPT (128 partitions) <― permet mode Legacy jusqu'à 2020

#### Microsoft Desktop Optimization Pack

* Advanced Group Policy Management
* BitLocker Administratino and Monitoring
* Microsoft Diagnostics and Recovery Toolset

#### netsh

Un outils pour configurer les interfaces réseau sur Windows (attention, peut être supprimé dans les prochaines versions de Windows).

#### Manipulation des interfaces réseau avec PowerShell

* New-NetIPAddress
* Remove-NetIPAddress

## PowerShell

### Introduction au cmdlet Get-Command

Afficher la liste des cmdlets d'un module

```
(Get-Command -Module NetConnection).Name

```

Afficher le nome du module qui contient un cmdlet donné

```
Get-Command -Name Test-Connection | Select-Object Module

```

Afficher le nom des cmdlets qui contiennent « ipaddress » dans le nom, avec le nom du module des cmdlets

```
Get-Command -Name *ipaddress* | Select-Object Name,Module

```

### Afficher le nom de l'ordinateur

#### Méthode 1 : hostname.exe

```
hostname.exe

```

#### Méthode 2 : variable d'environnement

```
$env:COMPUTERNAME

```

Note : même les noms de variables sont agnostiques aux registre de lettres ; ça donne le même résultat :

```
$env:CoMpUtErNaMe

```

#### Méthode 3 : objet WMI

```
(Get-WMIObject Win32_ComputerSystem).Name

```

#### Méthode 4 : instance CIM

```
(Get-CIMInstance CIM_ComputerSystem).Name

```

#### Méthode 5 : Net Framework

```
[system.environment]::MachineName

```

#### Méthode 6 : Net Framework et DNS

```
[system.net.dns]::GetHostName()

```

### Mesurer le temps d'exécution d'une commande

```
Measure-Command { hostname.exe }

```

Note : parmi les méthode à obtenir le nom de machine, la plus rapide est l'affichage d'une variable d'environnement. Ce qui est naturelle : ce n'est qu'un requête a la mémoire.

#### Calculer et voir la vitesse moyenne

```
1..100 | ForEach-Object { Measure-Command { hostname.exe } } | Measure-Object -Average Ticks

```

#### Foreach (%)

Il existe deux alias de Foreach-Object : foreach et %. Exemples :

```
1..100 | foreach { Measure-Command { hostname.exe } } | Measure-Object -Average Milliseconds

```

et

```
1..100 | % { Measure-Command { hostname.exe } } | Measure-Object -Average Milliseconds

```

### Cmdlets du module NetConnection

Seulement dexu cmdlets :

* Get-NetConnectionProfile
* Set-NetConnectionProfile

#### Set-NetConnectionProfile

Permet de modifier le type de réseau pour une carte réseau donnée. Exemple :

```
Set-NetConnectionProfile -InterfaceAlias "OnBoard" -NetworkCategory Private

```

ou

```
Set-NetConnectionProfile -InterfaceIndex 14 -NetworkCategory Public

```

Il faut substituer l'alias (nom) ou l'index (numéro) de l'interface avec des valeurs appropriés. Pour vérifier l'état courant :

```
Get-NetConnectionProfile

```

### Cmdlet Test-Connection (ping)

Le cmdlet est similaire à la commande ping.

Envoyer des pings de l'ordinateur local à un ordinateur distant :

```
Test-Connection 10.57.22.2

```

Envoyer des pings de l'ordi local à plusieurs ordis distants :

```
Test-Connection -ComputerName serveur1, serveur2, serveur3

```

Envoyer des pings de plusieurs ordinateurs à un seul ordinateur distant :

```
Test-Connection -Source serveur1, serveur2, serveur3 -ComputerName serveur9

```

Pinguer en spécifiant le nom d'un utilisateur qui a l'autorisation d'envoyer des commandes ping :

```
Test-Connection -Source serveur1, serveur2 -Computer-Name serveur9 -Credential Domain\Administrateur

```

### Cmdlets du module NetTCPIP

Plusieurs cmdlets utiles :

* Get-NetIPConfiguration (similaire à ipconfig)
* Get-NetNeighbor (similaire à arp -a)
* Test-NetConnection

Afficher la configuration de toutes les cartes réseau :

```
Get-NetIPConfiguration

```

Afficher la configuration d'une carte réseau particulière :

```
Get-NetIPConfiguration -InterfaceIndex 14

```

ou

```
Get-NetIPConfiguration -InterfaceAlias "Ethernet 2"

```

Afficher le contenu de la table ARP mais seulement pour les adresses IPv4 :

...

### Scripting PowerShell

#### Un script PowerShell pour créer un site web

```
Clear-Host
New-Item -ItemType Directory `
         -Path "C:\_Web\Adresse100"

$Value = `
'Nom du site web : Adresse 100
Adresse IP : 10.57.22.100
Port : 80'

New-Item -ItemType File `
         -Path "C:\_Web\Adresse100\index.htm `
         -Value $Value

New-WebSite -Name Web100 `
            -IPAddress 10.57.22.100 `
            -PhysicalPath "C:\_Web\Addresse100"

```

## Service FTP

### Introduction FTP

#### FTP non isolé

* Accès anonyme
* Accès authentifié