Créer le script /etc/init.d/ethnet

Cette partie concerne uniquement le cas où un utilisateur veut configurer une carte réseau. Autrement, elle peut être sautée.

Un nouveau fichier /etc/init.d/ethnet est créé, contenant ce qui suit:



cat > /etc/init.d/ethnet << "EOF"
#!/bin/sh
# Debut de /etc/init.d/ethnet
#
# Script principal par Gerard Beekmans - gerard@linuxfromscratch.org
# Verification de GATEWAY par Jean-François Le Ray - jfleray@club-internet.fr
#

#
# Inclure les fonctions declarees dans le fichier /etc/init.d/functions
# et les variables du fichier /etc/sysconfig/network.
#

source /etc/init.d/functions
source /etc/sysconfig/network

case "$1" in
        start)

#
# Parcourir tous les fichiers de configuration de la carte réseau
#

        for interface in $(ls /etc/sysconfig/network-scripts/ifcfg* | \
            grep -v ifcfg-lo)
        do
#
# Charger les variables depuis ce fichier
#

            source $interface
#
# Si la variable ONBOOT est positionnee a yes, traiter ce fichier et
# demarrer l'interface
#

            if [ "$ONBOOT" == yes ]
            then
                echo -n "Lancement de l'interface $DEVICE..."
                /sbin/ifconfig $DEVICE $IP broadcast $BROADCAST \
                    netmask $NETMASK
                evaluate_retval
            fi
        done

#
# Si le fichier /etc/sysconfig/network contient une variable GATEWAY,
# positionnement de la passerelle.
#

            if [ "$GATEWAY" != "" ]; then
                echo -n "Configuration du routage pour l'interface eth0.."
                /sbin/route add default gw $GATEWAY metric 1
                evaluate_retval
            fi
                ;;

        stop)

#
# Parcours de tous les fichiers de configuration de la carte reseau
#

        for interface in $(ls /etc/sysconfig/network-scripts/ifcfg* | \
            grep -v ifcfg-lo)
        do
#
# Charger les variables depuis ce fichier
#

            source $interface
#
# Si la variable ONBOOT est positionnee a yes, traiter ce fichier et
# arreter l'interface
#

            if [ $ONBOOT == yes ]
            then
                echo -n "Arret de l'interface $DEVICE..."
                /sbin/ifconfig $DEVICE down
                evaluate_retval
            fi
        done
                ;;

        restart)
                $0 stop
                sleep 1
                $0 start
                ;;
        *)
                echo "Usage: $0 {start|stop|restart}"
                exit 1
                ;;
esac

# Fin de /etc/init.d/ethnet
EOF

Ajouter la passerelle par défaut à /etc/sysconfig/network

La commande suivante permet de configurer une passerelle par défaut, si besoin est:



cat >> /etc/sysconfig/network << "EOF"
GATEWAY=192.168.1.2
EOF

Modifiez GATEWAY pour le faire correspondre à votre configuration du réseau.

Créer les fichiers de configuration NIC

Les fichiers du répertoire déterminent quelles interfaces sont lancées ou arrêtées par le script ethnet. Ce répertoire devrait contenir des fichiers de la forme ifcfg-x, où x est un numéro d'identification (ou quelque autre dénomination au gré de l'utilisateur).

Le répertoire network-scripts est tout d'abord créé en lançant:



mkdir /etc/sysconfig/network-scripts

Maintenant, de nouveaux fichiers sont créés dans ce répertoire, contenant ce qui suit. Ceci crée un fichier d'exemple ifcfg-eth0:



cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
ONBOOT=yes
DEVICE=eth0
IP=192.168.1.1
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
EOF

Bien entendu, les valeurs de ces quatre variables doivent être modifiées dans chaque fichier, pour correspondre à la bonne configuration. En général, NETMASK et BROADCAST restent tels quels, et seules les variables DEVICE et IP changent pour chaque interface réseau. Si la variable ONBOOT est positionnée à yes, le script ethnet la lancera lors du démarrage du système. Si elle est positionnée à une autre valeur que yes, le fichier sera ignoré par le script ethnet, et donc l'interface ne sera pas lancée.

Configurer les permissions et les liens symboliques

Les commandes suivantes positionnent les permissions et créent les liens symboliques nécessaires:



cd /etc/init.d &&
chmod 754 ethnet &&
cd ../rc3.d &&
ln -s ../init.d/ethnet S200ethnet &&
cd ../rc4.d &&
ln -s ../init.d/ethnet S200ethnet &&
cd ../rc5.d &&
ln -s ../init.d/ethnet S200ethnet