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 obsolète qui ne supporte pas un OS 64-bits. L’installateur de CentOS requiert au moins 632 Mo de RAM.

Note importante : l’article initialement publié en janvier 2017 a été entièrement revu et corrigé. La procédure de post-installation est maintenant bien plus simple, étant donné qu’elle est à peu près entièrement scriptée.

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.

Réseau

Le réseau n’est pas activé par défaut, il faut donc songer à l’activer explicitement. Cliquer sur Configurer le réseau, sélectionner l’interface réseau que l’on souhaite configurer, cliquer sur Modifier et cocher la case Connecter automatiquement.

Partitionnement

Schéma de partitionnement :

  • un disque RAID pour /boot, de 200 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.

Récupérer le script de post-installation

L’utilitaire git ne fait pas partie d’une installation par défaut. Il va donc falloir l’installer.

# yum install git

Ensuite, récupérer le contenu de mon dépôt Github.

# cd
# git clone https://github.com/kikinovak/centos-6-server-lan

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/...

É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 elaguer.sh à la racine du répertoire centos-6-server-lan. 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-6-server-lan
# ./elaguer.sh

Le script se sert de la liste de paquets centos-6-server-lan/config/pkglists/minimal.txt qui a été établie auparavant moyennant la commande suivante.

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

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

# yum grouplist | less

Lancer le script de post-installation

Le répertoire centos-6-server-lan contient un script postinstall.sh. Lancer ce script.

# cd centos-6-server-lan
# ./postinstall.sh

L’affichage du script est assez laconique. Pour en savoir un peu plus sur le détail et la progression des opérations, on peut ouvrir un deuxième terminal et afficher le fichier journal “à chaud”, comme ceci.

# tail -f /tmp/postinstall.log

Le script se charge automatiquement des opérations suivantes.

  • Effectuer la mise à jour initiale du système.
  • Désactiver l’IPv6.
  • Personnaliser le shell Bash pour root et les utilisateurs.
  • Personnaliser la configuration de Vim.
  • Définir l’anglais comme langue système.
  • Configurer l’affichage de la console.
  • Configurer les dépôts de paquets officiels de manière prioritaire.
  • Configurer les dépôts de paquets tiers EPEL et ELRepo.
  • Installer une panoplie d’outils système.

Configurer le réseau

Le répertoire centos-6-server-lan/config/network-scripts contient quelques fichiers modèles pour la configuration 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 correspondant 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

Le répertoire centos-6-server-lan/config/firewall contient deux fichiers modèles pour la configuration du pare-feu.

  • firewall-gateway.sh pour un serveur faisant office de passerelle
  • firewall-standalone.sh pour une machine standalone

Copier le script qui convient 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 -vn

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 *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.