Ce modeste tutoriel peut également se rapporter à un poste de travail, fixe ou mobile. Toutefois, l'outil Network-Manager et son applet Gnome permettent une configuration rapide et pratique, surtout si vous utilisez un réseau Wifi.
Un petit clic droit sur l'applet présent près de l'horloge de votre bureau gnome, puis "modifications des connexions", vous donne accès aux différents types d'interfaces disponibles sur votre machine, ainsi qu'à leurs options.

capture-centos-NM


Oui pardon, ce n'est pas le sujet ici..
En général, la configuration réseau se fait à l'installation de CentOS (ou RHEL), via Anaconda.

Sous CentOS 5.x, difficile de rater le menu de configuration réseau, à la même page que le nom de machine (Hostname):

capture-centos-5-reseau


A l'install de CentOS 6 par contre, la configuration réseau s'effectue toujours à l'étape "Hostname" (nom de machine), mais via le bouton dédié (en bas à gauche):

install_6_3_05.jpg


Le titre du tuto, c'est sans Network Manager, donc on commence par le désactiver s'il est présent (en root):

# service NetworkManager stop


Puis on désactive son démarrage automatique

# chkconfig NetworkManager off





CentOS / RHEL toutes versions (sauf minimale) via l'utilitaire de configuration


Si vous n'avez pas configuré le réseau à l'installation, vous pouvez retrouver l'utilitaire de configuration en root avec la commande "setup":

# setup



Choisissez la "configuration réseau" dans le menu:

capture_setup_global

Configurez le ou les serveurs dns (local et/ou distants, dans cet ordre, deux c'est mieux):

capture_setup_dns

Indiquez les paramètres souhaités pour la carte réseau (Pensez à décocher "dhcp" pour une ip fixe):

capture_setup_carte_reseau

Redémarrez le service réseau via la commande:

# service network restart


Et effectuez un test ping, sur google.fr par exemple:

# ping google.fr




CentOS / RHEL toutes versions (via édition des fichiers dans un terminal)



Commencez par vérifier les interfaces réseau montées (en root):

# ifconfig


Si la commande ne renvoie que la boucle locale, comme ci dessous, c'est que la carte réseau n'est pas détectée ou configurée:

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)




Contrôlez la détection d'une carte réseau physique par votre CentOS:

# lspci | grep Ethernet


Cette commande vous renvoie la (ou les) ligne(s) relatives à une carte Network détectée. Exemple ci dessous avec une carte Broadcom:

09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express (rev 02)



A chaque carte réseau, correspond un network-script (fichier ifcfg-"interface") qui contient ses paramètres. En général, ils portent l'appellation ethx (ou x est un chiffre). Mais ce n'est pas systématique. Donc on balaye large:

# grep Ethernet  /etc/sysconfig/network-scripts/ifcfg-*


Cette commande doit vous retourner une ou plusieurs lignes ressemblant à celle ci dessous (toujours pour notre exemple):

/etc/sysconfig/network-scripts/ifcfg-eth0:TYPE="Ethernet"



On sait donc, grace à cette ligne, que notre (première) carte est vue comme "eth0".

Si on est sur une configuration réseau CentOS jamais modifiée, elle est par défaut en dhcp, donc on pourrait la monter (si serveur ou routeur local DHCP) avec:

# ifup eth0



Notre commande du départ (ifconfig), nous renverrait cette fois-ci:

# ifconfig


eth0      Link encap:Ethernet  HWaddr CA:0B:9D:0C:00:CC  
          inet adr:192.168.0.43  Bcast:192.168.0.255  Masque:255.255.255.0
          adr inet6: fe80::c80b:9dff:fe0c:dfbd/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:896 errors:0 dropped:0 overruns:0 frame:0
          TX packets:75 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:86545 (84.5 KiB)  TX bytes:8838 (8.6 KiB)

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)




Mais un serveur se configure rarement en mode "client DHCP", donc courageusement, il faut éditer à la main les 3 fichiers qui vont bien.

Voici un exemple du fichier ifcfg-eth0 (dans notre cas) en mode "client dhcp", c'est à dire tel qu'il est d'origine:

# vi  /etc/sysconfig/network-scripts/ifcfg-eth0


DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="CA:0B:9D:0C:00:CC"
NM_CONTROLLED="yes"
ONBOOT="no"
TYPE="Ethernet"
UUID="00b10eac-a6df-49ad-bead-xxxxxxxxxxa"


Remarquez la ligne "NM_CONTROLLED" qui se traduit par "contrôlé par NetWork-Manager", on la passe à "no"
De même, la ligne "BOOTPROTO" doit être passée à "none"
La ligne "ONBOOT" est passée à "yes" pour activation au démarrage de CentOS / RHEL

On rajoute une ligne pour indiquer l'ip fixe de notre serveur avec l'option "IPADDR=ip_du_serveur"
Puis une ligne pour renseigner le masque avec l'option "NETMASK=255.255.255.0" (ici la valeur par défaut)

Ce qui nous donne un fichier comme celui-ci (corrigez l'adresse ip avec celle que vous souhaitez):

DEVICE="eth0"
BOOTPROTO="none"
HWADDR="CA:0B:9D:0C:00:CC"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="00b10eac-a6df-49ad-bead-xxxxxxxxxxa"
IPADDR=192.168.0.5
NETMASK=255.255.255.0




Il faut maintenant indiquer la passerelle par défaut (GATEWAY) pour notre CentOS. Pour ce faire, éditez le fichier "network", rajoutez ou corrigez la ligne "GATEWAY=" à la fin de ce fichier. Ici, nous supposons que la passerelle est le routeur local (192.168.0.1), indiquez la votre :

# vi /etc/sysconfig/network


NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=test
GATEWAY=192.168.0.1




On termina avec les informations DNS. Elles doivent être indiquées dans le fichier "resolv.conf". Vous pouvez ajouter plusieurs "serveurs dns" dans ce fichier, il seront traités dans l'ordre par le système (Si le premier ne répond pas, il passe au second, etc..).
Dans cet exemple, le routeur local qui fait aussi passerelle, est indiqué en premier. En second, nous avons rajouté l'un des serveurs dns de Google, pour le cas où..
Adaptez en fonction de votre réseau et de vos besoins

# vi  /etc/resolv.conf


nameserver 192.168.0.1
nameserver 8.8.8.8



Redémarrage du réseau pour prise en compte des paramètres que nous venons d'indiquer:

# service network restart



Et test "ping" pour vérifier son bon fonctionnement, avec google.fr par exemple:

# ping google.fr



Enfin, pour ceux qui le souhaitent, on désinstalle NetworkManager

# yum remove NetworkManager




Vous pouvez commenter ou participer à l'amélioration de cet article via le topic dédié du forum.