Installer un serveur de réseau local CentOS 6

Logo CentOSCette page décrit de manière succincte l’installation et la configuration de CentOS 6 sur un serveur de réseau local (Local Area Network). Pour plus de détails, lire la documentation officielle. CentOS 6 est officiellement supporté jusqu’au 30 novembre 2020. On choisira cette branche sur du matériel qui ne supporte pas un OS 64-bits. L’installateur de CentOS requiert au moins 632 Mo de RAM. Sur une machine disposant de moins de mémoire vive, on pourra opter pour CentOS 5.

Support d’installation

Pour l’installation d’un serveur, on pourra choisir le CD minimal :

  • CentOS-6.9-i386-minimal.iso

Sur les machines dépourvues de lecteur optique, il faudra confectionner une clé USB d’installation. Depuis CentOS 6.5, l’image ISO est hybride et peut s’écrire directement sur une clé :

# dd if=CentOS-6.9-i386-minimal.iso of=/dev/sdX

Démarrage

Débrancher clés USB, disques externes et autres périphériques amovibles. Autrement l’installateur les proposera au formatage.

Depuis la version 6.0, l’installateur en mode texte est tronqué de quelques fonctionnalités essentielles comme le partitionnement personnalisé. Il faut donc utiliser l’installateur graphique proposé par défaut.

Partitionnement

Schéma de partitionnement :

  • un disque RAID pour /boot, de 100 Mo, formaté en ext2
  • un disque RAID pour la partition swap, équivalent à la RAM disponible
  • un disque RAID pour la partition principale, formaté en ext4

Choix des paquets

Si l’on installe à partir du DVD, opter pour la sélection Minimal.

Connexion provisoire

Dans la configuration par défaut, aucune interface réseau à part lo n’est activée. Dans un premier temps, on va configurer une connexion provisoire à Internet :

# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp

Étant donné que l’installation minimale ne fournit pas l’éditeur Vim, il faudra se contenter de l’éditeur basique Vi.

Activer le réseau :

# service network restart

Si l’on n’a pas accès à Internet, il faudra tenter de permuter l’affectation des interfaces réseau eth0 et eth1, en éditant le fichier /etc/udev/rules.d/70-persistent-net.rules.

Mise à jour initiale

Afficher les mises à jour disponibles :

# yum check-update

Effectuer la mise à jour initiale :

# yum update

Redémarrer :

# reboot

Installer l’éditeur Vim

Pour faciliter l’édition des fichiers de configuration, on peut déjà installer l’éditeur de texte Vim :

# yum install vim-enhanced

Faire le ménage dans les kernels

Le paquet yum-utils nous facilitera la tâche :

# yum install yum-utils

Afficher les kernels installés :

# rpm -q kernel
kernel-2.6.32-642.el6.i686
kernel-2.6.32-642.1.1.el6.i686

Supprimer l’ancien kernel :

# package-cleanup --oldkernels --count=1

L’option --count=x spécifie le nombre de kernels que l’on souhaite garder.

Éditer /etc/yum.conf et définir le nombre de kernels à préserver :

# /etc/yum.conf
...
installonly_limit=2
...

Chargeur de démarrage

Éditer /boot/grub/grub.conf pour peaufiner la configuration de GRUB.

  • Commenter la ligne hiddenmenu pour afficher le menu de démarrage.
  • Supprimer l’option rhgb pour afficher les messages au démarrage.
  • Définir la résolution de la console avec l’option nomodeset vga=791.

Récupérer les scripts d’installation

Installer Git :

# yum install git

Récupérer mes scripts et mes fichiers de configuration :

# cd
# git clone https://github.com/kikinovak/centos

Si l’on souhaite récupérer le dépôt en lecture/écriture, il faudra invoquer la commande comme ceci :

# git clone https://kikinovak@github.com/kikinovak/centos

Le répertoire centos/el6/install/ contient une série de scripts numérotés qui facilitent la configuration post-installation.

Élaguer le système

Dans certains cas, il est souhaitable d’élaguer une installation existante pour revenir à un système de base plus épuré. Pour ce faire, je fournis le script 00-elaguer-paquets.sh dans le répertoire centos/el6/install/. Ce script se charge de supprimer tous les paquets qui ne font pas partie du système de base à proprement parler, c’est-à-dire l’équivalent de ce que l’on obtient lorsqu’on effectue une installation minimale.

# cd centos/el6/install
# ./00-elaguer-paquets.sh

Le script se sert de la liste de paquets centos/el6/pkglists/minimal qui a été établie auparavant moyennant la commande suivante :

# rpm -qa --queryformat '%{NAME}\n' | sort > minimal

Afficher la vue d’ensemble sur les groupes de paquets :

# yum grouplist | less

Configurer les dépôts de paquets officiels

Éditer /etc/yum.repos.d/CentOS-Base.repo et activer les dépôts [base], [updates] et [extras] avec une priorité maximale :

# /etc/yum.repos.d/CentOS-Base.repo
[base]
enabled=1
priority=1
name=CentOS-$releasever - Base
...

#released updates
[updates]
enabled=1
priority=1
name=CentOS-$releasever - Updates
...

#additional packages that may be useful
[extras]
enabled=1
priority=1
name=CentOS-$releasever - Extras
...

Désactiver les dépôts [centosplus] et [contrib] :

# /etc/yum.repos.d/CentOS-Base.repo
...

[centosplus]
enabled=0
name=CentOS-$releasever - Plus

#contrib - packages by Centos Users
[contrib]
enabled=0
name=CentOS-$releasever - Contrib
...

Configurer le dépôt tiers EPEL

Le dépôt tiers EPEL (Extra Packages for Enterprise Linux) fournit des paquets qui ne sont pas inclus dans la distribution CentOS. Une fois que le dépôt officiel [extras] est configuré, le dépôt EPEL peut se configurer très simplement à l’aide du paquet correspondant :

# yum install epel-release

Définir les priorités du dépôt EPEL :

# /etc/yum.repos.d/epel.repo
[epel]
enabled=1
priority=10
name=Extra Packages for Enterprise Linux 6 - $basearch
...

[epel-debuginfo]
enabled=0
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
...

[epel-source]
enabled=0
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
...

Activer les priorités

Installer le plug-in yum-plugin-priorities :

# yum install yum-plugin-priorities

Vérifier s’il fonctionne correctement :

# yum check-update
Modules complémentaires chargés : fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: mir01.syntis.net
 * epel: ftp.ps.pl
 * extras: centos.mirror.ate.info
 * updates: mir01.syntis.net
84 packages excluded due to repository priority protections

Configurer le dépôt tiers ELRepo

Le dépôt ELRepo est un autre dépôt tiers pour CentOS, qui se concentre sur les drivers : systèmes de fichiers, cartes réseau, etc.

Installer un navigateur Web en ligne de commande :

# yum install links

Aller sur le site :

# links http://elrepo.org

Télécharger et installer le paquet elrepo-release pour les versions 6.x :

# yum localinstall elrepo-release-*.rpm

Désactiver l’ensemble des dépôts [elrepo] :

# /etc/yum.repos.d/elrepo.org
[elrepo]
enabled=0
...
[elrepo-testing]
enabled=0
...
[elrepo-kernel]
enabled=0
...
[elrepo-extras]
enabled=0
...

On activera ce dépôt ponctuellement en cas de besoin.

Installer les outils de base

Le script 01-installer-outils.sh installe une poignée d’outils en ligne de commande qui ne sont pas fournis par l’installation minimale.

# ./01-installer-outils.sh

Agrémenter la console

Le script 02-configurer-base.sh agrémente la console pour root et les futurs utilisateurs :

# ./02-configurer-base.sh

Outre la personnalisation du shell, le script se charge également de peaufiner la configuration de l’éditeur Vim.

Prendre en compte la personnalisation du shell pour root :

# source ~/.bashrc

 

Désactiver l’IPv6

Éditer /etc/sysctl.conf et ajouter ceci :

# /etc/sysctl.conf
...
# Désactiver l'IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

La désactivation de l’IPv6 peut entraîner des problèmes avec le service SSH. Il faut donc adapter la configuration en conséquence.

Éditer /etc/ssh/sshd_config et spécifier les directives suivantes.

# /etc/ssh/sshd_config
...
#Port 22
AddressFamily inet
ListenAddress 0.0.0.0
#ListenAddress ::
...

La directive inet désigne l’IPv4. Là aussi, les modifications seront prises en compte au prochain redémarrage.

Configurer le réseau

Dans l’exemple, l’interface eth0 se situe côté Internet :

# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.2.5
NETMASK=255.255.255.0

Côté réseau local, c’est l’interface eth1 :

# /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.3.1
NETMASK=255.255.255.0

L’adresse IP de la passerelle ainsi que le nom d’hôte seront notés dans /etc/sysconfig/network :

# /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=amandine
GATEWAY=192.168.2.1

Renseigner le ou les serveurs DNS :

# /etc/resolv.conf
nameserver 192.168.2.1

Corriger la configuration du nom d’hôte :

# /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.3.1 amandine.sandbox.lan amandine

Désactiver les services inutiles

Lancer l’interface de configuration des services au démarrage :

# ntsysv --level 2345

Désactiver quelques services inutiles selon la configuration :

  • ip6tables
  • kdump
  • lvm2-monitor (si l’on n’utilise pas le LVM)
  • postfix

Créer un utilisateur

Pour éviter les connexions en root depuis l’extérieur sur un serveur, on peut créer un utilisateur non privilégié si cela n’a pas été fait durant l’installation :

# useradd -c "Microlinux" microlinux
# passwd microlinux
# usermod -a -G wheel microlinux

Configurer le pare-feu

Dans la configuration par défaut, iptables est installé et le service est activé :

  # rpm -q iptables
  iptables-1.4.7-16.el6.i686
  # service iptables status
  ...

Sous CentOS, la meilleure solution consiste à éditer un simple script Bash pour iptables, en enregistrant la configuration à la fin du script :

# /sbin/service iptables save

Copier le script el6/firewall/firewall-lan.sh dans un endroit approprié en le renommant, par exemple /usr/local/sbin/firewall.sh. Adapter le script à la configuration réseau de la machine et aux services que l’on compte héberger, puis :

# firewall.sh

Afficher la configuration du pare-feu :

# iptables -L -v -n

Au redémarrage du serveur, les règles iptables sont bien restaurées, mais le relais des paquets est désactivé. Pour l’activer par défaut, on peut éditer /etc/sysctl.conf comme ceci :

# /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
Ce contenu a été publié dans CentOS, Documentation Microlinux, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *