Créer un script ethnet

Cette section ne concerne que l'utilisateur voulant configurer une carte réseau. Si ce n'est pas le cas, cette section peut être passée.

Créez le script /etc/init.d/ethnet en exécutant la commande suivante:

cat > /etc/init.d/ethnet << "EOF"
#!/bin/sh
# Début de /etc/init.d/ethnet
#
# Script original de Gerard Beekmans - gerard@linuxfromscratch.org
# GATEWAY adapté par Jean-François Le Ray - jfleray@club-internet.fr
# "Indique quelle IF utiliser pour atteindre la passerelle par défaut" de
#     Graham Cantin - gcantin@pacbell.net
#

#
# Inclut les fonctions declarées 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)

#
# Recherche tous les fichiers de configuration de cartes réseau
#

        for interface in $(/bin/ls /etc/sysconfig/nic-config/ifcfg* | \
            grep -v ifcfg-lo)
        do
#
# Charge les variables contenues dans ce fichier
#

            source $interface
#
# Si la variable ONBOOT est positionnée à yes, exécute ce fichier et active l'
# interface.
#

            if [ "$ONBOOT" == yes ]
            then
                echo -n "Bringing up the $DEVICE interface..."
                /sbin/ifconfig $DEVICE $IP broadcast $BROADCAST \
                    netmask $NETMASK
                evaluate_retval
            fi
        done

#
# Si le fichier /etc/sysconfig/network contient une variable GATEWAY, initialise
# la passerelle par défaut et l'interface par laquelle la passerelle peut être atteinte.
#

            if [ "$GATEWAY" != "" ]; then
                echo -n "Setting up routing for $GATEWAY_IF interface..."
                /sbin/route add default gateway $GATEWAY \
                        metric 1 dev $GATEWAY_IF
                evaluate_retval
            fi
                ;;

        stop)

#
# Recherche tous les fichiers de configuration de cartes réseau
#

        for interface in $(/bin/ls /etc/sysconfig/nic-config/ifcfg* | \
            grep -v ifcfg-lo)
        do
#
# Charge les variables contenues dans ce fichier
#

            source $interface
#
# Si la variable ONBOOT est positionnée à yes, exécute le fichier et désactive l'
# interface.
#

            if [ $ONBOOT == yes ]
            then
                echo -n "Bringing down the $DEVICE interface..."
                /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 une passerelle par défaut dans /etc/sysconfig/network

Pour déclarer une passerelle par défaut, la commande suivante peut être utilisée:

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

GATEWAY et GATEWAY_IF doivent être initialisées selon votre configuration réseau. GATEWAY contient l'adresse de la passerelle par défaut, et GATEWAY_IF l'interface réseau qui permet d'accéder à cette passerelle.

Créer les fichiers de configuration NIC

L'activation et la désactivation des interfaces par le script ethnet dépend des fichiers situés dans le répertoire /etc/sysconfig/nic-config. Ce répertoire devrait contenir des fichiers de la forme ifcfg-x où x est un numéro d'identification (ou tout ce que l'on veut).

Tout d'abord, le répertoire nic-config est créé par:

mkdir /etc/sysconfig/nic-config

Ensuite, les nouveaux fichiers sont créés dans ce répertoire. La commande qui suit crée un fichier d'exemple nommé ifcfg-eth0:

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

Bien évidemment, les valeurs de ces quatre variables doivent être changées en fonction de votre propre configuration. Habituellement, NETMASK et BROADCAST seront identiques, et seules les variables DEVICE et IP changeront pour les différentes interfaces réseau. Si la variable ONBOOT est positionnée à yes, le script ethnet l'activera lors du démarrage du système. Si elle contient autre chose que yes, le script ethnet l'ignorera et l'interface ne sera pas activée.