Vous êtes sur la page 1sur 434

26/02/2016

Formation
Red Hat Entreprise Linux 7
Administration Système III
Cours RH 254
Certification RHCE

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

1
26/02/2016

Plan
• Présentation du formateur

• Les certifications Red Hat

• Le plan de la formation

• Publics concernés

• Connaissances requises

• Liens utiles

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

2
26/02/2016

Présentation du formateur
• Ludovic QUENEC’HDU
• lquenec@alphorm.com

• Consultant et expert en Open source, logiciel libre et virtualisation

• Mission de conseil, d’architecture, d’administration, de migration et de


formation
• Mes références :
Mon profil LinkedIn : https://fr.linkedin.com/pub/ludovic-quenec-hdu/47/6bb/550
Mon profil Alphorm : http://www.alphorm.com/formateur/ludovic-quenechdu

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

3
26/02/2016

Mes formations sur Alphorm

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

4
26/02/2016

Les certifications Red Hat

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

5
26/02/2016

Le plan de formation
• Administration système • Sécurité
• Retour sur Firewalld
• Systemd • Comprendre les "Rich Rules"
• Retour sur Systemd • Le Masquerading
• Gestion avancée systemd • Le port Forwarding
• Gérer les ports avec SELinux
• Administration réseau
• Le service DNS
• Comprendre le Domain Name System – DNS
• Administrer IP V6 • Comprendre les recherches DNS
• NetworkManager • Comprendre les enregistrements DNS
• Le protocole IPV6 • Le service de cache DNS
• Configuration des interfaces réseaux • Configurer un serveur de cache sécurisé
• Mise en œuvre d'un serveur DNS local Bind9
• NIC Teaming et Bridging
• Comprendre l'agrégation de lien • Le service Web
• Configurer le NIC Teaming • Configurer le serveur apache
• Gérer les interfaces Team • Configurer des hôtes virtuels
• Comprendre les pont réseau – Bridge • Configurer l'authentification des utilisateurs
• Configurer un bridge • Créer des certificats
• Configurer un bridge "teaming" • Apache mod_ssl
• Gérer du contenu dynamique

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

6
26/02/2016

Le plan de formation
• Le service de courier • Programmation Shell
• Le serveur Postfix
• Configurer Postfix en Null-client • Écrire des scripts simples
• Créer et exécuter des scripts
• Base de données • Les sorties
• Introduction aux bases de données • Les variables
• Maria DB • Les variables spéciales
• Installation de MariaDB
• Gérer une base de données MariaDB • Test, Boucles et structures de contrôles
• Administrer les utilisateurs et les permissions • Les codes de retour, exit
sous MariaDB • Les test
• Sauvegarder et restaurer des bases données • If, then , else, .., case
MariaDB • Les boucles

• Stockage réseau • Configurer l'environnement du shell


• Les technologies SAN – NAS • L’environnement de travail
• Le protocole ISCSI
• Créer des Target ISCSI avec targetcli
• Iscsiadm - accéder aux Targets

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

7
26/02/2016

Le plan de formation
• Virtualisation

• Linux containers et Dockers


• Virtualisation par isolation
• LXC - Linux containers
• Gestion d'un container
• Docker
• Docker création et manipulation des conteneurs
• Red Hat Linux Atomic Host

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

8
26/02/2016

Publics concernés
Administrateurs Linux expérimentés
Administrateurs Linux désirant devenir RHCE
Administrateurs Linux désirant maitriser les nouveautés de RHEL7 et
des technologies avancés

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

9
26/02/2016

Connaissances requises
Il faut avoir suivi les deux formations :
Red Hat System Administration I (RH124)
Red Hat System Administration II (RH134)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

10
26/02/2016

Liens utiles
• http://www.redhat.com

• https://access.redhat.com/documentation

• http://doc.fedora-fr.org/wiki/Accueil

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

11
26/02/2016

Are you ready ? ☺

Êtes vous prêt à porter


le chapeau d’ingénieur
Red Hat ?

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

12
26/02/2016

Systemd
Retour sur systemd

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

13
26/02/2016

Plan
• Systemd

• Les units de Systemd

• Gestion des services

• Gestion des cibles (targets)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

14
26/02/2016

Sysytemd
• Systemd est un gestionnaire de services qui remplace Sys init depuis
RedHat 7 :
Il démarre comme premier processus lancé par le noyau
Assure l’initialisation des services
Gère les démons Linux : démarre, stoppe, désactive, active
Il démarre les services en parallèle
Il suit les services avec les groupes de contrôle (gestion des ressources)
Gère la journalisation et peut transmettre les journaux à Syslog
La configuration des noms d’hôtes, des montages de fs
Gère les sessions utilisateurs et gère les ressources des utilisateurs avec les cgroups
Gère les machines virtuelles et conteneurs avec les cgroups et libvirt
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

15
26/02/2016

Les units de Systemd


• Systemd se base sur une notion d’unités.

• Ces unités ont un type et un nom :


Le type Service : Gestion des démons
Le type Target : regroupe plusieurs unités et permet de définir des notions de
niveau d’exécution
Le type mount : gestion des systèmes de fichiers en relation avec fstab
Le type snapshot : permet de sauvegarder et restaurer l’états des services

• Lister toutes les unités

#systemctl list-units

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

16
26/02/2016

Gestion des services


• Systemd fournit la commande systemctl pour gérer les services

• Lister toutes les unités de type service

#systemctl list-units –t service

• Visualiser l’état d’un service

#systemctl status NetworkManager.service


#systemctl status NetworkManager

• Démarrer , arrêter un service

#systemctl start sshd.service


#systemctl start sshd

#systemctl stop sshd.service

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

17
26/02/2016

Gestion des services


• Systemd fournit la commande systemctl pour gérer les services

• Activer un service au démarrage

#systemctl enable NetworkManager.service

• Désactiver un service au démarrage

#systemctl disable NetworkManager.service

• Masque des services

#systemctl stop iptables


#systemctl mask iptables.services

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

18
26/02/2016

Gestion des cibles (target)


• Systemd fournit la commande systemctl pour gérer les cibles

• Changer de niveau de cible temporairement

#systemctl isolate rescue.target

• Obtenir le niveau de fonctionnement par défaut

#systemctl get-default
multi-user.target

• Modifier le niveau de fonctionnement par défaut

#systemctl set-default graphical.target


rm '/etc/systemd/system/default.target'
ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target‘

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

19
26/02/2016

Ce qu’on a couvert
• Systemd

• Les units de Systemd

• Gestion des services

• Gestion des cibles (targets)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

20
26/02/2016

Systemd
Gestion avancée
de systemd

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

21
26/02/2016

Plan
• Oubliez /etc/fstab monter des FS avec Systemd

• Automount avec Systemd

• Les groupes de contrôle avec Systemd

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

22
26/02/2016

Oubliez /etc/fstab monter des FS avec Systemd


• Systemd introduit depuis Red hat Enterprise Linux 7 n’est pas seulement
un gestionnaire de services :
Il est aussi utilisé pour monter des systèmes de fichiers au démarrage de la
machine

• Lister les systèmes de fichiers montés par Systemd

#find / -name "*.mount«

• Jetons un œil sur tmp.mount

#cat /usr/lib/systemd/system/tmp.mount
[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

23
26/02/2016

Oubliez /etc/fstab monter des FS avec Systemd


• Utilisons Systemd pour monter un volume logique
• Création d’un fichier de montage dans /etc/systemd/system/

#vi /etc/systemd/system/test.mount
[Unit]
Description = montage du lv test
[Mount]
What = /dev/test/systemd.test
Where = /test
Type = ext4
[Install]
WantedBy = multi-user.target

• Création d’un fichier de montage dans /etc/systemd/system/

#systemctl start test.mount && systemctl enable test.mount


#mount | grep test
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

24
26/02/2016

Automount avec Systemd


• Autofs est un programme qui permet de monter et démonter des
systèmes de fichiers « à la volée »
• Lors de l’accès au répertoire le système de fichiers est monté, lors
d’inactivité sur ce dernier, autofs démonte le FS
• Systemds utilise autofs pour monter et démonter des FS en mode
autofs

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

25
26/02/2016

Automount avec Systemd


• Création d’un fichier d’automontage dans /etc/systemd/system/test.automount

#vi /etc/systemd/system/test.automount
[Unit]
Description = montage automatique de test
[Automount]
Where = /test
[Install]
WantedBy = multi-user.target

• Création d’un fichier de montage dans /etc/systemd/system/

#systemctl start test.automount && systemctl enable test.automount


#mount | grep test
systemd-1 on /test type autofs
#cd /test/
# mount | grep test
systemd-1 on /test type autofs
/dev/mapper/test-systemd.test on /test type ext4

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

26
26/02/2016

Les groupes de contrôles avec Systemd


• Les groupes de contrôle permettent de limiter, comptabiliser et isoler les
ressources (mémoire, cpu, réseau, périphériques, …)
• Systemd découpe les services et utilisateurs en slice/scope/service

• 4 slices : -.slice (top cgroups). user.slice, system.slice, machine.slice (vm, ct)

#systemd-cgls
user.slice
│ ├─user-1000.slice
│ │ └─session-36.scope
│ │ ├─9896 sshd: ludo [priv]
│ │ ├─9898 sshd: ludo@pts/2
│ │ ├─9899 –bash
─system.slice
docker-109a80f37cc97fd279258703e33243309baa639877ba294277ba64ad852011aa.scope
│ ├─6960 /bin/bash
│ ├─6999 httpd
│ ├─7000 httpd

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

27
26/02/2016

Les groupes de contrôles avec Systemd


• Gestion des groupes de contrôles avec systemctl

#system-cgtop

#systemctl set-property user-1000.slice CPUQuota=5%


#cat /etc/systemd/system/user-1000.slice.d/50-CPUQuota.conf
[Slice]
CPUQuota=5%

#systemctl set-property user-1000.slice MemoryLimit=500M


cat /etc/systemd/system/user-1000.slice.d/50-MemoryLimit.conf
[Slice]
MemoryLimit=524288000

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

28
26/02/2016

Les groupes de contrôles avec Systemd


• Gestion des groupes de contrôles avec systemctl

#cat /etc/systemd/system/test.service
[Unit]
Description=Test daemon
[Service]
Type=notify
ExecStart=/usr/bin/test.sh –DBACKGROUND

[Install]
WantedBy=multi-user.target

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

29
26/02/2016

Les groupes de contrôles avec Systemd


• Gestion des groupes de contrôles avec systemctl

#systemctl set-property test.service MemoryLimit=500M

#cat /etc/systemd/system/test.service.d/50-MemoryLimit.conf
[Slice]
MemoryLimit=524288000

#systemctl daemon-reload

#systemctl start test.service


Job for test.service failed because the control process…..

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

30
26/02/2016

Ce qu’on a couvert
• Oubliez /etc/fstab monter des FS avec Systemd

• Automount avec Systemd

• Les groupes de contrôle avec Systemd

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

31
26/02/2016

IPV6
NetworkManager

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

32
26/02/2016

Plan
• Les scripts de configuration

• NetwokManager

• nmcli (NetworkManager Command Line Interface)

• Nom d'hôte – hostnamectl

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

33
26/02/2016

Les scripts de configuration


• Depuis longtemps Redhat utilise des scripts de
configuration pour les interfaces réseaux
• Scripts /etc/sysconfig/network-script/

#cat /etc/sysconfig/network-script/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=ens192
UUID=6d286278-4265-413b-b4ee-7e22a011418f
DEVICE=ens192
ONBOOT=yes
DNS1=8.8.8.8
IPADDR=192.168.10.200
PREFIX=24
GATEWAY=192.168.10.25

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

34
26/02/2016

NetworkManager
• Avec la version 7 de Red Hat Enterprise Linux , le réseau est administré
par L’outil NetworkManager
• NetworkManager est un service

• NetworkManager fourni des outils de configuration :

Nmcli, nm-tool, nmtui, nmgui


• NetworkManager peut gérer des périphériques :

Ethernet, Wifi, Team, Bond, Bridge, Cellulaire, VPN, ...

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

35
26/02/2016

NetworkManager
• Pour NetworkManager :

Device est une interface réseau


Connection est un ensemble de paramètres afin de configurer un device

Chaque connection a un nom, un UID, un type et un device

• Pour configurer des interfaces, on utilise l’outil nmcli

• Nmcli modifie les fichiers de scripts ifcfg-eno20

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

36
26/02/2016

nmcli -NetworkManager Command Line Interface


• Lister les périphériques

#nmcli dev status


PÉRIPHÉRIQUE TYPE ÉTAT CONNEXION
docker0 bridge connecté docker0
ens192 ethernet connecté ens192
veth0630f70 ethernet connecté veth0630f70

• Afficher la configuration d’un périphérique

#nmcli dev show


GENERAL.PÉRIPHÉRIQUE: ens192
GENERAL.TYPE: ethernet
GENERAL.ADR.-MAT.: 00:0C:29:4D:7F:85
GENERAL.ÉTAT: 100 (connecté)
GENERAL.CONNEXION: ens192
WIRED-PROPERTIES.PORTEUSE: marche
IP4.ADRESSE[1]: 192.168.10.200/24
IP4.PASSERELLE: 192.168.10.25
IP4.DNS[1]: 8.8.8.8

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

37
26/02/2016

nmcli -NetworkManager Command Line Interface


• Ajouter une connexion

#nmcli con add con-name eno2 type ethernet ifname eno2

• Ajouter des paramètres ipv4 a une connexion

#nmcli con add con-name eno2 type ethernet ifname eno2 \


ip4 192.168.10.99/24 gw4 192.168.10.254

• Activer une connexion

#nmcli con up eno2

• Afficher l’état de la connexion

#nmcli con show eno2

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

38
26/02/2016

nmcli -NetworkManager Command Line Interface


• Modifier les paramètres d’une connexion

#nmcli con mod eno2 ipv4.adresses “192.168.10.99/24 192.168.10.254”

• Modifier les paramètres DHCP d’une connexion

#nmcli con mod eno2 ipv4.method auto

• Supprimer une connexion

#nmcli connection delete ens224


Connection 'ens224' (d26705f7-321e-4566-879e-8416700f7aef) successfully deleted.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

39
26/02/2016

Nom d'hôte
• Afficher le nom d'hôte

#hostname
gateway.alphorm.lan

• Modifier le nom d'hôte

#hostnamectl set-hotnme router.alphorm.lan

• Afficher l’état

#hostnamectl status
Static hostname: gateway.alphorm.lan
Icon name: computer-vm
Chassis: vm
Machine ID: 21b7ec026e894bfcb70152956ba35a6b
Boot ID: dc360b0999e24f909c3f32b29c24dfc3

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

40
26/02/2016

Ce qu’on a couvert
• Les scripts de configuration

• NetwokManager

• nmcli (NetworkManager Command Line Interface)

• Nom d'hôte – hostnamectl

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

41
26/02/2016

IPV6
Le protocole IPV6

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

42
26/02/2016

Plan
• Pourquoi IPv6?

• L’adressage

• Le prefixe ou sous réseau

• Les types d’adresses réservées

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

43
26/02/2016

Pourquoi IPv6?
• L’insuffisance d’adresse ipv4

• Simplifier le protocole
• Régler la fragmentation des routeurs

• Support de la sécurité et de la qualité de service

• Prévoir les évolutions

• La fin de la translation d’adresse IP

• Fournir une passerelle ipv4 vers ipv6

• IPv4 n’est pas TCPv4, ip6 n’est donc pas TCPv6

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

44
26/02/2016

L’adressage
• IPv6 utilise des adresses beaucoup plus longues qu’iPv4

• IPv4 code les adresses sont codées sur 4 octets, 32 bits

• IPv6 code les adresses sur 16 octects, 128 bits

Permet de fournir des adresses presque illimitées


Codé en Hexadécimale en blocs de 16 bits

2001:0db8:0000:85a3:0000:0000:ac1f:8001
2001:db8:0:85a3:0:0:ac1f:8001
2001:db8:0:85a3::ac1f:8001
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

45
26/02/2016

L’adressage
2000:0000:0000:000:0000: 0000:0000:0001 2000::1

0002:0000:0000:0000:0000:0000:0000:0001 2: :1

2001:0db8:0000:0007:0000:0000:0000:0002 2001:db8:0:7::2

2000:0003:0000:0000:0000:0007:0000:0002 2001:3::7:0:2

2001:0003:0700 :0000: :0000: :0000: 0000 2001:3:700::2


:0002
ff02 :0000:0000:0000:0000: 0001:0000:0000 ff02::1:0:0

0000:0000:0000:0000:0000: 0000:0000:0000 ::

2001:db8::7::2 Adresse invalide

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

46
26/02/2016

L’adressage
• L’adresse se compose d’un Network ID et d’un Interface ID

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

47
26/02/2016

Le prefixe ou sous réseau


• Le préfixe d’une adresse IPv6 correspond à la partie réseau de l’adresse
IP. Il est noté comme cela :
L’interface ethernet 20c:29ff:fe0a:15d sur le réseau 2001:0:9d38:6abd:0015:
sera noté :
• 2001:0:9d38:6abd:0015: 20c:29ff:fe0a:15d
Un préfixe est attribué a l’adresse
• 2001:0:9d38:6abd:0015: 20c:29ff:fe0a:15d/64
Les préfixe spécifie les sous réseaux
2001:0:9d38:6abd:0015: /64
2001:0:9d38:6abd::/48

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

48
26/02/2016

Le prefixe ou sous réseau


• Des préfixes sont réservés à un usage spécial :
2002::/16 indique un préfixe de routage 6to4 , fe80::/10 est une adresse lien-
local, ff00::/8 une adresse multidiffusion.

• Les préfixes sont attribués par l'IANA par blocs de /12 à /23
aux registres Internet régionaux,
RIPE-NCC Réseaux IP Européens,
ARIN American Registry for Internet Numbers
Les RIR attribuent des préfixes /32 aux registres Internet locaux, Un LIR est
généralement un opérateur de télécommunications, qui les attribuent ensuite
sous forme de bloc /48 à /64 aux utilisateurs finaux.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

49
26/02/2016

Les types d’adresses réservées


• Unicast global – adresse public
2000 : : /3

• Lien local – Valable uniquement sur le lien local


fe80 : : /64

• Multicast - Plus de Braodcast


ff00 : : /8

• Les adresses privés


fd00 : : /8

• La route par défaut


: : 10

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

50
26/02/2016

Ce qu’on a couvert
• Pourquoi IPv6?

• L’adressage

• Le prefixe ou sous réseau

• Les types d’adresses réservées

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

51
26/02/2016

IPV6
Configuration des
interfaces réseaux

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

52
26/02/2016

Plan
• SLAAC - Stateless Address Autoconfiguration

• Adressage statique

• Service DHCPV6

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

53
26/02/2016

SLAAC - Stateless Address Autoconfiguration


• Pas de serveur DHCP, Neighbor Discovery

• La machine est découvre la partie réseau auquel elle


appartient, Network ID avec un Neighbor Solicitation, un
routeur réponds par un Advertisement
• La parte Interface ID est soit basé sur l’adresse MAC de
l’interface ethernet utilisée

• Ou Génération « aléatoire » des 64 derniers bits.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

54
26/02/2016

SLAAC - Stateless Address Autoconfiguration


• Configuration avec nmcli

#nmcli connection add con-name ens192IP6 type ethernet ifname ens192


#nmcli connection modify ens192IP6 ipv6.method auto
#nmcli con down ens192IP6
#nmcli con down ens192IP6

# nmcli connection show ens192IP6 | grep ipv6


ipv6.method: manual
ipv6.dns:
ipv6.dns-search:
ipv6.addresses: 2001:db8:0:1::c000:207/64
ipv6.gateway: 2001:db8:0:1::1

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

55
26/02/2016

Adressage statique

• Configuration avec nmcli

#nmcli connection add con-name ens192IP6 type ethernet ifname ens192 ip6
2001:db8:0:1::c000:207/64 gw6 2001:db8:0:1::1
#nmcli connection modify ens192IP6 ipv6.addresses 2001:db8:0:1::c000:207/64
ipv6.gateway 2001:db8:0:1::1
#nmcli con mod ens192IP6 ipv6.dns 2001:4860:4860::8888

# nmcli connection show ens192IP6 | grep ipv6


ipv6.method: manual
ipv6.dns:
ipv6.dns-search:
ipv6.addresses: 2001:db8:0:1::c000:207/64
ipv6.gateway: 2001:db8:0:1::1

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

56
26/02/2016

Adressage statique
• Comme pour IPV4, On attribue une adresse IPV6 et sa passerelle

#vi /etc/sysconfig/network-scripts/ifcfg-ens192IP6
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:db8:0:1::c000:207/64
IPV6_DEFAULTGW=2001:db8:0:1::1
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens192IP6
UUID=c885b267-9916-4b9d-9b45-cef11d2726ad
DEVICE=ens192
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
DNS1=2001:4860:4860::8888

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

57
26/02/2016

Service DHCPV6
• Le service DHCP pour IPV6 est un peu différent d’IPV4.

• IPV6 n’utilise pas le broadcast

• Le client envoie des requêtes sur le port 547/udp a l’adresse


ff02::1:2
• Cette dernière est le groupe multicast DHCPv6-server

• Le serveur DHCP répond sur le port 546/udp

• Deux types de DHCP

• DHCP Statefull, DHCP Stateless (uniquement les options, dns, …)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

58
26/02/2016

Service DHCPV6
• Configuration avec nmcli

#nmcli connection add con-name ens192IP6 type ethernet ifname ens192


#nmcli connection modify ens192IP6 ipv6.method dhcp
#nmcli con down ens192IP6
#nmcli con down ens192IP6

# nmcli connection show ens192IP6 | grep ipv6


ipv6.method: dhcp
ipv6.dns:
ipv6.dns-search:
ipv6.addresses: 2001:db8:0:1::c000:207/64
ipv6.gateway: 2001:db8:0:1::1

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

59
26/02/2016

Ce qu’on a couvert
• SLAAC - Stateless Address Autoconfiguration

• Adressage statique

• Service DHCPV6

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

60
26/02/2016

NIC Teaming et Bridging


Comprendre
l'agrégation de lien

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

61
26/02/2016

Plan
• Introduction à l’agrégation de lien réseaux

• Le channel bonding

• Le Teaming

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

62
26/02/2016

Introduction a l’agrégation de lien réseaux


• L’agrégation de lien consiste à lier plusieurs interfaces réseaux :
Fournir plus de bande passante
Fournir de la redondance sur les interfaces

• L’agrégation de liens est connue sous les termes :


Channel Bonding
eth0 eth1 eth2
Link agregation
Port truking
NIC teaming team0

Etc.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

63
26/02/2016

Le channel bonding
• Le Channel Bonding était la technologie utilisée par Red Hat pour
l’agrégation de liens
• Le Channel bonding ou agrégation de cartes réseau permet d’appliquer
des stratégies sur les cartes réseaux
• Avec plusieurs cartes, un groupe d’interface est créé. Une seule
interface, représente un groupe de cartes
eth0 eth1 eth2
• Parmi les stratégies disponibles :
L’équilibrage de charge
La tolérance aux pannes Bond0
L’amélioration des performances

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

64
26/02/2016

Le channel bonding
• L’équilibrage de charge - Balance rr

Ce mode fait transiter séquentiellement les paquets sur chaque interface


• La sauvegarde active – Active backup

Seule une interface est en fonctionnement, si elle tombe en panne, l’autre interface s‘active
et reçoit donc les paquets
• La balance tdb

Le trafic sortant est distribué selon la vitesse de chaque carte réseau, permet également le
Fail-Over
• La balance XOR

Ce mode est basé sur une politique de hachage de transmission. Une interface affectée à
l’envoie vers une adresse MAC (adresse de la source XOR adresse MAC de destination
modulo du nombre d’interface)
• La balance alb, le broadcast, le 802.3

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

65
26/02/2016

Le Teaming
• Depuis Red hat Enterprise Linux 7, l’agrégation de liens est gérée par le
service Network teaming
• Ne remplace pas le Channel Bonding, c’est une alternative choisi par
Red Hat
• Network Teaming ou Teaming est architecturé autour :
D’un “driver” qui possède une API, une librairie LibTeam et un démon Teamd
Des outils en espace utilisateur peuvent utiliser cette API pour discuter avec
le driver. La librairie LibTeam n’interagie pas directement avec l’api (libnl)
Un utilisateur peut par exemple écrire un programme pour interagir avec la
LibTeam

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

66
26/02/2016

Le Teaming
• A l’instar du Channel bonding, le Teaming propose des stratégies.

• Dans le jargon Team, une stratégie est appelée un “runner”

• Différents runners sont disponibles :

Broadcast eth0 eth1 eth2

• (Les données sont transmises sur tous les ports)

round-robin
• (Les données sont tour à tour transmises sur les ports) team0
active-backup
• (Une interface est utilisée. La suivante est réservée en cas de défaillance)

loadbalance
• (Algorithme d’équilibrage de charge)

lacp (implémentation du 802.3ad Link Aggregation Control Protocol)


Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

67
26/02/2016

Ce qu’on a couvert
• Introduction à l’agrégation de liens réseau

• Le channel bonding

• Le Teaming

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

68
26/02/2016

NIC Teaming et Bridging


Configurer le NIC
Teaming

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

69
26/02/2016

Plan
• Installation du service Teamd

• Création de l’interface team avec nmcli

• Ajout adressage IP

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

70
26/02/2016

Installation du service Teamd


• Installation de teamd

#yum install teamd

• Activation du service teamd !!

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

71
26/02/2016

Création de l’interface team avec nmcli


• Création d une interface team

#nmcli con add type team con-name Interface_team0 ifname team0 \


config '{ "runner": {"name": "loadbalance"}}‘

• Fichier /etc/sysconfig/network-scripts/ifcfg-Interface_team0

#cat /etc/sysconfig/network-scripts/ifcfg-Interface_team0
DEVICE=team0
TEAM_CONFIG="{ \"runner\": {\"name\": \"loadbalance\"}}"
DEVICETYPE=Team
NAME=Interface_team0
ONBOOT=yes

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

72
26/02/2016

Ajout adressage IP
• Ajout méthode manuelle, adresse IP, route, et dns

#nmcli con add type team con-name Interface_team0 ifname team0 \


config '{ "runner": {"name": "loadbalance"}}‘

• Fichier /etc/sysconfig/network-scripts/ifcfg-Interface_team0

# nmcli con mod Interface_team0 ipv4.addresses 192.168.1.10/24


# nmcli con mod Interface_team0 ipv4.gateway 192.168.1.1
# nmcli con mod Interface_team0 ipv4.method manual

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

73
26/02/2016

Ce qu’on a couvert
• Installation du service Teamd

• Création de l’interface team avec nmcli

• Ajout adressage IP

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

74
26/02/2016

NIC Teaming et Bridging


Gérer les interfaces
Team

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

75
26/02/2016

Plan
• Ajout des interfaces réseau avec nmcli

• Gestion de l’interface teaming

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

76
26/02/2016

Ajout des interfaces réseaux avec nmcli


• Ajout de l’interface enp0s3

# nmcli con add type team-slave con-name team0-enp0s3 ifname enp0s3 \


master team0
team0: Port device eth0 added
IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready
Connection ' team0-enp0s3 ' (d3…..) successfully added

• Fichier /etc/sysconfig/network-scripts/ifcfg-Interface_team0-enp0s3

#cat /etc/sysconfig/network-scripts/ifcfg- team0-enp0s3


NAME= team0-enp0s3
DEVICE= enp0s3
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

77
26/02/2016

Ajout des interfaces réseaux avec nmcli


• Ajout de l’interface enp1s3

# nmcli con add type team-slave con-name team0-enp1s3 ifname enp1s3 \


master team0
team0: Port device eth0 added
IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready
Connection ' team0-enp1s3 ' (d3…..) successfully added

• Fichier /etc/sysconfig/network-scripts/ifcfg-Interface_team0-enp1s3

#cat /etc/sysconfig/network-scripts/ifcfg- team0-enp1s3


NAME= team0-enp1s3
DEVICE= enp0s3
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

78
26/02/2016

Gestion de l’interface teaming


• Activation de l’interface

#nmcli con up Interface_team0

• Afficher les connexions

#nmcli con show


• Afficher la configuration du Teaming

#teamdctl team0 state


#teamdctl team0 config dump

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

79
26/02/2016

Ce qu’on a couvert
• Ajout des interfaces réseau avec nmcli

• Gestion de l’interface teaming

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

80
26/02/2016

NIC Teaming et Bridging


Comprendre les pont
réseau - Bridge

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

81
26/02/2016

Plan
• Introduction aux pont réseau -Bridge

• Installation et découverte de bridge-utils

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

82
26/02/2016

Introduction aux Bridge


• Un bridge ethernet est l'équivalent d'un switch virtuel au niveau
système
• Permet donc d’avoir des fonctions : Noyau

de commutation, TCPI/IP
spanning tree,
multiple port ethernet, br0

port de type channel bonding, team Bridge


VLAN, ...
eth0 eth1
• Pour partager une connexion internet
promiscuous promiscuous
• Surtout pour les machines virtuelles mode mode
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

83
26/02/2016

Installation de bridge-utils
• Le paquet bridge-utils fourni sur Red hat EL 7

• Créer et administrer des ponts


• Installation de bridge-utils

#yum install bridge-utils

#rpm –ql bridge-utils..

• La commande brctl

#brctl show
#brctl showmacs bridge0
#brctl add-br bridge0
#brctl add-if bridge0 enp0s3

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

84
26/02/2016

Ce qu’on a couvert
• Introduction aux pont réseaux -Bridge

• Installation et découverte de bridge-utils

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

85
26/02/2016

NIC Teaming et Bridging


Configurer un bridge

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

86
26/02/2016

Plan
• Configurer un bridge avec nmcli

• Les scripts ifcfg

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

87
26/02/2016

Configurer un bridge avec nmcli


• Création du bridge

#nmcli con add type bridge con-name br0 ifname br0


#nmcli con mod br0 ipv4.addresse 192.168.1.10/24
#nmcli con mod br0 ipv4.gateway 192.168.1.1
#nmcli con mod br0 ipv4.method manual

• Ajout de deux ports attaché s aux cartes Ethernet

#nmcli con add type bridge-slave con-name br0-port1 ifname enp0s3


#nmcli con add type bridge-slave con-name br0-port2 ifname enp0s8

• Visualiser le bridge

#brctl show
#brctl showstp br0

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

88
26/02/2016

Les scripts ifcfg


• Contenu des fichiers /etc/sysconfig/network-script/ifcfg-br0….

#cat /etc/sysconfig/network-script/ifcfg-br0
DEVICE=br0
STP=yes
TYPE=Bridge
BOOTPROTO=none
NAME=br0
UUID=d32d5d35-0032-48d4-ac05-bfd762ec0a70
ONBOOT=yes
BRIDGING_OPTS=priority=32768
IPADDR=192.168.1.10

#cat /etc/sysconfig/network-script/ifcfg-br0-port1
TYPE=Ethernet
NAME=br0-port1
UUID=b5145422-5b3a-4561-9066-c2f07054c72e
DEVICE=enp0s3
ONBOOT=yes
BRIDGE=br0

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

89
26/02/2016

Ce qu’on a couvert
• Configurer un bridge avec nmcli

• Les scripts ifcfg

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

90
26/02/2016

NIC Teaming et Bridging


Configurer un bridge
"teaming"

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

91
26/02/2016

Plan
• Mise en oeuvre d’une interface teaming

• NetworkManager

• Mise en oeuvre du Bridge

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

92
26/02/2016

Mise en oeuvre d’une interface teaming


• Création du teaming

#nmcli con add type team con-name team0 ifname team0 \


Config ‘{“runner”:{“activebackup”}}’

• Ajout de deux ports au teaming

#nmcli con add type team-slave con-name team0-port0 ifname enp0s3 \


Master team0
#nmcli con add type team-slave con-name team0-port1 ifname enp0s8 \
Master team0

• Visualiser l’interface team0

#teamdctl team0 state

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

93
26/02/2016

NetworkManager
• NetworkManager ne supporte pas le mélange Teaming sur Bridge

• Il faut donc désactiver NetworkManager !

• Travailler avec les scripts réseaux

• Désactivation de NetworkManager

#systemctl stop NetworkManager

#systemctl disable NetworkManager

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

94
26/02/2016

Mise en oeuvre du bridge


• Modification des scripts périphériques bridge et team

#vi /etc/sysconfig/network-script/ifcfg-brteam0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=none
DEFROUTE=no
NAME=brteamo
ONBOOT=yes
IPADDR=192.168.1.50
PREFIX=24

#vi /etc/sysconfig/network-script/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
BOOTPROTO=none
NAME=team
UUID=4d21f010-b7d1-48a2-9ef9-5897161fee6e
ONBOOT=yes
TEAM_CONFIG="{\"runner\": {\"name\": \"activebackup\"}}"
BRIDGE=brteam0

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

95
26/02/2016

Mise en oeuvre du bridge


• Redémarrage du serveur !!!

#reboot
• Afficher l’état du périphériques teaming

#teamdctl team0 config dump


#teamdctl team0 state
setup:
runner: activebackup
ports:
eth2
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

96
26/02/2016

Ce qu’on a couvert
• Mise en oeuvre d’une interface teaming

• NetworkManager

• Mise en oeuvre du Bridge

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

97
26/02/2016

Sécurité
Retour sur Firewalld

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

98
26/02/2016

Plan
• Retour sur Firewalld
Les Zones Firewalld
La commande firewall-cmd

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

99
26/02/2016

Retour sur Firewalld


• Firewalld est le programme employé par RHEL 7 pour administrer le firewall

• Le service Firewalld est une interface qui manipule le sous système noyau
Netfilter
• Firewalld utilise les commandes iptables, iptables6 et ebtables pour manipuler
les règles de firewall
• Les services iptables6.service, iptables.service et ebtables.service sont en conflit
avec le service firewalld.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

100
26/02/2016

Les Zones Firewalld

dns
www ssh

Public DMZ

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

101
26/02/2016

La commande firewall-cmd
• Pas de commande CLI (targetcli, nmcli, …)

• Firewall-cmd pour ajouter, supprimer, modifier des zones, des accès


• Manipuler les zones

#firewall-cmd --get-active-zones
public
interfaces: eth0

#firewall-cmd –set-default-zones =work

#firewall-cmd --list-all –zone=work

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

102
26/02/2016

La commande firewall-cmd
• Pas de commande CLI (targetcli, nmcli, …)

• Firewall-cmd pour ajouter, supprimer, modifier des zones, des accès


• Manipuler les zones

#firewall-cmd --get-active-zones
public
interfaces: eth0

#firewall-cmd --get-zones
block dmz drop external home internal public trusted work

#firewall-cmd –set-default-zones =work

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

103
26/02/2016

La commande firewall-cmd
• Manipuler les zones

#firewall-cmd --list-all
work (default, active)
interfaces: br0 eth0
sources:
services: dhcpv6-client ipp-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

#firewall-cmd --zone=internal --change-interface=eth0

# firewall-cmd --permanent --zone=internal --change-interface=eth0

#firewall-cmd --permanent --new-zone=test


success
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

104
26/02/2016

La commande firewall-cmd
• Manipuler les services et ports

#firewall-cmd --permanent --zone=work --add-service=http


services: dhcpv6-client ipp-client ssh http
ports:

#firewall-cmd --permanent --zone=work --remove--service=http

#firewall-cmd --zone=work --list-all

#firewall-cmd --permanent --zone=work --add-port=80/tcp


services: dhcpv6-client ipp-client ssh
ports: 80/tcp

#firewall-cmd --reload

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

105
26/02/2016

La commande firewall-cmd
• Manipuler les sources

#firewall-cmd --permanent --zone=work --add-source=192.168.10.0/24

#firewall-cmd --permanent --zone=work --remove-source=192.168.10.0/24

#firewall-cmd --zone=work --list-sources


192.168.10.0/24

#firewall-cmd --zone=work --add-service=ssh --permanent


#firewall-cmd --zone=work --add-source=10.0.0.10/32 --permanent

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

106
26/02/2016

La commande firewall-cmd
• Manipuler les sources

#firewall-cmd --permanent --zone=work --add-source=192.168.10.0/24

#firewall-cmd --permanent --zone=work --remove-source=192.168.10.0/24

#firewall-cmd --zone=work --list-sources


192.168.10.0/24

#firewall-cmd --zone=work --add-service=ssh --permanent


#firewall-cmd --zone=work --add-source=10.0.0.10/32 --permanent

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

107
26/02/2016

Ce qu’on a couvert
• Retour sur Firewalld
Les Zones Firewalld
La commande firewall-cmd

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

108
26/02/2016

Sécurité
Comprendre
les "Rich Rules"

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

109
26/02/2016

Plan
• Concept de “Rich Rules”
• Travailler avec les “Rich rules”

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

110
26/02/2016

Concept de “Rich Rules”


• Firewalld offre aux administrateurs deux autres méthodes qui ne sont pas
couvertes par les notions de zone et service pour ajouter des règles : les Direct
rules et les Rich rules

• Les Direct rules acceptent une syntaxe très proche d’iptables


#firewall-cmd --direct - - permanent --add-rule ipv4 raw INPUT 0 – s 192 . 168 . 0 . 0/24 - j DROP

• Les Rich rules permettent de mettre en œuvre des configurations complexes :


Liste d’accès au service par port, par protocole, par adressage ip, etc.
Limite du nombre de connexions par minute
Journaliser toutes les connexions
Redirection de port

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

111
26/02/2016

Travailler avec les “Rich rules”


• Les rich rules offre quatre options pour manipuler les règles riches.

• Une règles riche fait partie d’une zone (par défaut)

•Ajouter, supprimer ,lister et interroger les regles

#firewall-cmd --add-rich-rules=‘La regle a mettre en place’

#firewall-cmd --remove-rich-rules=‘La regle mise en place’

#firewall-cmd --query-rich-rule=‘La regle mise en place’

#firewall-cmd --list-rich-rules

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

112
26/02/2016

Travailler avec les “Rich rules”


•Syntaxe d’une règle riches

Rule
[source]
[destination]
Service l port l protocol l icmp-block l masquerade l forward-port
[log]
[ audit]
[ accept l rejectl drop]

# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.10.30/32 log accept‘

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

113
26/02/2016

Travailler avec les “Rich rules”


• Logue les connexions venant de la machine 192.168.10.30

# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.10.30/32 log accept'

• Accepte deux connexions par minutes sur le service http venant du réseau 192.168.10.0/24

# firewall-cmd --add-rich-rule='rule service name=http family=ipv4 source address=192.168.10.0/24\


limit value=2/m accept‘

• Accepte trois nouvelles connexions par secondes sur le service http venant du réseau 10.0.0./24,
journaliser avec un prefixe NEW HTTP

#firewall-cmd --permanent --add-rich-rule= ' rule family=ipv4 source address=10.0.0/24 \


service name= "http" log level=notice prefix="NEW HTTP" limit value="3/s" accept‘

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

114
26/02/2016

Ce qu’on a couvert
• Concept de “Rich Rules”
• Travailler avec les “Rich rules”

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

115
26/02/2016

Sécurité
Le Masquerading

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

116
26/02/2016

Plan
• Introduction au Masquerading

• Mise en place

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

117
26/02/2016

Introduction au Masquerading
• Une machine du réseau local souhaite atteindre une machine sur internet

• La machine du réseau local possède une adresse privée non routable

• La machine locale envoie les paquets à sa Gateway – Destination externe

• Le routeur/firewall transforme l’adresse source de la machine et tient une table de


correspondance – Table NAT (Network Translation Address)

• Le paquet retour d’internet est analysé par le routeur qui modifie l’adresse de
destination

Internet

NAT
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

118
26/02/2016

Mise en place
• Ajouter, supprimer le masquerade

#firewall-cmd --zones=work --add-masquerade --permanent

#firewall-cmd --zones=work --permanent --add-rich-rule='rule family=ipv4 source


address=192.168.10.0/24 masquerade‘

#firewall-cmd --reload

#firewall-cmd --zones=work --remove-masquerade --permanent

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

119
26/02/2016

Ce qu’on a couvert
• Introduction au Masquerading

• Mise en place

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

120
26/02/2016

Sécurité
Le port Forwarding

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

121
26/02/2016

Plan
• Introduction au Port forwarding

• Mise en place du transfert de port

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

122
26/02/2016

Introduction au Port forwarding


• Une machine externe ou interne souhaite accéder a un service http, ftp, smtp,…

• Vers une machine interne au réseau

• On va donc “forwarde” les paquets avec Firewalld vers une destination

• On fait donc du transfere de paquet

@IP privée
Port ftp
PORT FW
Internet
@IP privée
Port 80

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

123
26/02/2016

Mise en place
• Utilisation du transfert de port

#firewall-cmd --permanent --zone=public --add-forward \


-port=port=80:proto=tcp:toport=8080:toaddr=192.168.10.10

#firewall-cmd --permanent --zone=worrk --add-rich-rule=‘rule family=ipv4 \


source address=192.168.10.0/24 forward-port port=80 protocol=tcp to-port=8080’

#firewall-cmd --add-forward-port=port=22:proto=tcp:toaddr=192.168.10.202 --
permanent

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

124
26/02/2016

Ce qu’on a couvert
• Introduction au Port forwarding

• Mise en place du transfert de port

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

125
26/02/2016

Sécurité
Gérer les ports
avec SELinux

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

126
26/02/2016

Plan
• Introduction

• Gestion des ports réseau avec Semanage

• Comprendre auditd et SELinux

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

127
26/02/2016

Introduction
• SELinux ne se limite pas à labéliser les fichiers et programmes

• SELinux permet de gérer le trafic réseau en labélisant les ports réseaux

• Le port SSH labélisé SELinux est le port 22, un autre service ne pourra
pas utiliser ce port, il est labélisé port 22 service SSH
• Lors d’un changement de port pour un service, SELinux devra être mis à
jour pour accepter les connexions sur ce dernier.
• La commande semanage est l’outil de Policy Management
• Lister les ports

#semanage port –l
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
ssh_port_t tcp 22
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

128
26/02/2016

Gestion des ports réseaux avec Semanage


• Semanage n’est pas toujours installé par défaut sur le serveur
#grep targeted /etc/selinux/config

SELINUXTYPE=targeted

• Semanage fait partie du paquet policycoreutils-python, installation avec


yum
#yum provides semanage

#yum install –y policycoreutils-python

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

129
26/02/2016

Gestion des ports réseaux avec Semanage


• Autoriser le service SSH sur le port 8080

#semanage –a –t ssh_port_t –p tcp 8080

• La stratégie targeted utilise un nombre important de types de ports.

• Il faut parfois lire la documentation des ports, le paquet selinux-policy-


level contient les pages de man de chaque type de ports

• Autoriser le service SSH sur le port 8080

#yum -y install selinux-policy–devel


#mandb
#man –k _selinux

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

130
26/02/2016

Gestion des ports réseaux avec Semanage


• Autoriser le service SSH sur le port 8080

#semanage –a –t ssh_port_t –p tcp 8080

• Supprime le service SSH sur le port 8080

#semanage –d –t ssh_port_t –p tcp 8080

• Modifier le service SSH sur le port 8888

#semanage –m –t ssh_port_t –p tcp 8888

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

131
26/02/2016

Comprendre auditd et SELinux

SELinux

Auditd
Policy

/var/log/auditd/audit.log

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

132
26/02/2016

Comprendre auditd et SELinux


# semanage port -a -t ssh_port_t -p tcp 9998

#vi /etc/ssh/sshd_config
Port 8888

# systemctl restart sshd


# systemctl status sshd

#grep AVC /var/log/audit/audit.log | tail -1


type=AVC msg=audit(1449574323.517:393): avc: denied { name_bind } for pid=2844
comm="sshd" src=8888 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023
tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket

#semanage port -l | grep ssh

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

133
26/02/2016

Ce qu’on a couvert
• Introduction

• Gestion des ports réseau avec Semanage

• Comprendre auditd et SELinux

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

134
26/02/2016

Le service DNS
Comprendre le DNS
(Domain Name System)

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

135
26/02/2016

Plan
• Le rôle du service DNS (Domain Name System)

• L'espace de noms

• Les serveurs de noms

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

136
26/02/2016

Le rôle du service DNS (Domain Name System)


• Chaque ordinateur connecté au réseau possède une adresse IP.

• Le système DNS permet de résoudre le nom en adresse IP et inversement

• Avant 1983, les recherches se réalisaient au travers d’un fichier HOST.TXT. Copier
et recopier par le transfert de fichiers
• En 1983 Paul Mockapetris publie le design du système DNS RFC882, 883

• En 1987 la norme est publié RFC1034 et RFC1035

www.alphorm.com
78.34.59.1

www.alphorm.com A
78.34.59.1

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

137
26/02/2016

L'espace de noms
racine

org com net edu fr TLD

alphorm Domaine

forum www blog Hôte

www.alphorm.com.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

138
26/02/2016

Les serveur de noms


Noms de domaines Serveur DNS
Sous domaines
.root.servers

org com net edu fr a0.com.servers

alphorm ns01.alphorm
ns02.alphorm

forum www blog


www.alphorm.com.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

139
26/02/2016

Ce qu’on a couvert
• Le rôle du service DNS (Domain Name System)

• L'espace de noms

• Les serveurs de nom

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

140
26/02/2016

Le service DNS
Comprendre les
recherches DNS

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

141
26/02/2016

Plan
• Résolution du nom par un hôte

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

142
26/02/2016

Résolution du nom par un hôte


a.root.servers

www.alphorm.com A ?
A0.com.afilias-nst.info

Com NS A0.com.afilias-nst.info 2.3.4.5

www.alphorm.com A ?

www.alphorm.com A
78.34.59.1

Ns01.alphorm.com

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

143
26/02/2016

Ce qu’on a couvert
• Résolution du nom par un hôte

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

144
26/02/2016

Le service DNS
Comprendre les
enregistrements DNS

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

145
26/02/2016

Plan
• Qu’est-ce qu’un enregistrement DNS

• Les enregistrement de type SOA et NS

• Les enregistrement de type A et AAAA

• Les enregistrement CNAME

• Les enregistrement de “service” MX, SRV

• L’enregistrement PTR

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

146
26/02/2016

Qu’est-ce qu’un enregistrement DNS?


• Un DNS est une base de données répartie contenant des
enregistrements.
• Ces enregistrement sont appelés RR (Resource Records).

Nom de alphorm (FQDN) TTL Type Classe RData

alphorm.com. 3600 A IN (internet) 23.97.208.18

FQDN : Le nom de domaine pleinement qualifié. Se termine par un POINT.


TTL : Durée de vie, utile pour les serveurs de cache.
Type : Définit le type de ressources. Adresse IPv4, IPv6, service de messagerie. …
RessourceData : Données correspondant à l'enregistrement selon le type

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

147
26/02/2016

Les enregistrement de type SOA et NS


a.root.servers
A0.com.afilias-nst.info
$TTL 604800
86400 IN SOA a.root-servers.net. nstld.verisign-grs.com.
2016010600 ; Serial $TTL 604800
1800 ; Refresh 86400 IN SOA d.service.afiliasdns.com.
900 ; Retry 2016010600 ; Serial
604800 ; Expire 1800 ; Refresh
86400 ; Negative Cache TTL 900 ; Retry
604800 ; Expire
. IN NS a.root-servers.net. 86400 ; Negative Cache TTL
. IN NS b.root-servers.net.
. IN NS c.root-servers.net. 1.34.5.6 IN NS alphorm.com.

SOA (Start Of Authority) : le champ SOA permet de


Ns01.alphorm.com
décrire le serveur de nom ayant autorité sur la zone. $TTL
$TTL604800
604800
fournit les informations générales de la zone : le 86400
86400IN
INSOA
SOA alphorm.com..
alphorm.com..
2016010600
2016010600 ; ;Serial
Serial
serveur principal, messagerie de contact, différentes 1800
1800 ; ;Refresh
Refresh
durées dont celle d'expiration, numéro de série de la 900
900 ; ;Retry
Retry
604800
604800 ; ;Expire
Expire
zone 86400
86400 ; ;Negative
NegativeCache
CacheTTL
TTL

1.34.5.6
1.34.5.6 IN
INNS
NSns01.alphorm.com.
ns01.alphorm.com.
NS : correspond au serveur de noms ayant autorité sur 2.4.67.4
2.4.67.4 IN
INAA www
www
le Alphorm.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

148
26/02/2016

Les enregistrement de type A et AAAA


A0.com.afilias-nst.info
$TTL 604800
86400 IN SOA d.service.afiliasdns.com.
2016010600 ; Serial
1800 ; Refresh

Ns01alphorm.com. IN A 6.78.65.90
Ns0.alphorm.com. IN AAAA 2001:500:a5:0:0:0:0:1
Ns01.alphorm.com
$TTL 604800
86400 IN SOA alphorm.com..
A - address record : le type A décrit simplement une 2016010600 ; Serial
….
correspondance entre l’adresse IP et le non
canonique, nom d'hôte 1.34.5.6 IN NS ns01.alphorm.com.
www IN A 6.78.65.89
forum. IN A 6.78.65.88
AAAA - IPv6 address record : décrit simplement une ftp IN A 6.78.65.87
www IN AAAA 201:500:a5:0:0:1
correspondance entre l’adresse IP V6 et le non forum. IN AAAA 201:500:a5:0:0:2 ftp
canonique, nom d'hôte IN AAAA 201:500:a5:0:0:3

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

149
26/02/2016

Les enregistrement CNAME


Ns01.alphorm.com

$TTL 604800
86400 IN SOA alphorm.com..
2016010600 ; Serial
….

1.34.5.6 IN NS ns01.alphorm.com.
www IN A 6.78.65.89
forum IN CNAME www.alphorm.com.
ftp IN CNAME www.alphorm.com.

CNAME – Canonical Name: décrit un alias sur un FQDN,


un nom canonique.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

150
26/02/2016

Les enregistrement de “service” MX, SRV


Ns01.alphorm.com

$TTL 604800
86400 IN SOA alphorm.com..
2016010600 ; Serial
….
1.34.5.6 IN NS ns01.alphorm.com.
alphorm.com. 86400 IN MX 50 alt2.aspmx.l.google.com.
alphorm.com. 86400 IN MX 100 aspmx2.googlemail.com.

aspmx2.googlemail.com. 175 IN A 74.125.68.27


aspmx2.googlemail.com. 54 IN AAAA 2404:6800:4003:c02::1b

_sip._tcp.alphorm.com. 86400 IN SRV 0 33 5060 SRV sip1.alphorm.com..


_ldap._tcp.alphorm.com. 86400 IN SRV 0 33 5060 SRV ldap.alphorm.com.
_kerberos._tcp.alphorm.com. 86400 IN SRV 0 33 5060 SRV kerberos.alphorm.com.

SRV– Enregistrement de service: indique des services disponibles. Kerberos, ldap. On trouve le service _sip, le
protocole _tcp, le nom de alphorm, TTL, type SRV, priorité, poids, port et le serveur. Permet l’équilibrage de
charge.

MX – Mail Exchanger : fournit les noms d’hôtes et le poids des serveurs de messagerie

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

151
26/02/2016

L’enregistrement PTR
Ns01.alphorm.com

$TTL 604800
86400 IN SOA alphorm.com..
2016010600 ; Serial
….

1.34.5.6 IN NS ns01.alphorm.com.
0.168.192.in-addr.arpa. IN NS ns1.alphorm.com.
0.168.192.in-addr.arpa. IN NS ns2.alphorm.com.

2 IN PTR www.alphorm.com.
3 IN PTR ftp.alphorm.com.
4 IN PTR ldap.alphorm.com..

PTR– Pointer reccord: fournit les noms d’hôtes à partir de l’adresse IP,
il y a une zone particulière, in-addr.arpa, qui permet la résolution inverse d'adresses IP

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

152
26/02/2016

Ce qu’on a couvert
• Qu’est-ce qu’un enregistrement DNS

• Les enregistrement de type SOA et NS

• Les enregistrement de type A et AAAA

• Les enregistrement CNAME

• Les enregistrement de “service” MX, SRV

• L’enregistrement PTR

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

153
26/02/2016

Le service DNS
Le service de cache
DNS

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

154
26/02/2016

Plan
• Le serveur de cache ?

• Les serveurs de cache DNS

• DNSSEC

• Configuration d’un serveur de cache sécurisé - Unbound

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

155
26/02/2016

Le serveur de cache ?
a.root.servers

www.alphorm.com A ?
A0.com.afilias-nst.info

Com NS A0.com.afilias-nst.info 2.3.4.5

www.alphorm.com A ?

www.alphorm.com A
78.34.59.1

Ns01.alphorm.com

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

156
26/02/2016

Le serveur de cache ?
• Le client demande une résolution
de nom pour le serveur www.alphorm.com A ?
www.alphorm.com
J’ai la réponse conservé dans mon cache

• La réponse à la requête : www.alphorm.com A 78.34.59.1

Le serveur ne possède pas


www.alphorm.com A ?
l’information, il demande au
serveur de redirection la
résolution de nom. Le serveur www.alphorm.com A
78.34.59.1
le mets en cache
Dans le cache du serveur

On peut donc configurer un serveur en serveur de cache


Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

157
26/02/2016

Les serveur de cache DNS

https://www.unbound.net/
Le serveur DNS utilisé sous Linux et le
Petit serveur de validation, récursive
plus utilisé dans le monde
et cache sécurisé avec DNSSEC
Serveur d’Autorité de noms de
Sous licence BSD
domaines
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

158
26/02/2016

DNSSEC
• DNSSEC – Domain Name System Security Extensions :

Protocole standardisé IETF


Permet de sécuriser l’envoi des données du système DNS
Pas comme SSL, pas un “simple” canal chiffré, ne chiffre pas les
données DNS
Signe les enregistrements DNS et garantit la validité des données
Permet de déléguer dans les domaines et zones DNS
Permet de créer une chaine de confiance depuis la racine

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

159
26/02/2016

Configuration d’Ubound
• Installation du serveur de noms bind

#yum install –y unbound

#cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.original


# vim /etc/unbound/unbound.conf
auto-trust-anchor-file: "/var/lib/unbound/root.key"
verbosity: 1
interface: 192.168.0.1
logfile: /var/log/unbound
hide-identity: yes
hide-version: yes
harden-glue: yes
use-caps-for-id: yes
access-control: 192.168.0.0/24 allow
forward-zone:
name: "."
forward-addr: 208.67.222.222
forward-addr: 208.67.220.220
forward-addr: 8.8.8.8
forward-addr: 8.8.4.4

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

160
26/02/2016

Ce qu’on a couvert
• Le serveur de cache ?

• Les serveurs de cache DNS

• DNSSEC

• Configuration d’un serveur de cache sécurisé - Unbound

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

161
26/02/2016

Le service DNS
Mise en œuvre d'un
serveur DNS local Bind9

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

162
26/02/2016

Plan
• Le service Bind

• Installation de bind9

• Configuration du serveur named

• Création des zones de recherche

• Test !

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

163
26/02/2016

Le service Bind
• Le service DNS - Berkeley Internet Name Daemon
• Le logiciel est actuellement développé par l'Internet
Systems Consortium.
• Le serveur le plus utilisé sur Internet 80% des serveurs DNS

• Presque un standard

• Développé Paul Vixie, à l’université de Berkeley

• Aujourd’hui Bind est en version 9 :


DNSSEC, TSIG (authentification, identification des extrémités)..
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

164
26/02/2016

Installation de bind9
• Installation du serveur de noms bind

#yum install –y bind bind-utils

#rpm –ql bind9


/etc/named.conf
/etc/sysconfig/named

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

165
26/02/2016

Configuration du serveur named


• Configuration du service bind avec le fichier /etc/named.conf

#vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };
dnssec-validation no;
forward only;
forwarders { 8.8.8.8; };

• Déclaration des zones dans le fichier named.cond

#cat /etc/named.conf
zone "alphorm.lan" {
type master;
file "alphorm.lan.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" ….

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

166
26/02/2016

Création des zones de recherches


• Ouverture du service dns

#vi /var/log/named/alphorm.lan.db
$TTL 86400
@ IN SOA dns.alphorm.lan. root.alphorm.lan. (
2014080601 ; Serial
1d ; refresh
2h ; retry
4w ; expire
1h ) ; min cache

IN NS dns.alphorm.lan.
IN MX 10 mail.alphorm.lan.
gateway IN A 192.168.1.1
dns IN A 192.168.1.5
master IN CNAME dns.alphorm.lan.
mail IN A 192.168.1.10
client IN A 192.168.1.15

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

167
26/02/2016

Création des zones de recherches


• Ouverture du service dns

#vi /var/log/named/0.1.168.192.db
$TTL 86400
@ IN SOA dns.alphorm.lan. root.alphorm.lan. (
2014080601 ; Serial
1d ; refresh
2h ; retry
4w ; expire
1h ) ; min cache

IN NS dns.alphorm.lan.
1 IN PTR gateway.alphorm.lan.
5 IN PTR dns.alphorm.lan.
10 IN PTR mail.alphorm.lan.
15 IN PTR client.alphorm.lan.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

168
26/02/2016

Test
• Test du service dns

#dril dns.alphorm.lan
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 1996
;; flags: qr aa rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;; dns.alphorm.lan. IN A

#dig mail.alphorm.lan
;; QUESTION SECTION:
;mail.alphorm.lan. IN A

;; ANSWER SECTION:
mail.alphorm.lan. 86400 IN A 192.168.10.10

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

169
26/02/2016

Ce qu’on a couvert
• Le service Bind

• Installation de bind9

• Configuration du serveur named

• Création des zones de recherche

• Test !

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

170
26/02/2016

Le service Web
Configurer le serveur
apache

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

171
26/02/2016

Plan
• Introduction au serveur HTTP apache

• Installation d’apache

• Configuration du serveur HTTP

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

172
26/02/2016

Introduction au serveur HTTP apache


• Le serveur Apache est un serveur http

• Le serveur le plus populaire sur Internet

• Développé et maintenu par la fondation Apache


https://fr.wikipedia.org/wiki/Apache_Software_Foundation

• En 1995 la première version d’apache, basée sur le NCSA


HTTPd
• Entièrement réécrit, Apache est aujourd’hui en version 2.xx.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

173
26/02/2016

Introduction au serveur HTTP apache


• Apache est conçu de façon modulaire, il est facile de lui
ajouter de nombreuses fonctionnalités :
TLS, SSL,
Authentification des utilisateurs et des répertoires
Langage : perl, python, php, ruby, etc..
Réécriture d’urls,
Proxy,
Multi sites (Virtual host), etc..
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

174
26/02/2016

Installation d’apache
• Installation du serveur http

#yum groupinstall -y "Web server"


#rpm –ql apache-2….

• Activation du service http et configuration du firewall

# systemctl enable httpd


# systemctl start httpd

#firewall-cmd --permanent --add-service=https


Success
# firewall-cmd --reload
Success

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

175
26/02/2016

Configuration du serveur HTTP


• Configuration du service HTTP avec le fichier /etc/http/conf/httpd.conf

#vim /etc/http/conf/httpd.conf

ServerAdmin root@alphorm.lan
ServerName www.alphorm.lan:80

• Rechargment de la configuration

# systemctl restart httpd

• Créer un page html

#vim /var/www/html/index.html
<html><body>
Test Page
</body></html>

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

176
26/02/2016

Ce qu’on a couvert
• Introduction au serveur HTTP apache

• Installation d’apache

• Configuration du serveur HTTP

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

177
26/02/2016

Le service Web
Configurer des hôtes
virtuels

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

178
26/02/2016

Plan
• Introduction aux hôtes virtuels

• hôtes virtuels par nom

• hôtes virtuels par port

• hôtes virtuels par IP

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

179
26/02/2016

Introduction aux hôtes virtuels


• Le serveur Apache permet de gérer plusieurs sites web
indépendants sur le même serveur
• Chaque site est indépendant, avec sa propre configuration

• Il existe plusieurs méthodes afin d’héberger des VirtualHost :


VirtualHost par nom
VirtualHost par port
VirtualHost par IP

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

180
26/02/2016

hôtes virtuelles par nom


• Créer un fichier /etc/httpd/conf.d/vhost.conf

#vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerAdmin webmaster@www2.alphorm.lan
DocumentRoot /var/www/html/www2.alphorm.lan
ServerName www2.alphorm.lan
ErrorLog logs/www2.alphorm.lan-error_log
CustomLog logs/www2.alphorm.lan-access_log common
</VirtualHost>

• Vérification de la configuration

# httpd -D DUMP_VHOSTS

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

181
26/02/2016

hôtes virtuelles par port


• Configuration du service HTTP avec le fichier /etc/http/conf/httpd.conf

#vim /etc/http/conf/httpd.conf

Listen 80
Listen 81

• Créer un fichier /etc/httpd/conf.d/vhost.conf

#vim /etc/httpd/conf.d/vhost.conf
<VirtualHost 192.168.20.10:81>
ServerName server81
DocumentRoot /var/www/html/www81
</VirtualHost>

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

182
26/02/2016

hôtes virtuelles par IP

• Créer un fichier /etc/httpd/conf.d/vhost.conf

#vim /etc/httpd/conf.d/vhost.conf
<VirtualHost 192.168.30.30:80>
ServerName server1
DocumentRoot /var/www/html/www1
</VirtualHost>

<VirtualHost 192.168.20.10:80>
ServerName server2
DocumentRoot /var/www/html/www2
</VirtualHost>

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

183
26/02/2016

Ce qu’on a couvert
• Introduction aux hôtes virtuels

• hôtes virtuels par nom

• hôtes virtuels par port

• hôtes virtuels par IP

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

184
26/02/2016

Le service Web
L'authentification
des utilisateurs

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

185
26/02/2016

Plan
• Les dossiers privés

• L’authentification avec htpasswd

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

186
26/02/2016

Les dossiers privés


• Configuration du service HTTP avec le fichier /etc/http/conf/httpd.conf

#vim /etc/http/conf/httpd.conf

<Directory "/var/www/html/private">
AuthType Basic
AuthName “espace protegé par mot de passe"
AuthUserFile /etc/httpd/conf/password
Require user ludo
</Directory>

# apachectl configtest
Syntax OK

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

187
26/02/2016

L’authentification avec htpasswd


• Créer le fichier /etc/httpd/conf/password

#htpasswd -c /etc/httpd/conf/passwd ludo


New password: mot de passe
Re-type new password: ********
Adding password for user ludo

#chmod 600 /etc/httpd/conf/password


#chown apache:apache /etc/httpd/conf/password

• Rechargement de la configuration

#systemctl restart httpd

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

188
26/02/2016

Ce qu’on a couvert
• Les dossiers privés

• L’authentification avec htpasswd

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

189
26/02/2016

Le service Web
Transport Layer Security

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

190
26/02/2016

Plan
• TLS introduction

• Introduction au Certificat

• Créer des certificats

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

191
26/02/2016

TLS introduction
• Transport Layer Security est un protocole d’échange
sécurisé à clé publique/privé
• TLS est le successeur de SSL (Netscape)

• TLS permet :
L’authentification des serveurs
La confidentialité des échanges
L’intégrité des échanges

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

192
26/02/2016

Introduction au Certificat
• Dans le cas des serveurs web sécurisé avec TLS.

• L’identification est réalisée avec des certificats numériques X509

• Ces certficats contiennent :


Une clé publique
Des informations : société, adresse, pays, FQDN.
Une signature

• Les certificats sont validés par des AC (Autorité de certification).

• On peut utiliser des certificats auto-signés

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

193
26/02/2016

Introduction au Certificat

Client Web Serveur Web

connexion TLS est établie

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

194
26/02/2016

Créer des certificats


• Installation des outils crypto

#yum install crypto-utils

• Création du certificat

#genkey www.alphorm.lan

ATTENDRE !!

#ping –f www.alphorm.lan

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

195
26/02/2016

Créer des certificats


• Attribuer les permissions sur les certificats

#chmod 0644 /etc/pki/tls/certs/www.alphorm.lan.crt


#chmod 0644 /etc/pki/tls/private/www.alphorm.lan.key

• Afficher le certifcats

#openssl x509 -in /etc/pki/tls/certs/www.alphorm.lan.crt -noout –text


Certificate:
Data:
Version: 3 (0x2)
Serial Number: 2770634487 (0xa52486f7)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=FR, ST=Ile de france, L=Paris, O=alphorm.com, OU=formation, CN=www.alphorm.lan
Validity
Not Before: Jan 12 14:53:34 2016 GMT
Not After : Feb 12 14:53:34 2016 GMT

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

196
26/02/2016

Ce qu’on a couvert
• TLS introduction

• Introduction au Certificat

• Créer des certificats

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

197
26/02/2016

Le service Web
Apache mod_ssl

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

198
26/02/2016

Plan
• Introduction à Apache mod_ssl

• Configuration d’un hôte virtuel SSL

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

199
26/02/2016

Introduction a Apache mod_ssl


• Le module SSL fournit le support SSL v3 et TLS v1 au
serveur Apache
• Comme beaucoup d’outils de chiffrement, il s’appuie sur
OpenSSL
• Le module ssl permet des connexions https sur le port 443

• Le module SSL pour Apache fournit un virtualHost SSL

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

200
26/02/2016

Configuration d’un hôte virtuel SSL


• Installation du module ssl pour apache

#yum install mod_ssl

• Configuration du virtualHost SSL

#vi /etc/httpd/conf.d/ssl.conf

<VirtualHost *:443>
ServerName wwws.alphorm.lan
DocumentRoot /var/www/alphorm.lan.ssl
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/www.alphorm.lan.crt
SSLCertificateKeyFile / /etc/pki/tls/private/www.alphorm.lan.key
</VirtualHost>

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

201
26/02/2016

Configuration d’un hôte virtuel SSL


• Vérifiction de la configuration

#httpd –t
Syntax OK

#apachectl configtest
Syntax OK

#httpd -D DUMP_VHOSTS
VirtualHost configuration: *:443 is a NameVirtualHost
port 443 namevhost wwws.alphorm.lan (/etc/httpd/conf.d/ssl.conf….

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

202
26/02/2016

Test avec Openssl


• Vérification de la connexion SSL

#openssl s_client -connect localhost:443 -state


SSL_connect:before/connect initialization SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
….
….

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

203
26/02/2016

Ce qu’on a couvert
• Introduction à Apache mod_ssl

• Configuration d’un hôte virtuel SSL

• Test avec Openssl

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

204
26/02/2016

Le service Web
Gérer du contenu
dynamique

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

205
26/02/2016

Plan
• Introduction

• Common Gateway Interface

• Common Gateway Interface et perl

• PHP

• SELinux et la connexion aux Base de données

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

206
26/02/2016

Introduction
• Aujourd’hui les sites web ne se contentent plus de fournir
des pages statiques
• Les sites web modernes proposent des contenus
dynamiques
• Un administrateur Red hat Linux doit être en mesure de
fournir, de configurer des modules pour des contenus
dynamiques.
• Common Gateway Interface, du PHP, du Python, …

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

207
26/02/2016

Common Gateway Interface


• CGI - Commom Gateway Interface, en français Interface de
passerelle commune.
• La plus vieille méthode qui permet à Apache d’exécuter des
programmes.
• L’avantage de CGI est l’indépendance par rapport aux
programmes.
• Plus souvent utilisé avec le langage PERL, CGI est capable
d’exécuter des programmes en C, Java, VB, Shell, …
• Le langage doit respecter des contraintes d’entrées/sorties
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

208
26/02/2016

Common Gateway Interface et PERL


• Créons un petit, tout petit programme en Perl

#vi /var/www/cgi-bin/hello.pl
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World!";

#chmod 755 /var/www/cgi-bin/hello.pl

• Configuration d’Apache pour le CGI

#yum install –y perl perl-CGI


#vi /etc/httpd/conf.d/cgi-enabled.conf
<Directory "/var/www/html/cgi-enabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

209
26/02/2016

PHP
• PHP Hypertext Preprocessor

• Est un langage de script créé par Rasmus Lerdorf

• Il est utilisé pour fournir des contenus Web dynamiques

• PHP est surement le langage le plus utilisé sur le Web

• Facebook utilise PHP, mais aussi Wikipédia et de très nombreux sites


sur internet.
• On peut utiliser PHP avec CGI, mais on utilise plutôt les modules PHP
Apache : meilleures performance, sécurité, …

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

210
26/02/2016

PHP
• Installation du module php

#yum install –y php.x86_64

• Créons un petit script php

#vi /var/www/html/hello.php
<html>
<head>
<title>Exemple</title>
</head>
<body>
<?php
echo "Hello world";
?>
</body>
</html>

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

211
26/02/2016

SELinux et la connexion aux Base de données


• La plupart des données des sites web dynamiques sont conservées dans
des bases de données.
Contenus des sites
Structure des sites
Données des utilisateurs, etc, …

• Si la base de données est installée localement, il n’y pas de


configuration à mettre en place
• Lorsque la base données est distante, il faut modifier un booléen
SELinux :
httpd_can_network_connect_db

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

212
26/02/2016

Ce qu’on a couvert
• Introduction

• Common Gateway Interface

• Common Gateway Interface et perl

• PHP

• SELinux et la connexion aux Base de données

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

213
26/02/2016

Le service de courier
Le serveur Postfix

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

214
26/02/2016

Plan
• Introduction à Postfix

• Les différentes configurations de Postfix

• Architecture de Postfix

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

215
26/02/2016

Introduction
• Postfix est un serveur de messagerie développé par Wietse
Venema et plusieurs contributeurs.
• Postfix est conçu comme une alternative au serveur
Sendmail (difficulté de configuration).
• Postfix est LE serveur de messagerie par défaut de
nombreux systèmes de types Unix. Linux, MacOsx, BSD, …
• Postfix est publié sous licence IBM Public License 1.0. C'est
une licence libre, mais incompatible avec la GPL.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

216
26/02/2016

Les differentes configurations de Postfix


• Postfix peut gérer la plupart des configurations professionnelles :
Postfix sur une machine Internet autonome – Site internet
Postfix en client sans rôle (null-client) – Internet avec “smarthost”
Postfix sur un réseau local – Local uniquement
Postfix sur une passerelle/pare-feu – Système Satellite

• Possède de nombreuse fonctionnalités :


Réécriture d’adresse, Gestion du contenu (spam)
Multi sites (sites virtuels), gestion de backends ldap, SGBD, …
Support d’IPV6, support de TLS (authentification, sasl, chiffrement), etc.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

217
26/02/2016

Architecture de Postfix
• Composé d'une série de sous-démons :
Qmgr : gestionnaire des files d'attente .
Il contacte les agents de livraison
SMTP transfère les courriers vers les
serveurs de messagerie
LMTP : Livre les messages aux différents
services de messagerie POP, IMAP
LOCAL : Livre les messages dans les fichiers
de boites de types Unix

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

218
26/02/2016

Architecture de Postfix
• Principaux fichiers de configuration

• Les fichiers les plus importants se trouvent dans le répertoire


/etc/postfix :
main.cf : fichier de configuration générale du serveur
Virtual : réécriture des adresses
Aliases : les alias locaux
Access : contrôle d’accès des clients SMTP
master.cf : Informe les démons à lancer

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

219
26/02/2016

Ce qu’on a couvert
• Introduction à Postfix

• Les différentes configurations de Postfix

• Architecture de Postfix

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

220
26/02/2016

Le service de courier
Configurer Postfix
en Null-client

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

221
26/02/2016

Plan
• Introduction

• Null-client Configuration

• Test de la configuration

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

222
26/02/2016

Introduction
• Plusieurs configurations sont possibles avec postfix

• Null-client Configuration :
Ne reçoit pas les messages des clients, les tranfère sur un
serveur central

• Distribution de message locaux

• Serveur central de messagerie (réception, délivrance, relais


Etc..)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

223
26/02/2016

Null-client Configuration
• Configuration de postfix

#vi /etc/postfix/main.cf
myhostname = mail.alphorm.lan
mydomain = alphorm.lan
myorigin = $mydomain
inet_interfaces = loopback-only
mydestination =
relayhost = 192.168.10.1

• Vérification de la configuration

#postfix check

• Rechargement du service

#systemctl restart postfix

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

224
26/02/2016

Null-client Configuration
• Envoi d’un message électronique

#echo "This is a test." | mail -s "Test“ ludo@alphorm.lan

• Visualiser, recharger et supprimer des messages dans la file d’attente (queue)

#mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
C2EE98CEE3* 443 Fri Jan 15 12:25:00 root@alphorm.lan
ludo@alphorm.lan

#postsuper -r 733F88CEE5
postsuper: 733F88CEE5: requeued
postsuper: Requeued: 1 message

#postsuper -d 733F88CEE5
postsuper: 733F88CEE5 : removed
postsuper: Deleted: 1 message

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

225
26/02/2016

Ce qu’on a couvert
• Introduction

• Null-client Configuration

• Test de la configuration

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

226
26/02/2016

Base de données
Introduction aux
bases de données

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

227
26/02/2016

Plan
• Introduction

• SGDB - SGBDR

• Structure des SGBDR

• SQL - Structured Query Language

• Le marché des SGBDR

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

228
26/02/2016

Introduction
• Une base de données est un ensemble de données
organisées et structurées (support papier, support
électronique)
• Le but est de facilement consulter et modifier ces données

• Il faut un système pour gérer ces données

• Il faut un langage pour effectuer des opérations


(consultation, suppression, modification, etc.)
• On appelle cela un SGDB – système de Gestion de Base de
Données
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

229
26/02/2016

SGDB - SGBDR
• Un SGDB est un logiciel ou suite de logiciels destiné à
manipuler des informations dans une base de données
Sélectionner, trier, afficher, ajouter, supprimer, mettre à jour

• Les SGBD sont basés sur un modèle Client - Serveur

• Un SGBDR est un système de gestion de base de données


RELATIONNELLE

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

230
26/02/2016

Structure des SGBDR


• Dans un SGBDR, les données sont stockées sous format de
tables
Idenifiant
formateur
Prénom Nom Email Pays Table
1 Ludovic Quenec hdu lquenec@alphorm.com Belgique
FORMATEUR

2 André Deloin Adeloin@alphorm.com France

3 Hamid Harrabazan Hharrabazzan@alphor. Maroc


.

Table Formateur Idenifiant Formation Type Éditeur


FORMATION formation
1 13 RHCE OpenSource Red Hat

3 26 Vsphere 6 Virtualisation Vmware


2 12 CCNA Réseaux Cisco

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

231
26/02/2016

SQL - Structured Query Language


• Structured Query Language est un langage de requête structuré

1. SQL langage de manipulation de données des SGBDR


Rechercher, d'ajouter, de modifier ou de supprimer des données
dans les bases de données relationnelles
2. SQL langage de définition des données
Créer, modifier, supprimer l’organisation des données (tables)
3. SQL langage de transaction
Contrôle les données, autorise ou interdit l’accès aux données
(utilisateurs)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

232
26/02/2016

SQL - Structured Query Language


• Rechercher un formateur ludovic

SELECT nom
FROM `FORMATEUR`
WHERE nom = ludovic

• Rechercher tous les formateurs

SELECT nom
FROM `FORMATEUR`

• Insérer un nouveau formateur

INSERT INTO `FORMATEUR`


VALUES (`Vicky`, `Super`, `Vsuper@alphorm.com`, `Italie`)

• Supprimer les formateurs

DELETE * FROM `FORMATEUR`

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

233
26/02/2016

Le marché des SGBDR


# SGBDR
1. Oracle
2. MySQL
3. Microsoft SQL Server
4. PostgreSQL
5. DB2
Microsoft Access
6

… MariaDB

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

234
26/02/2016

Formations complètes sur les BDD

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

235
26/02/2016

Ce qu’on a couvert
• Introduction

• SGDB - SGBDR

• Structure des SGBDR

• SQL - Structured Query Language

• Le marché des SGBDR

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

236
26/02/2016

Base de données
MariaDB

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

237
26/02/2016

Plan
• Introduction à MariaDB

• Fonctionnalités de MariaDB

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

238
26/02/2016

Introduction MariaDB
• MariaDB est un “fork” de MySQL

• MySQL est racheté par Sun Microsystem et ensuite Sun est


racheté par Oracle Corporation
• Michael Widenius, fondateur de MySQL, lance le projet
MariaDB dans le but de le conserver sous licence Libre via la
fondation Open Database Alliance
• Depuis 2013 Wikipédia, Google, les distributions Linux Red Hat,
Fedora, Ubuntu ont tous migré vers MariaDB
• MariaDB reste compatible avec MySQL

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

239
26/02/2016

Introduction à MariaDB
• MariaDB est un système de gestion de bases de données
relationnelles
• MariaDB est sous licence GPL

• MariaDB est maintenu par la fondation MariaDB et la


société Monty Program AB
• La fondation assure que le produit reste libre

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

240
26/02/2016

Introduction MariaDB
• Les numéros de versions suivent ceux de MySQL
Latest
Version date date Status
version

5.1 2009-10-29[12] 5.1.67 2013-01-30[13] Stable (GA)

5.2 2010-04-10[14] 5.2.14 2013-01-30[15] Stable (GA)

5.3 2011-07-26[16] 5.3.12 2013-01-30[17] Stable (GA)

5.5 2012-02-25[18] 5.5.47 2015-12-10[19] Stable (GA)

10.0 2012-11-12[20] 10.0.23 2015-12-18[21] Stable (GA)

10.1 2014-06-30[22] 10.1.10 2015-12-24[23] Stable (GA)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

241
26/02/2016

Fonctionnalités de MariaDB
• Améliorations de performances
Réplication parallèle, Réplication plus rapide et plus sure
Le moteur de stockage Aria permet d'effectuer plus rapidement des
requêtes

• Tests plus rigoureux

• Moins d'alertes et de bugs

• Véritablement Open Source

• Disponible pour MS Windows, GNU/Linux, Unix, BSD.


Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

242
26/02/2016

Ce qu’on a couvert
• Introduction à MariaDB

• Fonctionnalités de MariaDB

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

243
26/02/2016

Base de données
Installation Maria DB

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

244
26/02/2016

Plan
• Installation du MariaDB

• Sécuriser MariaDB

• Configuration du réseau

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

245
26/02/2016

Installation du MariaDB
• MariaDB est un système client/Serveur

• Il faudra donc installer le serveur et les clients

• ariadb-server : Le serveur MariaDB

• MySQL-python : Interface pour le langage Python

• Mysql-connector-odbc : Les “drivers” ODBC

• Perl-DBD-MySQL : Interface pour le langage Perl

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

246
26/02/2016

Installation MariaDB
• Installation de MariaDB client et serveur

#yum groupinstall mariadb mariadb-client -y

• Activer et démarrer le service Mariadb

#systemctl enable mariadb.service


#systemctl start mariadb.service

#systemctl status mariadb.service

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

247
26/02/2016

Sécuriser MariaDB
• Le programme Mysql_secure_installation permet d’améliorer la sécurité
de l’installation :
Suppression du compte root
Suppression du compte Anonymous
Suppresion de la base de données Test
• Sécurisation de MariaDB serveur

#mysql_secure_installation
….
#firewall-cmd --permanent add-service=mysql
#firewall-cmd –reload
#ss -tulpn I grep mysql

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

248
26/02/2016

Configuration réseau
• MariaDB peut être configuré pour être accessible à distance

• Par défaut MariaDB est limité à des connexions locales

• Une petite structure peut avoir les services et la base de données sur le
même serveur.
• Ce n’est généralement pas le cas.

• Le fichier /etc/my.cnf permet de modifier le comportement par défaut

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

249
26/02/2016

Ce qu’on a couvert
• Installation du MariaDB

• Sécuriser MariaDB

• Configuration du réseau

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

250
26/02/2016

Base de données
Gérer une base
données MariaDB

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

251
26/02/2016

Plan
• Travailler avec des bases de données

Connexion
Créer, afficher, utiliser des bases
Créer, afficher, utiliser des tables
Insérer, mettre à jour, supprimer des données

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

252
26/02/2016

Travailler avec des bases de données


• Il existe plusieurs outils qui permettent de manipuler MariaDB

En mode cli : le shell mysql

En mode graphique

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

253
26/02/2016

Connexion
• Se connecter avec mysql cli

#mysql –user root –host mydbserver


Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

254
26/02/2016

Créer, afficher, utiliser des bases


• Afficher les bases de données

MariaDB [(none)]>show databases;


+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

255
26/02/2016

Créer, afficher, utiliser des bases


• Créer des bases de données

MariaDB [(none)]> CREATE DATABASE inventaire;


Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> show databases;


+--------------------+
| Database |
+--------------------+
| information_schema |
| inventaire |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

256
26/02/2016

Créer, afficher, utiliser des bases


• Utiliser la base de données inventaire

MariaDB [(none)]> USE inventaire


Database changed
MariaDB [inventaire]>

• Supprimer la base de données inventaire

MariaDB [inventaire]>DROP DATABASE inventaire;


Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> show databases;

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

257
26/02/2016

Créer, afficher, utiliser des tables


• Créer une table server

MariaDB [inventaire]> CREATE TABLE IF NOT EXISTS server (


id int(5) NOT NULL AUTO_INCREMENT,
type varchar(50) DEFAULT NULL,
Server_name varchar(250) DEFAULT NULL,
Date_achat DATE DEFAULT NULL,
Systeme varchar(20) DEFAULT NULL,
actif bool DEFAULT NULL,
fqdn varchar(250) DEFAULT NULL,
PRIMARY KEY(id)
);

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

258
26/02/2016

Créer, afficher, utiliser des tables


• Visualiser la table

MariaDB [inventaire]> SHOW TABLES ;

• Visualiser le contenu de la table

MariaDB [inventaire]> DESCRIBE server ;


+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(5) | NO | PRI | NULL | auto_increment |
| type | varchar(50) | YES | | NULL | |
| Server_name | varchar(250) | YES | | NULL | |
| Date_achat | date | YES | | NULL | |
| Systeme | varchar(20) | YES | | NULL | |
| actif | tinyint(1) | YES | | NULL | |
| fqdn | varchar(250) | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

259
26/02/2016

Insérer, mettre à jour, supprimer des données


• Insérer de nouvelles données

MariaDB [inventaire]> INSERT INTO server


(type, server_name, Date_achat, Systeme, actif, fqdn)
VALUES
('xeon','mariadb',Now(),'RedHat',1,'mydbserver.alphorm.lan');

• Afficher les nouvelles données

MariaDB [inventaire]> SELECT * FROM server;


+----+------+-------------+------------+----------+-------+------------------------+
| id | type | Server_name | Date_achat | Systeme | actif | fqdn |
+----+------+-------------+------------+----------+-------+------------------------+
| 1 | xeon | mariadb | 2016-01-18 | RedHat | 1 | mydbserver.alphorm.lan |
+----+------+-------------+------------+----------+-------+------------------------+
1 row in set (0.00 sec)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

260
26/02/2016

Insérer, mettre à jour, supprimer des données


• Mettre à jour des entrées dans la table server

MariaDB [inventaire]> UPDATE server SET Systemte='RedHat' WHERE id=4;


MariaDB [inventaire]> SELECT * FROM server;
| 4 | xeon | dns_server | 2016-01-18 | MS WINDOWS | 1 | dns.alphorm.lan |
+----+------+--------------+------------+------------+-------+------------------+

• Supprimer des entrées dans la table server

MariaDB [inventaire]> DELETE From server WHERE fqdn='dns.alphorm.lan' ;


Query OK, 1 row affected (0.00 sec)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

261
26/02/2016

Ce qu’on a couvert
• Travailler avec des bases de données

Connexion
Créer, afficher, utiliser des bases
Créer, afficher, utiliser des tables
Insérer, mettre à jour, supprimer des données

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

262
26/02/2016

Base de données
Administrer les utilisateurs
et les permissions

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

263
26/02/2016

Plan
• Créer des utilisateurs

• Afficher les utilisateurs

• Les permissions des utilisateurs

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

264
26/02/2016

Créer des utililsateurs


• Ajouter, supprimer des utilisateurs

#mysql –user root –host mydbserver


MariaDB [(none)]>CREATE USER ludo@localhost IDENTIFIED BY ‘password‘;

MariaDB [(none)]> USE mysql;


MariaDB [mysql]> SHOW TABLES;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| user |
+---------------------------+

MariaDB [mysql]> DROP USER 'ludo@localhost‘ ;

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

265
26/02/2016

Afficher les utilisateurs


• Afficher les utilisateurs

MariaDB [mysql]> SELECT host,user,password FROM user ;


….
| netservice.alphorm.lan | root
|% | ludo@localhost | 802E6B1616DCEC08935FC0036EE04229EA
+--------------------+----------------+-------------------------------------------+

• Afficher l’utilisateur ludo

MariaDB [mysql]> SELECT host,user,password FROM user WHERE user='ludo';


+-----------+------+-------------------------------------------+
| host | user | password
+-----------+------+-------------------------------------------+
| localhost | ludo | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E1
+-----------+------+-------------------------------------------+

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

266
26/02/2016

Vérifier les permissions de l’utilisateur


• Se connecter avec le nouvel utilisateur

#mysql –user ludo –p


Password:

• Créer une base de données avec l’utilisateur ludo

MariaDB [(none)]> CREATE DATABASE inventory ;


ERROR 1044 (42000): Access denied for user 'ludo'@'localhost' to database
'inventory‘

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

267
26/02/2016

Les permissions des utilisateurs


• Autoriser le user ludo a Afficher, mettre a jour et insérer de nouvelles entrées dans la table
server de la base inventaire

MariaDB [inventaire]> GRANT SELECT,UPDATE,INSERT ON inventaire.server TO


ludo@localhost ;

• Modifier des entrées avec le user ludo

MariaDB [inventaire]> UPDATE server SET Systemte='RedHat' WHERE id=4 ;


Query OK, 0 rows affected (0.01 sec)

• Supprimer des entrées avec le user ludo

MariaDB [inventaire]> DELETE From server WHERE id=1;;


ERROR 1142 (42000): DELETE command denied to user 'ludo'@'localhost' for table
'server’

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

268
26/02/2016

Les permissions des utilisateurs


• Ajout de la suppression pour l’utilisateur ludo sur la DB inventaire

MariaDB [inventaire]> GRANT DELETE ON inventaire.server TO ludo@localhost ;

• Affichage des permissions pour l’utilisateur ludo sur la DB inventaire

MariaDB [inventaire]> SHOW GRANTS FOR ludo@localhost ;


+---------------------------------------------------------------------------------------|
Grants for ludo@localhost
+---------------------------------------------------------------------------------------|
| GRANT SELECT, INSERT, UPDATE, DELETE ON `inventaire`.`server` TO
'ludo'@'localhost'
+---------------------------------------------------------------------------------------

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

269
26/02/2016

Les permissions des utilisateurs


• Supprimer des permissions pour l’utilisateur ludo sur la DB inventaire

MariaDB [inventaire]> REVOKE SELECT, DELETE ON inventaire.server FROM


ludo@localhost ;
Query OK, 0 rows affected (0.00 sec)

MariaDB [inventaire]> SHOW GRANTS FOR ludo@localhost ;


+---------------------------------------------------------------------------------------
| Grants for ludo@localhost
+---------------------------------------------------------------------------------------
GRANT INSERT, UPDATE ON `inventaire`.`server` TO 'ludo'@'localhost'
+---------------------------------------------------------------------------------------

• Appliquer les modifications

MariaDB [inventaire]> FLUSH PRIVILEGES ;

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

270
26/02/2016

Ce qu’on a couvert
• Créer des utililsateurs

• Afficher les utilisateurs

• Les permissions des utilisateurs

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

271
26/02/2016

Base de données
Sauvegarder et restaurer
des bases données

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

272
26/02/2016

Plan
• Introduction

• Sauvegarder des bases de données

• Restaurer des bases de données

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

273
26/02/2016

Introduction
• Les bases de données contiennent généralement des
informations critiques pour l’entreprise :
Données clients, Données utilisateurs
Configuration des machines et programmes
Sites web

• Deux méthodes de sauvegarde :


Logique : Requêtes SQL, portable (Postgres, ..), à chaud, pas de log,
pas de fichier de configuration, plus lente
Physique : Log et fichier de configuration, à froid, plus rapide
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

274
26/02/2016

Sauvegarder des bases de données


• Sauvegarde logique de toutes les bases de données

#mysqldump –-user root –password –all-databases > /backup/DB.sql

• Sauvegarde logique de la base de données INVENTAIRE

#mysqldump –-user root –password inventaire > /backup/invetaire-$(date +%F).sql

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

275
26/02/2016

Restaurer des bases de données


• Restauration de la base de données INVENTAIRE

#mysql –-user root


MariaDB [(none)]> CREATE DATABASE inventaire;
MariaDB [(none)]> show databases ;

| inventaire |
….

MariaDB [(none)]> exit

#mysql –-user root inventaire </backup/invetaire-xxx.sql

#mysql –-user root


MariaDB [(none)]> use inventaire
MariaDB [inventaire]> SELECT * FROM server ;

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

276
26/02/2016

Ce qu’on a couvert
• Introduction

• Sauvegarder des bases de données

• Restaurer des bases de données

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

277
26/02/2016

Stockage réseau
Les technologies
SAN & NAS

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

278
26/02/2016

Plan
• Comprendre le NAS

• Comprendre le SAN

• Le Fibre channel

• Le FCoE – Fibre Channel over Ethernet

• Le ISCSI - Internet Small Computer System Interface

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

279
26/02/2016

Comprendre le NAS
• Network Attached Storage

• Propose des services de mise en réseau de fichiers sur TCP/IP

• Les clients accèdent aux données via des systèmes de fichiers réseau

• Les NAS utilisent les protocoles :


Server Message Block - SMB fournit par Microsoft
Network File System - NFS pour le monde Unix/Linux

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

280
26/02/2016

Comprendre le NAS
• Avantages ☺
Administration simple de la baie de stockage
Un prix faible pour de grandes capacités
Un accès par plusieurs postes clients aux mêmes données
Administration simple des postes clients
Utilisation des protocoles standardisés depuis longtemps

• Inconvénients
Différents types clients (Microsoft, linux, Apple)
Pas les meilleures performances

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

281
26/02/2016

Comprendre la SAN
• L’accès au stockage de type NAS est de type fichier.

• Les données sont des volumes partagés sur le réseau

• Le SAN – Storage Aera Network – réseau stockage

• L’accès au données est de type “block”

• Les volumes de stockage apparaissent comme des disques durs

• Plusieurs technologies de stockage réseau :


Fibre Channel
Fibre Channel over ethernet
iSCSI
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

282
26/02/2016

Comprendre le SAN
• Avantages ☺
La Qualité de service : en fonction du média (la fibre optique assure la transmission des
données)
La disponibilité : Le SAN assure la redondance du stockage, la haute disponibilité des
données
L'hétérogénéité : Le SAN n’est pas lié à un environnement particulier : les serveurs Unix,
Windows, Linux, Apple peuvent tous rejoindrent un SAN.
Performances : La performance de l'accès aux disques n’est pas à comparer avec un NAS.

• Inconvénients
Le coût : en fonction du type de SAN (Fibre Channel, FCoE, iSCSI), le coût devient un
élément de rejet d’une architecture SAN (réseau dédié aux stockages).
L’administration : est bien plus complexe qu’un NAS. Il faut souvent un administrateur
dédié au stockage.
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

283
26/02/2016

Le Fibre channel
• Il existe plusieurs types de SAN :

Fibre Channel Connexion très haut


débit 16Go/s actuellement.
32 Gb/s, 128Gb bientôt.

Protocole série, peut donc


fonctionner sur de la paire
torsadée, du câble coaxial ou de
la fibre optique.

Nécessite un réseau
(commutateur, routeur, carte)
dédié à FC, d’où un coût
important.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

284
26/02/2016

Le FCoE – Fibre Channel over Ethernet


• Il existe plusieurs types de SAN :
Simplification de l'architecture, et
Fibre Channel Over Ethernet la réduction des coûts.

Encapsule les trames Fibre Channel


dans des trames jumbo Ethernet.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

285
26/02/2016

Le ISCSI
• Il existe plusieurs types de SAN :

iSCSI Protocole de stockage en


réseau basé sur le protocole IP.

Transporte les commandes


SCSI sur les réseaux IP.

Se composent de cible (LUN


des disques) et d’initiateur
(logiciels clients ISCSI)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

286
26/02/2016

Ce qu’on a couvert
• Comprendre le NAS

• Comprendre le SAN

• Le Fibre channel

• Le FCoE – Fibre Channel over Ethernet

• Le ISCSI - Internet Small Computer System Interface

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

287
26/02/2016

Stockage réseau
Le protocole iSCSI

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

288
26/02/2016

Plan
• Le protocole ISCSI – Internet Small Computer Interface

• Les Logicals Units Numbers - LUN

• Notion de cibles – Targets

• Notion d’initiateur – Initiator

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

289
26/02/2016

Le protocole ISCSI – Internet Small Computer Interface


• Dans les années 1990 IBM lance des recherches pour transporter des
commandes SCSI par le réseau, sur Ethernet, IP et TCP/IP.
• Au début des années 2000, IBM et Cisco s’allient pour proposer une
première version d’ISCSI sur TCP. Transport de commandes SCSI sur
TCP/IP.
• IETF publie des RFC pour ISCSI
RFC 3720 - Internet Small Computer Systems Interface (iSCSI), avril 2004.
RFC 3721 - Internet Small Computer Systems Interface (iSCSI) Naming and
Discovery, avril 2004.
RFC 3722 - String Profile for Internet Small Computer Systems Interface
(iSCSI) Names, avril 2004.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

290
26/02/2016

Les Logicals Units Numbers - LUN


Une unité logique ou LUN est un domaine de stockage

Raid LUN 0

Les LUNs identifient des


/dev/sda LUN 1
unités de stockage SAN

LVM LUN 2

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

291
26/02/2016

Notion de cibles – Targets


On mappe les LUN sur des “targets” iscsi

Raid LUN 0 Iqn.2015-04-02.com.alphorm.home


• ACL
• Identification

/dev/sda LUN 1 Iqn.2015-04-02.com.alphorm.rhel7


• ACL
• Identification

LVM LUN 2 Iqn.2015-04-02.com.alphorm.var


• ACL
• Identification

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

292
26/02/2016

Notion de d’initiateur – initiator


Portal : 192.168.1.10
Iqn.2015-04-02.com.alphorm.home initiateur ISCSI
Raid LUN 0

Iqn.2015-04-02.com.alphorm.rhel7

/dev/sda LUN 1

Découverte du portail
Iqn.2015-04-02.com.alphorm.var
Connexion aux cibles
LVM LUN 2

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

293
26/02/2016

Ce qu’on a couvert
• Le protocole ISCSI – Internet Small Computer Interface

• Les Logicals Units Numbers - LUN

• Notion de cibles – Targets

• Notion d’initiateur – Initiator

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

294
26/02/2016

Stockage réseau
Créer des Target iSCSI
avec targetcli

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

295
26/02/2016

Plan

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

296
26/02/2016

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

297
26/02/2016

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

298
26/02/2016

Les “Backstore” fileio, blockio


• Deux types de backstore :
Fileio utilise la RAM pour le cache, beaucoup de RAM pour de bonnes performances.
Blockio, utlise le cache “matériel”, contrôleur et disques. Bonne performances sur les
gros fichiers, très peu de latence.

• Lancer targetcli en mode shell

#targetcli

• Création des backstore

#/> backstores/fileio/ create home /home_dir/home_user.img 1T


#/> backstores/block/ create VM /dev/vgvm/lv_redhat7
#/> backstores/block/ create DB /dev/vgvm/lv_mariadb

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

299
26/02/2016

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

300
26/02/2016

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

301
26/02/2016

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

302
26/02/2016

Ce qu’on a couvert
• Introduction

• Installation du service

• Les “Backstore” fileio, blockio

• Iscsi Qualified Name


Création de l’iqn
Création des Luns
Mise en place des acls
L’authentification CHAP

• Sauvegarde de la configuration

• Firewalld
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

303
26/02/2016

Stockage réseau
Iscsiadm
accéder aux Targets

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

304
26/02/2016

Plan
• Installation, configuration service iscsi

• L’initiateur iscsiadm

• Connecter les cibles

• Utiliser le nouveau disque “local”

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

305
26/02/2016

Installation, configuration service iscsi


• Après l’installation du service iscsi

• Le service iscsi se configure via les fichiers /etc/iscsi/initiatorname.iscsi


et /etc/iscsi/iscsid.conf.

• Installation de l’initiateur

#yum install iscsi-initiator-utils

• Configuration

#sed ‘s/InitiatorName=/InitiatorName=iqn…..:client/’ /etc/iscsi/initatorname.iscsi


#vi /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = ludo
node.session.auth.password = mon_password

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

306
26/02/2016

L’initiateur iscsiadm
• Iscsiadm est l’outil d’open-iscsi qui permet
La découverte et le logging des cibles iscsi
Administration des cibles
• Découverte et login sur le portal iscsi

#iscsiadm -m discovery -t sendtargets –p portal


#iscsiadm --mode node --targetname iqn.2015-08.com.alphorm:hone --portal
192.168.1.10 –login

• Afficher les informations de session de la cible

#iscsiadm --m session –P 3

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

307
26/02/2016

Utiliser le nouveau disque “local”


• Identifier le disque iscsi

#lsblk --scsi

• Créer un file system sur le nouveau disque

#mkfs.xfs /dev/sdc

• Identifier l’UUID du disque et le monter au démarrage

#blkid | grep ‘/dev/sdc’


#echo “UUID=….. /opt/machines_virtuelles xfs _netdev 0 0 “ >>/etc/fstab

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

308
26/02/2016

Ce qu’on a couvert
• Installation, configuration service iscsi

• L’initiateur iscsiadm

• Utiliser le nouveau disque “local”

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

309
26/02/2016

Écrire des scripts simples


Écrire des scripts
simples

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

310
26/02/2016

Plan
• Introduction aux scripts Shell

• Qu’est-ce qu’un script Shell?

• L’interpréteur de commande

• Exécuter un script

• L’indentation

• Les commentaires

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

311
26/02/2016

Introduction aux scripts Shell


• Linux offre de nombreuses commandes pour administrer au jour le jour
son système Redhat.
• Cependant il est parfois nécessaire d’enchainer plusieurs commandes
pour obtenir un résultat plus complexe
• Il est parfois également nécessaire de combiner plusieurs commandes
afin d’automatiser des tâches.
• Il est parfois également nécessaire d’effectuer des opérations avant et
après l’exécution de commandes (répertoire existant, informer
l’utilisateur)
• Il est parfois également nécessaire d’exécuter plusieurs fois la même
commande, d’attendre un résultant afin d’exécuter une commande

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

312
26/02/2016

Introduction aux scripts Shell


• Pour se faire on écrit des scripts shell.

#!/bin/sh

echo -n "Entrez un nom de fichier: "

read file
if [ -e "$file" ];
then echo "Le fichier existe!"
else echo "Le fichier n'existe pas"
fi
exit 0

• Il existe d’autres langages pour traiter des opérations :


Python, Perl, Ruby, …
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

313
26/02/2016

Qu’est-ce qu’un script Shell


• Un script Shell est un simple fichier texte

• Il suffit donc d’un éditeur de texte pour écrire des scripts : Vim, emacs.
Gedit, etc..
• Un script est donc un ensemble d’instructions exécutées les unes à la
suite des autres
#!/bin/sh

if [ -e "$file" ];
then echo "Le fichier existe!"
else echo "Le fichier n'existe pas"
fi
exit 0

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

314
26/02/2016

L’interpréteur de commande
• Chaque script démarre avec le lancement d’un interpréteur de
commande, le shebang, représenté par #! Suivi par un Shell
• Qui indique que le fichier n’est pas un fichier binaire
#!/bin/sh
#!/bin/bash
#!/bin/perl

• Un script est donc un ensemble d’instructions, ce script doit être


exécutable :
#chmod 755 mon_script

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

315
26/02/2016

Executer un script
#cd /home/ludo/scripts/
[/home/ludo/scripts/ ]#./mon_script

[/home/ludo/scripts/ ]#. mon_script

• La variable PATH définit les répertoires où se trouvent les commandes


exécutables sans devoir spécifier le répertoire parent de la commande
#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#echo $PATH | tr : \\n

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

316
26/02/2016

L’indentation
• On peut écrire un script :

#!/bin/sh; echo -n "Entrez un nom de fichier: " ; read file; if [ -e "$file" ]; then echo "Le
fichier existe!" ; else echo "Le fichier n'existe pas" ; fi ;exit 0

#!/bin/sh
echo -n "Entrez un nom de fichier: "
read file
if [ -e "$file" ]
then echo "Le fichier existe!"
else echo "Le fichier n'existe pas"
fi
exit 0

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

317
26/02/2016

L’indentation
• On peut écrire un script avec l’indentation :

#!/bin/sh

echo -n "Entrez un nom de fichier: "

read file

if [ -e "$file" ]
then echo "Le fichier existe!"
else echo "Le fichier n'existe pas"
fi

exit 0

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

318
26/02/2016

Les commentaires
• Les commentaires permettent d’informer l’utilisateur et les
développeurs

#Ceci est un commentaire

#!/bin/sh

echo -n "Entrez un nom de fichier: " # Demande a l’utilisateur un nom de fichier

#Crée une variable file


read file
if [ -e "$file" ]
then echo "Le fichier existe!"
else echo "Le fichier n'existe pas"
fi

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

319
26/02/2016

Formation bash sur Alphorm


• http://www.alphorm.com/tutoriel/formation-en-ligne-scripting-bash

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

320
26/02/2016

Ce qu’on a couvert
• Introduction aux scripts Shell

• Qu’est-ce qu’un script Shell?

• L’interpréteur de commande

• Executer un script

• L’indentation

• Les commentaires

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

321
26/02/2016

Écrire des scripts simples


Les sorties

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

322
26/02/2016

Plan
• La commande echo

• La commande read

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

323
26/02/2016

La commande echo
• La commande echo permet d’afficher une chaîne de caractères sur la
sortie standard :
• Affiche sur la sortie standard

# echo ‘$HOME’
$HOME

# echo "Hello world"


Hello world

# echo "\$HOME"
$HOME

# echo "'$HOME'"
'/root'

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

324
26/02/2016

La commande echo
• Affiche sur la sortie standard

#echo -e "ligne 0\nligne 1\nligne 2"


ligne 0
ligne 1
ligne 2

#echo -e « \nligne«

ligne
#echo -e "\t une tabulation avec echo"
une tabulation avec echo

#echo -n bonjour
bonjourroot@rhel7:#

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

325
26/02/2016

La commande read
• La commande read lit l’entrée standard et affecte la valeur dans la
variable :
# read var1
le contenu
# echo $var1
le contenu

[root@netservice ~]# echo $var1


je
[root@netservice ~]# echo $var2
suis
[root@netservice ~]# echo $var3
pari
[root@netservice ~]# echo $var4
a la plage il fait beau

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

326
26/02/2016

La commande read
• La commande read lit l’entrée standard et affecte la valeur dans la
variable :
[root@netservice ~]# read -p "saisir une var : " var5
saisir une var : test var
[root@netservice ~]# echo $var5
test var

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

327
26/02/2016

Ce qu’on a couvert
• La commande echo

• La commande read

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

328
26/02/2016

Écrire des scripts simples

Les variables

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

329
26/02/2016

Plan
• Qu’est-ce qu’une variable?

• Déclarer et supprimer des variables

• Substitution de commande

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

330
26/02/2016

Qu’est-ce qu’une variable?


• Une variable permet de stocker des données temporairement en mémoire

• Comme son nom l’indique, il est facile de modifier l’information stockée

• Les variables en Shell ne sont pas typées

• En Shell, on affecte une variable avec le signe = : var=“contenu”

• En Shell, on utilise une variable avec un $ : echo $var

• Les variables ne sont “visibles” que dans le Shell courant

• Par convention les variables en majuscule sont des variables d’environnement,


utilisables dans tous les scripts:
$USER, $HOME, $PWD, $DISPLAY, $PATH

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

331
26/02/2016

Déclarer et supprimer des variables


• Déclarer une variable

# var=« contenu"
# echo $var
contenu

var="contenu_modifier"
# echo $var
contenu_modifier

COMPTEUR=50
fichier=/etc/fichier
rep="/etc/"

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

332
26/02/2016

Déclarer et supprimer des variables


• Portée d’une variable

# rep="/etc/"
# echo $rep
/etc/
# bash
# echo $rep

• Exporte d’une variable

# export rep
# bash
# echo $rep
/etc/
#

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

333
26/02/2016

Déclarer et supprimer des variables


• Supprimer des variables

#unset rep

• Variable en lecture seule

#readonly rep
# echo $rep
/etc/
# rep="/dir/"
bash: rep : variable en lecture seule

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

334
26/02/2016

Substitution de commande
# var=$(date +%F)
#echo $var
2016-01-20

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

335
26/02/2016

Ce qu’on a couvert
• Qu’est-ce qu’une variable?

• Déclarer et supprimer des variables

• Substitution de variables

• Substitution de commande

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

336
26/02/2016

Écrire des scripts simples

Les variables
spéciales

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

337
26/02/2016

Plan
• Les variables positionnelles

• Les variables d’états

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

338
26/02/2016

Les variables positionnelles


• Lors de l’exécution d’un script, des variables ou paramètres sont
initialisés
• Ces variables permettent de récupérer des informations sur les
arguments et les arguments passés en paramètres

$0 Le nom de la commande (i.e. : du script)

Le premier, deuxième, etc, argument passés au


$1, $2, etc.
script.

$* et $@ La liste de tous les arguments passés au script.

$# Le nombre d'arguments passés au script.

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

339
26/02/2016

Les variables positionnelles


• Affichage des paramètres

#vi parametres.sh
echo "Le paramètre #1 est $1"
echo "Le paramètre #2 est $2"
echo "Le paramètre #3 est $3"
echo "Le paramètre #4 est $4"
echo "Le paramètre #5 est $5"
echo "Le paramètre #6 est $6"
echo "Le paramètre #7 est $7"
echo "Le paramètre #8 est $8"
echo "Le paramètre #9 est $9"
echo "Le paramètre #10 est ${10}"
echo "Le paramètre #11 est ${11}"
echo "Le paramètre #12 est ${12}"
echo "La liste des paramètres avec \$@ est $@"
echo "La liste des paramètres avec \$* est $*"
echo "Le nombres de paramètres est $#"

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

340
26/02/2016

Les variables positionnelles


• Test des paramètres

# ./parametres 12 fg ewr hg 324 87 21 sd sfvghg werwer fdgd 3365


Le paramètre #1 est 12
Le paramètre #2 est fg
Le paramètre #3 est ewr
Le paramètre #4 est hg
Le paramètre #5 est 324
Le paramètre #6 est 87
Le paramètre #7 est 21
Le paramètre #8 est sd
Le paramètre #9 est sfvghg
Le paramètre #10 est werwer
Le paramètre #11 est fdgd
Le paramètre #12 est 3365
La liste des parametres avec $@ est 12 fg ewr hg 324 87 21 sd sfvghg werwer fdgd 3365
La liste des parametres avec $* est 12 fg ewr hg 324 87 21 sd sfvghg werwer fdgd 3365
Le nombres de parametres est 12

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

341
26/02/2016

Les variables d’états

Le code de retour d’une commande. Permet


$? de diagnostiquer la réussite (0) ou l’échec d’une
commande Unix (>0). CF commande exit

$$ Représente le PID su shell en cours d’exécution

$! Le PID du dernier processus en arrière plan

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

342
26/02/2016

Ce qu’on a couvert
• Les variables positionnelles

• Les variables d’états

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

343
26/02/2016

Tests, Boucles et
structures de contrôle
Les codes de
retour, exit

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

344
26/02/2016

Plan
• Les code de retour

• Commande exit

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

345
26/02/2016

Les code de retour


• Toutes les commandes Linux retournent un code d'erreur compris entre
0 et 255.
• La valeur 0 représente la valeur vrai (succès de la commande).

• Les valeurs supérieur à 0 représentent la valeur faux (échec de la


commande).
• Le code erreur de la dernière commande utilisée est contenu dans la
variable $?
Code 1 Erreur de type général, absence de fichier
Code 126 Problème de permissions
Code 127 commande introuvable

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

346
26/02/2016

Commande exit
• La commande exit permet de sortir d’un script

• La commande exit permet d’envoyer une valeur de sortie, le code de


retour
• La commande exit rend disponible le code de retour pour le processus
parent du script
#!/bin/bash

echo bonjour
echo $? # Code de sortie 0 renvoyé car la commande s'est correctement exécutée.

echo
exit 200 # Retournera 200 au shell. # Pour vérifier echo $?

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

347
26/02/2016

Ce qu’on a couvert
• Les code de retour

• Commande exit

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

348
26/02/2016

Tests, Boucles et
structures de contrôle
Le test

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

349
26/02/2016

Plan
• Introduction de la commande test

• Test sur les fichiers et répertoires

• Test sur les chaînes de caractères

• Test sur les nombres

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

350
26/02/2016

Introduction de la commande test


• La commande test permet de tester des conditions

• Tests sur les fichiers et répertoires


Type (rep, bloc, liens, ..), permissions, propriétaire, date (plus ancien, récent)

• Tests sur les chaînes de caractères


Chaine vide, égales, différentes,

• Tests sur les nombres


Plus grand que, égale, plus petit que, arithmétique (=, +, -, …)

• La commande test dispose également d’opérateurs


La négation, le ET, le OU
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

351
26/02/2016

Test sur les fichiers et répertoires


Expression Code de retour
-b FILE Vrai si le fichier existe et est du type spécial bloc
-c FILE Vrai si le fichier existe et est du type spécial caractère
-d FILE Vrai si le fichier existe et est du type répertoire
-e FILE Vrai si le fichier existe
-f FILE Vrai si le fichier existe et est du type ordinaire
-G FILE Vrai si le fichier existe et si l'utilisateur appartient au groupe propriétaire du fichier
-h FILE Vrai si le fichier existe et est du type lien symbolique
-L FILE Vrai si le fichier existe et est du type lien symbolique (idem -h)
-O FILE Vrai si le fichier existe et si l'utilisateur est le propriétaire du fichier
-r FILE Vrai si le fichier existe et est accessible en lecture
-s FILE Vrai si le fichier existe et n'est pas vide
-S FILE Vrai si le fichier existe et est du type socket
-w FILE Vrai si le fichier existe et est accessible en écriture
-x FILE Vrai si le fichier existe et est exécutable
FILE1 -ef FILE2 Vrai si les fichiers ont le même lien physique
FILE1 -nt FILE2 Vrai si FILE1 est plus récent que FILE2
FILE1 -ot FILE2 Vrai si FILE1 est plus ancien que FILE2

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

352
26/02/2016

Syntaxe
• Le fichier /etc/group existe

# test -f /etc/group
# echo $?
0

• Le fichier /etc/groupe n’existe pas

# [ -f /etc/groupe ]
# echo $?1
• Le fichier /etc/init.d existe et est un répertoire

# [ -d /etc/init.d ]
# echo $?
0

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

353
26/02/2016

Test sur les chaines de caractères


Expression Code de retour
-n STRING Vrai si la longueur de la chaine n'est pas égale à 0
-z STRING Vrai si la longueur de la chaine est égale à 0
STRING1 =
Vrai si les 2 chaines sont égales
STRING2
STRING1 !=
Vrai si les 2 chaines sont différentes
STRING2
STRING Vrai si la chaine n'est pas vide (idem -n)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

354
26/02/2016

Syntaxe
• Variables chaines de caractères

#str1="test1"
#str2="test2"
#str3="test1”

• La variable $str1 n'est pas vide

# [ -n "$str1" ]

# [ "$str1" ]

#[ -z "$str1" ]
#echo $?
1

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

355
26/02/2016

Syntaxe
• $str1 & $str3 sont identiques

# [ "$str1" = "$str3" ]
# echo $?
0
# [ "$str1" != "$str3" ]
#echo $?
1

• $str1 & $str2 sont différentes

# [ "$str1" = "$str3" ]
# [ "$str1" != "$str3" ]
#echo $?
1

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

356
26/02/2016

Test sur les nombres


Expression Code de retour
INT1 -eq INT2 Vrai si INT1 est égal à INT2 (=)
INT1 -ge INT2 Vrai si INT1 est supérieur ou égal à INT2 (>=)
INT1 -gt INT2 Vrai si INT1 est supérieur à INT2 (>)
INT1 -le INT2 Vrai si INT1 est inférieur ou égal à INT2 (<=)
INT1 -lt INT2 Vrai si INT1 est inférieur à INT2 (<)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

357
26/02/2016

Syntaxe
• Variables chaines de caractères

# int1=1
# int2=2
# int3=3
# int4=2

• $int2 & $int4 sont égaux

# [ $int2 -eq $int4 ] ; echo $? = 0

• $int2 est supérieur ou égal à $int4

# [ $int2 -ge $int4 ] ; echo $? = 0

• $int2 est inférieur ou égal à $int3

# [ $int2 -le $int3 ] ; echo $? = 0

• $int2 n'est pas pas égale à $int4

# [ $int2 -ne $int4 ] ; echo $? = 1

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

358
26/02/2016

Ce qu’on a couvert
• Introduction de la commande test

• Test sur les fichiers et répertoires

• Test sur les chaînes de caractères

• Test sur les nombres

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

359
26/02/2016

Tests, Boucles et
structures de contrôle
If, then, else,..., case

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

360
26/02/2016

Plan
• Introduction de la structure de contrôle if…

• Syntaxe if, then, else, elif, fi

• Introduction de la structure de contrôle case, esac

• Syntaxe case…esac

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

361
26/02/2016

Introduction de la structure de contrôle if…


• La structure de contrôle conditionnelle IF permet d’exécuter des
instructions en fonction d’une condition
• Si la condition est vraie, alors le programme exécute un bloc de code

• Sinon, si la condition est fausse, alors le programme exécute un autre


bloc de code
if condition
then
...
fi

if condition
then
...
else

fi

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

362
26/02/2016

Syntaxe if, then, else, elif, fi


• Un petit script qui vérifie la condition la variable a est égale a b

a="b"
if [ $a = "b" ]
then
echo "a égale b est vrai"
fi

• Un petit script qui vérifie la condition la variable a est diffèrent de b

a="b"
if [ $a != "b" ]
then
echo "a égale b est vrai"
else
echo "a n'est pas égale a b"
fi

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

363
26/02/2016

Syntaxe if, then, else, elif, fi


• Un petit script qui vérifie avec elif

var="4"
if [ $var -eq 5 ]
then
echo "var n'est pas égale à 5“

elif [ $var="5" ]
then
echo "var vaut 5"
fi

# ./if.sh
var vaut 5

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

364
26/02/2016

Introduction de la structure de contrôle case, esac


• On peut utiliser plusieurs elif à la suite pour vérifier la valeur d’une
variable
var="4"
if [ $var -eq 5 ]
then
echo "var n'est pas égale à 5"
elif [ $var="6" ]
then
echo "var n'est pas égale à 5"
elif [ $var="2" ]
then
echo "var n'est pas égale à 5"
elif [ $var="5" ]
then
echo "var est enfin égale à 5"
fi

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

365
26/02/2016

Introduction de la structure de contrôle case, esac


• La structure case…esac permet d’exécuter un bloc de commande en
fonction d’un choix
case $variable in

modele1)
... bloc de code ...
;;

modele2)
... bloc de code ...
;;

*)
... bloc de code ...
;;

esac

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

366
26/02/2016

Syntaxe case…esac
Read –p « indiquer le type de sauvegarde full, incré: » backup
case $variable in
Full | full | F)
Echo « vous lancer une sauvegarde complète »
;;
Incre | incré )
Echo « vous lancer une sauvegarde incrémentale »
;;
*)
Echo « le chois est : full ou incre »
;;
Esac

case $var in
[0-9]*) echo "$var est un nombre.";;
[a-zA-Z]*) echo "$var est un mot.";;
*) echo "$var n'est ni un nombre ni un mot.";;
esac

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

367
26/02/2016

Ce qu’on a couvert
• Introduction de la structure de contrôle if…

• Syntaxe if, then, else, elif, fi

• Introduction de la structure de contrôle case, esac

• Syntaxe case…esac

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

368
26/02/2016

Tests, Boucles et
structures de contrôle
Les boucles

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

369
26/02/2016

Plan
• Introduction

• La boucle FOR

• La boucle WHILE

• La boucle UNTIL

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

370
26/02/2016

Introduction
• Les boucles permettent d’exécuter des instructions un
certain nombre de fois :
Via une liste d’élements
• Pour chaque utilisateur dans la liste, créer un compte
En fonction d’une condition
• Tant qu’il y a des utilisateurs, créer des comptes

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

371
26/02/2016

La boucle FOR
• La boucle for exécute l’instruction pour chaque valeur fournie dans une
liste
• La boucle for adopte la syntaxe suivante :
for var in liste de chaînes do commandes done

for user in $(cat liste_user)


do
useradd $user
done

for var in 1 2 3 4 5 6 7
do
touch f$var
done

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

372
26/02/2016

La boucle WHILE
• En français while signifie « tant que », tant que la condition est vérifiée
exécuter l’instruction
• La boucle while adopte la syntaxe suivante :
while condition do commandes done
echo "Tapez votre login :"
read login

while [ "$login" != ludo ]


do echo " votre nom de login n’est pas correct."
Read –p "Retapez votre nom d’utilisateur : " login

done

echo " Tu as trouvé ton login !!! "


Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

373
26/02/2016

La boucle WHILE
• Création de 100 fichiers !

file_numbers=0
stop=99
while [ $file_numbers != $stop]
do
touch fichier " $file_numbers "
file_numbers=$(( $file_numbers + 1 ))

done

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

374
26/02/2016

La boucle UNTIL
• En français, until signifie « jusqu’à ce que », jusqu’à ce que la condition
soit vérifiée, exécuter l’instruction, sinon sortir de la boucle
• La boucle until adopte la syntaxe suivante :
untilcondition do commandes done
echo "Tapez votre login :"
read login

until [ "$login" = ludo ]


do echo " votre nom de login n’est pas correct."
Read –p "Retapez votre nom d’utilisateur : " login

done

echo " Tu as trouvé ton login !!! "


Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

375
26/02/2016

Ce qu’on a couvert
• Introduction

• La boucle FOR

• La boucle WHILE

• La boucle UNTIL

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

376
26/02/2016

L’environnement
de travail

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

377
26/02/2016

Plan
• Introduction

• Les variables d’environnement

• Les alias

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

378
26/02/2016

Introduction
• Le Shell bash utilise des fichiers de démarrage afin de configurer
l’environnement de travail.
• A chaque connexion ou ouverture de session ces fichiers sont exécutés

• Le fichier /etc/profile spécifie l’environnement de travail général pour tous les


utilisateurs. On ne modifie pas ce fichier.
• Le fichier /etc/bashrc définit l’environnement de travail pour tous les utilisateurs

• Le fichier .bashrc est spécifique à chaque utilisateur. Il se trouve dans le


répertoire personnel de chaque utilisateur /home/user/ , /root/. Permet de
personnaliser l’environnement alias, commande à lancer au login
• Le fichier .bash_profile définit les variables d’environnements (PATH, PS1, ..)

• Le fichier .bash_logout permet de lancer des commandes à la déconnexion de


l’utilisateur (sauvegardes des données, etc. )
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

379
26/02/2016

Les variables d’environnements


• La langue, l’historique, le nom d’hôte, le type de terminal, l’éditeur par
défaut, le répertoire courant, le répertoire utilisateur.
• Ces variables permettent de paramétrer le Shell et des programmes.

• Ces variables sont par convention notées en majuscules :


PATH
HOME
PS1
LOGNAME

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

380
26/02/2016

Les variables d’environnements


• Afficher les variables d’environnement

#env
HOSTNAME=netservice.alphorm.lan
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_TTY=/dev/pts/8
USER=root
LANG=fr_FR.UTF-8

• Modifier les variables d’environnement

#PATH=$PATH:/home/user/bin

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

381
26/02/2016

Les alias
• Un alias est, comme son nom l’indique, une substitution ou raccourcis
d’une commande
• Les alias se définissent dans le fichier .bashrc
• Afficher les alias

#alias

• Définir de nouveaux alias

#alias yumi=‘yum install –y’ >>.bashrc


#alias egrep='egrep --color=auto‘

• Supprimer un alias temporarairement

#unalias yumi
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

382
26/02/2016

Ce qu’on a couvert
• Introduction

• Les variables d’environnements

• Les alias

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

383
26/02/2016

Linux containers et Dockers


Virtualisation
par isolation

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

384
26/02/2016

Plan
• Le modèle : machines virtuelles

• Le modèle : isolation, containers

• Les produits : “isolateurs”, containers

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

385
26/02/2016

Le modèle : Machine Virtuelle

• Une machine virtuelle c’est :


Une représentation logicielle d’une
machine physique
Émulation du CPU, mémoire, nic,
contrôleur de disque, disque, etc..
Un OS installé dans la VM – Guest
OS ou OS invité

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

386
26/02/2016

Le modèle : isolation, containers


• Un conteneur c’est :
Le partage d’un noyau
Les conteneurs utilisent le noyau
de l’hôte
Isolés avec les espaces de noms
• Réseau
• File system
• Les processus
Les ressources sont limitées

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

387
26/02/2016

Les produits : “Isolateur”, containers


• En isolation :
Chroot
BSD Jails
Les zones de Solaris

• En containers :
LXC
OpenVZ
Linux-Vserver
Dockers

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

388
26/02/2016

Pour aller plus loin

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

389
26/02/2016

Ce qu’on a couvert
• Le modèle : machines virtuelles

• Le modèle : isolation, containers

• Les produits : “isolateurs”, containers

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

390
26/02/2016

Linux containers et Dockers


LXC - Linux containers

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

391
26/02/2016

Plan
• Qu’est-ce que LXC?

• Architecture des Linux Containers

• Les espaces de noms ou Namespaces

• Introduction aux groupes de contrôle

• Installation de LXC

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

392
26/02/2016

Qu’est-ce que LXC?


• LXC est une interface en espace utilisateur (userspace)

• C’est une API et des outils en licence GNU LGPLv2.1

• Manipuler des conteneurs

• LXC peut être vu comme une solution entre le chroot et une machine
virtuelle.
• L’idée est de créer et gérer des environnements aussi isolés que
possible à partir des noyaux linux standard et ce sans modification

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

393
26/02/2016

Architecture des Linux Containers


• LXC pour gérer et créer des conteneurs, utilise des fonctionnalités du
noyau Linux :
Espace de noms - namespaces (ipc, uts, mount, pid, network and
user)
La sécurité MAC Apparmor et SELinux
Les capabilities
Les groupes de contrôle - CGroups (control groups)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

394
26/02/2016

Architecture des Linux Containers

• Outils LXC en User space

• Partage le noyau de l’hôte

• Utilise les fonctionnalités du noyau


pour l’isolation et la gestion des
processus conteneurs

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

395
26/02/2016

Les espace de noms ou Namespace


• Les namespaces sont une fonctionnalité du noyau Linux :
Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
Mount Namespace
• Isole les systèmes de fichiers
UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
IPC Namespace
• Ses propres processus Inter Communications
User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

396
26/02/2016

Introduction aux groupes de contrôle


Étudiant prof Système

HTTP
Mémoire Disque Réseau

NFS
20% 50% 30% 20% 50% 30% 20% 50%

20% 50%
CPU Shares

640 1024 512

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

397
26/02/2016

Introduction aux groupes de contrôle


• Les cgroups sont organisés en sous-systèmes ou modules

• Un sous-système est un contrôleur de ressources


• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées

- cpu.shares : Part relative du temps CPU disponible pour les tâches

• Cpuset : Affecte des CPU à des tâches


• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

398
26/02/2016

Installation de LXC
• Recherche des paquets LXC

#yum search lxc

• Installation des paquets

# yum install lxc lxc-templates

• Vérification de la configuration avec lxc-checkconfig

#lxc-checkconfig
Kernel configuration not found at /proc/config.gz; searching...
Kernel configuration found at /boot/config-3.10.0-123.el7.x86_64
--- Namespaces ---
Namespaces: enabled…..

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

399
26/02/2016

Ce qu’on a couvert
• Qu’est-ce que LXC?

• Architecture des Linux Containers

• Les espaces de noms ou Namespaces

• Introduction aux groupes de contrôle

• Installation de LXC

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

400
26/02/2016

Linux containers et Dockers


Gestion d'un container

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

401
26/02/2016

Plan
• Manipuler les conteneurs

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

402
26/02/2016

Manipuler les conteneurs


• Démarrer simplement un conteneur

#lxc-start –name redhat_clone

• Démarrer un conteneur en tâche de fond

#lxc-start –name redhat_clone –-deamon

• Rentrer dans le conteneur

#lxc-console –name redhat_clone

• Lancer une commande ou un shell

#lxc-attach –name redhat_clone “commande”

#lxc-attach –name redhat_clone

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

403
26/02/2016

Manipuler les conteneurs


• Informations sur le conteneur

# lxc-info -n redhat_clone
Name: redhat_clone
State: RUNNING
PID: 1278
CPU use: 2.09 seconds
BlkIO use: 13.70 MiB
Memory use: 7.71 MiB
KMem use: 0 bytes
Link: vethNNBLPA

• Arreter un conteneur

#lxc-start –name redhat_clone –-deamon

• Supprimer un conteneur

#lxc-destroy –name redhat_clone

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

404
26/02/2016

Ce qu’on a couvert
• Manipuler les conteneurs

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

405
26/02/2016

Linux containers et Dockers

Docker

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

406
26/02/2016

Plan
• Introduction à Docker

• Installation

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

407
26/02/2016

Introduction à Docker
• Des applications :
Avec ces librairies
Avec ces Binaires
Isolé du système hôte
• Pas d’installation
• Déploiement
• Portable
Gérer par un moteur

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

408
26/02/2016

Docker introduction
• Docker est composé :
D’un service
D’outils client pour manipuler les conteneurs applicatifs
D’un dépôt d’images systèmes et applicatifs - registry

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

409
26/02/2016

Installation
• Installer les dépôts Redhat

#subscription -manager repos --enable= rhel-7-server -extras –rpms


#subscription -manager repos --enable= rhel-7-server -optionnal–rpms

• Les paquets pour Docker

#yum search docker


docker-distribution.x86_64 : Docker toolset to pack, ship, store, and deliver content
docker-registry.x86_64 : Registry server for Docker
docker-selinux.x86_64 : SELinux policies for Docker
docker.x86_64 : Automates deployment of containerized applications

#yum install –y docker docker-distribution

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

410
26/02/2016

Installation
• Service Docker

#systemctl enable docker


#sytemctl start docker

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

411
26/02/2016

Ce qu’on a couvert
• Introduction à Docker

• Installation

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

412
26/02/2016

Linux containers et Dockers


Docker
Création et manipulation
des conteneurs

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

413
26/02/2016

Plan
• Installer un conteneur

• Manipuler les conteneurs

• Utiliser les Dockerfile

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

414
26/02/2016

Manipuler les conteneurs


• Faire un pull d’une distribution

#docker pull centos


#docker pull ubuntu

• Faire un pull d’une application

#docker pull mariadb

• Lister les images disponibles

#docker images --all


REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
docker.io/debian latest d4b2ba78e3b4 2 weeks ago 125.1 MB
docker.io/centos latest 60e65a8e4030 4 weeks ago 196.6 MB

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

415
26/02/2016

Manipuler les conteneurs


• Installer le serveur Apache

#docker run centos /bin/bash -c "yum -y update; yum -y install httpd"

• Lister les processus en cours sur le conteneur

#docker ps -a | head -2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
82ff2ff8734a centos "/bin/bash -c 'yum -y" 22 seconds ago Exited (0) 9 seconds trusting_panini

• Créer une nouvelle image a partir de l'installation du serveur apache

#docker commit 82ff2ff8734a my_image/centos_httpd

• Lister l’images

#docker images –all


REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
my_image/centos_httpd latest d502ffce5567 About a minute ago 297 MB

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

416
26/02/2016

Manipuler les conteneurs


• Lancer la nouvelle image

#docker run my_image/centos_httpd /usr/bin/which httpd


/usr/sbin/httpd

• Démarrer le container http_centos et activer httpd sur le port 8081

#docker run -it -p 8081:80 my_image/centos_httpd /bin/bash


#usr/sbin/httpd &
#echo "httpd on Docker Container" > /var/www/html/index.html

• Démarrer le container http_centos et activer httpd sur le port 8081, lister les process

#docker run -it -p 8081:80 my_image/centos_httpd /bin/bash


#/usr/bin/hhtpd &
#docker ps
febbc7c4b74f my_image/centos_httpd "/bin/bash" 4 minutes ago Up 4 minutes
0.0.0.0:8081->80/tcp grave_yonath

#elinks http://localhost:8081

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

417
26/02/2016

Manipuler les conteneurs


• Lister le conteur en fonctionnemet et l’arreter

#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
febbc7c4b74f my_image/centos_httpd "/bin/bash" 12 minutes ago Up 12
minutes 0.0.0.0:8081->80/tcp grave_yonath

# docker stop febbc7c4b74f

• Supprimer le conteneur avec httpd

#docker rm febbc7c4b74f

• Supprimer tous les conteneurs

docker rm $(docker ps -a -q)

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

418
26/02/2016

Utiliser les Dockerfile


• Le Dockerfile permet de créer une nouvelle image avec des outils
installés et configurés
• Permet de créer rapidement un environnement de travail

• Création du ficher Dockerfile

#vi Dockerfile

FROM centos
MAINTAINER alphorm <admin@alphorm.com>
RUN yum -y install httpd
RUN echo "Hello DockerFile pour alphorm" > /var/www/html/index.html
EXPOSE 80
CMD ["-D", "FOREGROUND"]
ENTRYPOINT ["/usr/sbin/httpd"]

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

419
26/02/2016

Utiliser les Dockerfile


• Construire le conteneur avec le fichier Dockerfile

#docker build -t web_server:latest .


Sending build context to Docker daemon 2.201 GB
Step 0 : FROM centos
---> 60e65a8e4030
Step 1 : MAINTAINER alphorm <admin@alphorm.com>
---> Using cache
---> b18012d9552d
Step 2 : RUN yum -y install httpd
---> Using cache
…..

• Construire le conteneur avec le fichier Dockerfile

Docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
webserver latest ea2999d44706 12 minutes ago 289.8 MB

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

420
26/02/2016

Utiliser les Dockerfile


• Démarrer le conteneur nouvellement créé

#docker run -d -p 80:80 web_server

• Lister les process

Docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
1f3750c192c1 web_server "/usr/sbin/httpd -D F" About a minute ago Up
About a minute 0.0.0.0:80->80/tcp hungry_bell

• Se connecter sur le conteneur web_server

elinks http://localhost:80

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

421
26/02/2016

Ce qu’on a couvert
• Installer un conteneur

• Manipuler les conteneurs

• Utiliser les Dockerfile

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

422
26/02/2016

Linux containers et Dockers


Red Hat Linux
Atomic Host

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

423
26/02/2016

Plan
• Introduction Red Hat Linux Atomic Host

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

424
26/02/2016

Introduction Red Hat Linux Atomic Host

• Red hat Enterprise Linux 7 Atomic Host est une distribution basée sur RedHat
Enterprise Linux 7
• Cette distribution permet de déployer facilement des conteneurs Docker

• Cette distribution est optimisé pour exécuter des conteneurs de type Docker

• Red Hat Atomic Host se déploie en bare metal

• Red Hat Atomic Host offre l’orchestrator Kubernetes de Google pour gérer le
déploiement des containers Docker et la gestion des clusters

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

425
26/02/2016

Introduction Red Hat Linux Atomic Host

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

426
26/02/2016

Ce qu’on a couvert
• Introduction Red Hat Linux Atomic Host

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

427
26/02/2016

Conclusion

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

428
26/02/2016

Le plan de formation
• Administration système • Sécurité
• Retour sur Firewalld
• Systemd • Comprendre les "Rich Rules"
• Retour sur Systemd • Le Masquerading
• Gestion avancée systemd • Le port Forwarding
• Gérer les ports avec SELinux
• Administration réseau
• Le service DNS
• Comprendre le Domain Name System – DNS
• Administrer IP V6 • Comprendre les recherches DNS
• NetworkManager • Comprendre les enregistrements DNS
• Le protocole IPV6 • Le service de cache DNS
• Configuration des interfaces réseaux • Configurer un serveur de cache sécurisé
• Mise en œuvre d'un serveur DNS local Bind9
• NIC Teaming et Bridging
• Comprendre l'agrégation de lien • Le service Web
• Configurer le NIC Teaming • Configurer le serveur apache
• Gérer les interfaces Team • Configurer des hôtes virtuels
• Comprendre les pont réseau – Bridge • Configurer l'authentification des utilisateurs
• Configurer un bridge • Créer des certificats
• Configurer un bridge "teaming" • Apache mod_ssl
• Gérer du contenu dynamique

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

429
26/02/2016

Le plan de formation
• Le service de courier • Programmation Shell
• Le serveur Postfix
• Configurer Postfix en Null-client • Écrire des scripts simples
• Créer et exécuter des scripts
• Base de données • Les sorties
• Introduction aux bases de données • Les variables
• Maria DB • Les variables spéciales
• Installation de MariaDB
• Gérer une base de données MariaDB • Test, Boucles et structures de contrôles
• Administrer les utilisateurs et les permissions • Les codes de retour, exit
sous MariaDB • Les test
• Sauvegarder et restaurer des bases données • If, then , else, .., case
MariaDB • Les boucles

• Stockage réseau • Configurer l'environnement du shell


• Les technologies SAN – NAS • L’environnement de travail
• Le protocole ISCSI
• Créer des Target ISCSI avec targetcli
• Iscsiadm - accéder aux Targets

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

430
26/02/2016

Le plan de formation
• Virtualisation

• Linux containers et Dockers


• Virtualisation par isolation
• LXC - Linux containers
• Gestion d'un container
• Docker
• Docker création et manipulation des conteneurs
• Red Hat Linux Atomic Host

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

431
26/02/2016

Avez-vous des Questions /Remarques /Commentaires ?

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

432
26/02/2016

Reprise sur les certifications Red Hat

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

433
26/02/2016

A bientôt ☺

Pour une nouvelle formation sur Linux Red Hat.

Red Hat Administration


Virtualization, HA, Openstack

Formation Red Hat, Administration Système III RHCE (RH254) alphorm.com™©

434

Vous aimerez peut-être aussi