Installer un serveur de réseau local CentOS 5

centos-logoCette page décrit de manière succincte l’installation et la configuration de CentOS 5 sur un serveur de réseau local (Local Area Network). Pour plus de détails, lire la documentation officielle. CentOS 5 est officiellement supporté jusqu’au 31 mars 2017. On choisira cette branche sur du matériel très ancien. L’installateur requiert un minimum de 128 Mo de RAM en mode texte.

Support d’installation

CentOS 5 ne propose pas de CD Minimal comme les versions subséquentes. Si l’on opte pour le jeu de huit CD-Rom au lieu du DVD, l’installation du système de base en français nécessite les CD n°1, n°4 et n°5 à cause d’une poignée de paquets de localisation. On peut très bien choisir l’anglais, ce qui permet de n’utiliser que le premier CD.

  • CentOS-5.11-i386-bin-1of8.iso

Démarrage

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

boot: linux text vga=791

Alternativement :

boot: linux text vga=788

L’installateur en mode texte est bien moins gourmand en ressources. Il lui faut 128 Mo de RAM, alors que l’installateur graphique requiert un minimum de 512 Mo de RAM.

Si jamais on décide d’utiliser l’installateur graphique et que l’affichage dépasse la taille de l’écran, on peut corriger ce problème grâce à l’option de démarrage suivante :

boot: linux resolution=1024x768

Choix de la langue

Si l’on ne dispose que du premier CD-Rom d’installation, il faut impérativement choisir l’anglais.

Partitionnement

Dans l’écran Partitioning type, sélectionner Create custom layout. On notera que CentOS 5 est basé sur le noyau 2.6.18 et que les disques IDE sont encore nommés hda et hdb et non sda et sdb.

Ouvrir une deuxième console avec [Alt]+[F2] et utiliser fdisk pour le partitionnement. Les partitions RAID sont de type FD (Linux raid autodetect).

  • 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 ext3

Revenir dans l’installateur avec [Alt]+[F1] et rafraîchir l’affichage de la table des partitions avec [F5].

Options du chargeur de démarrage

On peut déjà ajouter quelques options qui vont bien comme vga=791 quiet.

Réseau

  • Cocher Activate on boot et Enable IPv4 support.
  • Décocher Enable IPv6 support.

Choix des paquets

  • Décocher Desktop – Gnome.
  • Cocher Customize software selection.
  • Décocher Base, Dialup Networking Support, Editors et Text-based Internet.

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

Configurer la langue

Le système de base utilise la variable LANG par défaut : en_US.UTF8. Pour passer en français, il faut éditer /etc/sysconfig/i18n :

# /etc/sysconfig/i18n
LANG="fr_FR.UTF-8"
SYSFONT="latarcyrheb-sun16"

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.18-398.el5
kernel-2.6.18-410.el5

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

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

Vérifier si les dépôts [centosplus] et [contrib] sont bien désactivés :

# /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 5 - $basearch
...

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

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

Activer les priorités

Installer le plug-in yum-priorities :

# yum install yum-priorities

Vérifier s’il fonctionne correctement :

# yum check-update
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirrors.atosworldline.com
* epel: mirror.ibcp.fr
* extras: mirror-fr2.bbln.org
* updates: ftp.ciril.fr
166 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 en ligne de commande et aller sur le site du projet :

# yum install links
# links http://elrepo.org

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

# rpm -ivh  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.

Récupérer les scripts d’installation

Git a déjà été installé un peu plus haut. Nous pouvons donc récupérer mes scripts et mes fichiers de configuration :

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

Le répertoire centos/el5/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/el5/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. Avant de lancer le script, il vaut mieux s’assurer de démarrer en mode console.

# init 3
# cd centos/el5/install
# ./00-elaguer-paquets.sh

Le script se sert de la liste de paquets centos/el5/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

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 SELinux

Éditer le fichier /etc/sysconfig/selinux :

# /etc/sysconfig/selinux
SELINUX=disabled
# SELINUXTYPE=targeted

La modification sera prise en compte au prochain redémarrage.

Désactiver l’IPv6

Si cela n’a pas déjà été fait durant l’installation, on peut le rattraper ici. Dans un premier temps, éditer /etc/modprobe.conf pour empêcher le chargement des modules relatifs à l’IPv6 :

# /etc/modprobe.conf
alias net-pf-10 off
alias ipv6 off

Ensuite, éditer /etc/sysconfig/network :

# /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
...

Enfin, désactiver le service ip6tables :

# service ip6tables stop
# chkconfig ip6tables off
# chkconfig ip6tables --list
ip6tables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

Configurer le réseau

Si l’on souhaite changer l’attribution des interfaces eth0 et eth1, on peut le faire très simplement en permutant les valeurs respectives de la variable HWADDR dans ifcfg-eth0 et ifcfg-eth1. 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
NETWORKING_IPV6=no
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 :

  • gpm
  • iscsi
  • iscsid
  • kudzu
  • lvm2-monitor (si l’on n’utilise pas le LVM)
  • restorecond

Créer un utilisateur

Pour éviter les connexions en root depuis l’extérieur sur un serveur, on peut éventuellement créer un utilisateur non privilégié :

# 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.3.5-9.2.el5_8
# 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 el5/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 dessus, 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 *