Dernière mise-à-jour :

109.2 - Configuration du base du réseau (4/60)

Configuration de TCP/IP sous Debian 6

La configuration TCP/IP se trouve dans le fichier /etc/network/interfaces :

DHCP

/etc/network/interfaces

root@debian6:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
#NetworkManager#iface eth0 inet dhcp

Dans ce fichier chaque déclaration est de la forme suivante :

interface nom type mode

On peut constater donc dans notre exemple ci-dessus :

une déclaration pour l'interface lo de loopback

une déclaration pour l'interface eth0 en dhcp

IP Fixe

Dans le cas où l'interface eth0 était configuré en IP statique, la déclaration concernant eth0 prendrait la forme suivante :

auto eth0
iface eth0 inet static
address 10.0.2.15
netmask 255.255.255.0
broadcast 10.0.2.255
network 10.0.2.0
gateway 10.0.2.2

Dans ce fichier vous pouvez constater les directives suivantes :

Directive	Description
address	Indique l'adresse IPv4 de l'interface
netmask	Indique le masque de sous-réseau IPv4
broadcast	Indique l'adresse de diffusion IPv4
network	Indique l'adresse réseau IPv4
gateway	Indique l'adresse IPv4 de la passerelle par défaut

Notez que VirtualBox fournit une passerelle par défaut ( 10.0.2.2 ).

Après avoir modifier le fichier /etc/network/interfaces vous devez arrêter le service network-manager utilisé pour la connexion DHCP et activer le service networking :

root@debian6:~# service network-manager stop
Stopping network connection manager: NetworkManager.
root@debian6:~# update-rc.d -f network-manager remove
update-rc.d: using dependency based boot sequencing
root@debian6:~# chkconfig --level 2345 networking on
root@debian6:~# service networking start
Configuring network interfaces...done.

Si le service networking réfuse de démarrer en produisant une erreur, le problème vient certainement du fait que votre interface réseau a été configurée par udev en eth1. La solution la plus simple est d'éditer le fichier /etc/udev/rules.d/70-persistent-net.rules en supprimant toutes les lignes qui ne commencent pas par le caractère # et de re-démarrer votre machine virtuelle.

Configuration du Réseau sous RHEL/CentOS 5 et 6

Configuration de TCP/IP

La configuration TCP/IP se trouve dans le répertoire /etc/sysconfig. Les fichiers importants sont :

DHCP

/etc/sysconfig/network

[root@centos6 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos6

Dans ce fichier vous pouvez constater les directives suivantes :

Directive	Description
NETWORKING	Indique que la prise en charge du réseau est activée
HOSTNAME	Indique le nom d'hôte de la machine

Ce fichier peut également contenir les directives suivantes :

Directive	Description
GATEWAY	Indique l'adresse IPv4 de la passerelle
GATEWAYDEV	Indique l'interface réseau utilisée pour accéder à la passerelle
NISDOMAIN	Indique le domaine NIS s'il en existe un
NETWORKING_IPV6	Active ou désactive le support IPv6

/etc/sysconfig/network-scripts/ifcfg-ethX (où X=0,1 ...)

ifcfg-eth0

[root@centos6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=08:00:27:48:7D:7F
PEERDNS=yes
PEERROUTES=yes

Dans ce fichier vous pouvez constater les directives suivantes :

Directive	Description
DEVICE	Indique le nom de l'interface
NM_CONTROLLED	Indique que le service NetworkManager est utilisé pour gérer les interfaces réseau
ONBOOT	Indique que l'interface est activée au démarrage de la machine
TYPE	Indique que le type de réseau est ethernet. Les valeurs permises sont ethernet ou wireless
BOOTPROTO	Indique comment monter l'interface. Les valeurs permises sont dhcp, static ou bootp
DEFROUTE	Définit l'interface en tant que passerelle par défaut
IPV4_FAILURE_FATAL	Stipule que si IPv4 et IPv6 sont activés et la connexion IPv4 est perdue, la connexion IPv6 est considérée d'être perdue
IPV6INIT	Indique que le support IPv6 ne sera pas initialisé
NAME	Indique un nom descriptif de l'interface
UUID	Indique la valeur de l'UUID de l'interface
HWADDR	Indique l'adresse MAC de l'interface
PEERDNS	Indique que le fichier /etc/resolv.conf doit être modifié automatiquement pour contenir les adresses IP des DNS fournies par le serveur DHCP

Recherchez la définition de la directive PEERROUTES=yes.

IP Fixe

/etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=centos6.fenestros.loc

/etc/sysconfig/network-scripts/ifcfg-ethX (où X=0,1 ...)

ifcfg-eth0

DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
IPV6INIT=no
HWADDR="08:00:27:9B:55:B1"
NETMASK=255.255.255.0
IPADDR=10.0.2.15
GATEWAY=10.0.2.2
DNS1=8.8.8.8
DNS2=8.8.4.4
DOMAIN=fenestros.loc
USERCTL=yes

Dans ce fichier vous pouvez constater les nouvelles directives suivantes :

Directive	Description
NETMASK	Indique le masque de sous-réseau IPv4 associé à l'interface
IPADDR	Indique l'adresse IPv4 de l'interface
GATEWAY	Indique l'adresse IPv4 de la passerelle par défaut
DNS1	Indique le DNS primaire
DNS2	Indique le DNS secondaire
DOMAIN	Indique le nom du domaine local
USERCTL	Indique que les utilisateurs normaux peuvent activer/désactiver l'interface

Notez que VirtualBox fournit une passerelle par défaut ( 10.0.2.2 ).

Après avoir modifier les deux fichiers /etc/sysconfig/network et /etc/sysconfig/network-scripts/ifcfg-eth0 vous devez désactiver le service NetworkManager utilisé pour la connexion DHCP et activer le service network :

[root@centos6 ~]# service NetworkManager stop
Arrêt du démon NetworkManager : [ OK ]
[root@centos6 ~]# chkconfig --del NetworkManager
[root@centos6 ~]# service network start
Activation de l'interface loopback : [ OK ]
Activation de l'interface eth0 : [ OK ]
[root@centos6 ~]#

La Commande hostname

Lors du passage à une configuration en IPv4 fixe vous avez modifié la directive HOSTNAME du fichier /etc/sysconfig/network de centos à centos.fenestros.loc. Afin d'informer le système immédiatement de la modification du FQDN (Fully Qualified Domain Name), utilisez la commande hostname :

[root@centos6 ~]# hostname
centos6
[root@centos6 ~]# hostname centos6.fenestros.loc
[root@centos6 ~]# hostname
centos6.fenestros.loc

Pour afficher le FQDN du système vous pouvez également utiliser la commande suivante :

[root@centos6 ~]# uname -n
centos6.fenestros.loc

Options de la commande hostname

Les options de cette commande sont :

[root@centos6 ~]# hostname --help
Syntaxe : hostname [-v] {hôte|-F fichier} définit le nom d'hôte (depuis le fichier)
domainname [-v] {domaine_nis|-F fichier} définit le domaine NIS (depuis le fichier)
hostname [-v] [-d|-f|-s|-a|-i|-y] display formatted name
hostname [-v] affiche le nom d'hôte
hostname -V|--version|-h|--help affiche des infos et termine
dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y
-s, --short nom d'hôte court
-a, --alias noms d'alias
-i, --ip-address adresses de l'hôte
-f, --fqdn, --long nom d'hôte long (FQDN)
-d, --domain nom de domaine DNS
-y, --yp, --nis nom de domaine NIS/YP
-F, --file read hostname or NIS domainname from given file
This command can read or set the hostname or the NIS domainname. You can
also read the DNS domain or the FQDN (fully qualified domain name).
Unless you are using bind or NIS for host lookups you can change the
FQDN (Fully Qualified Domain Name) and the DNS domain name (which is
part of the FQDN) in the /etc/hosts file.

La Commande ifconfig

Pour afficher la configuration IP de la machine il faut saisir la commande suivante :

[root@centos6 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:48:7D:7F
inet adr:10.0.2.15 Bcast:10.0.2.255 Masque:255.255.255.0
adr inet6: fe80::a00:27ff:fe48:7d7f/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16765 errors:0 dropped:0 overruns:0 frame:0
TX packets:15256 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:12435171 (11.8 MiB) TX bytes:4767389 (4.5 MiB)
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:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)

La commande ifconfig est également utilisée pour configurer une interface.

Créez maintenant une interface fictive ainsi :

[root@centos6 ~]# ifconfig eth0:1 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255

Constatez maintenant le résultat :

[root@centos6 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:48:7D:7F
inet adr:10.0.2.15 Bcast:10.0.2.255 Masque:255.255.255.0
adr inet6: fe80::a00:27ff:fe48:7d7f/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16904 errors:0 dropped:0 overruns:0 frame:0
TX packets:15337 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:12445250 (11.8 MiB) TX bytes:4816855 (4.5 MiB)
eth0:1 Link encap:Ethernet HWaddr 08:00:27:48:7D:7F
inet adr:192.168.1.2 Bcast:192.168.1.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
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:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)

Options de la commande ifconfig

Les options de cette commande sont :

[root@centos6 ~]# ifconfig --help
Usage:
ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
[add <adresse>[/<lg_prefixe>]]
[del <adresse>[/<lg_prefixe>]]
[[-]broadcast [<adresse>]] [[-]pointopoint [<adresse>]]
[netmask <address>] [dstaddr <address>] [tunnel <address>]
[outfill <NN>] [keepalive <NN>]
[hw <HW> <adresse>] [metric <NN>] [mtu <NN>]
[[-]trailers] [[-]arp] [[-]allmulti]
[multicast] [[-]promisc]
[mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]
[txqueuelen <NN>]
[[-]dynamic]
[up|down] ...
<HW>=Type de matériel.
Liste des types de matériels possibles:
loop (Boucle locale) slip (IP ligne série) cslip (IP ligne série - VJ )
slip6 (IP ligne série - 6 bits) cslip6 (IP ligne série - 6 bits VJ) adaptive (IP ligne série adaptative)
strip (Metricom Starmode IP) ash (Ash) ether (Ethernet)
tr (16/4 Mbps Token Ring) tr (16/4 Mbps Token Ring (New)) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel)
ppp (Protocole Point-à-Point) hdlc ((Cisco)-HDLC) lapb (LAPB)
arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Périphériue d'accès Frame Relay)
sit (IPv6-dans-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI)
irda (IrLAP) ec (Econet) x25 (generic X.25)
infiniband (InfiniBand)
<AF>=famille d'Adresses. Défaut: inet
Liste des familles d'adresses possibles:
unix (Domaine UNIX) inet (DARPA Internet) inet6 (IPv6)
ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE)
ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet)
ash (Ash) x25 (CCITT X.25)

Activer/Désactiver une Interface Manuellement

Deux commandes existent pour activer et désactiver manuellement une interface réseau :

[root@centos6 ~]# ifdown eth0
[root@centos6 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:9B:55:B1
adr inet6: fe80::a00:27ff:fe9b:55b1/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:0 (0.0 b) TX bytes:258 (258.0 b)
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:65536 Metric:1
RX packets:384 errors:0 dropped:0 overruns:0 frame:0
TX packets:384 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:32496 (31.7 KiB) TX bytes:32496 (31.7 KiB)
[root@centos6 ~]# ifup eth0
État de connexion active&nbsp;: activation
État de chemin actif&nbsp;: /org/freedesktop/NetworkManager/ActiveConnection/0
état&nbsp;: activé
Connexion activée
[root@centos6 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:9B:55:B1
inet adr:10.0.2.15 Bcast:10.0.2.255 Masque:255.255.255.0
adr inet6: fe80::a00:27ff:fe9b:55b1/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:4271 (4.1 KiB) TX bytes:6145 (6.0 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:65536 Metric:1
RX packets:392 errors:0 dropped:0 overruns:0 frame:0
TX packets:392 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:33600 (32.8 KiB) TX bytes:33600 (32.8 KiB)

/etc/networks

Ce fichier contient la correspondance entre des noms de réseaux et l'adresse IP du réseau :

[root@centos6 ~]# cat /etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0

Résolution d'adresses IP

La configuration DNS est stockée dans le fichier /etc/resolv.conf.

/etc/resolv.conf

La configuration DNS est stockée dans le fichier /etc/resolv.conf :

[root@centos6 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
nameserver 8.8.8.8
nameserver 8.8.4.4
search fenestros.loc

Notez que les DNS utilisés sont les serveurs DNS publics de Google.

/etc/nsswitch.conf

L'ordre de recherche des services de noms est stocké dans le fichier /etc/nsswitch.conf. Pour connaître l'ordre, saisissez la commande suivante :

[root@centos6 ~]# grep '^hosts:' /etc/nsswitch.conf
hosts: files dns

/etc/hosts

Le mot files dans la sortie de la commande précédente fait référence au fichier /etc/hosts :

[root@centos6 ~]# cat /etc/hosts
10.0.2.15	centos6	# Added by NetworkManager
127.0.0.1	localhost.localdomain	localhost
::1	centos6	localhost6.localdomain6	localhost6

Pour tester le serveur DNS, deux commandes sont possibles :

[root@centos6 ~]# nslookup www.linuxelearning.com
Server:	8.8.8.8
Address:	8.8.8.8#53
Non-authoritative answer:
www.linuxelearning.com	canonical name = linuxelearning.com.
Name:	linuxelearning.com
Address: 212.198.31.61
[root@centos6 ~]# dig www.linuxelearning.com
; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 <<>> www.linuxelearning.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21100
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.linuxelearning.com.	IN	A
;; ANSWER SECTION:
www.linuxelearning.com.	42930	IN	CNAME	linuxelearning.com.
linuxelearning.com.	13	IN	A	212.198.31.61
;; Query time: 66 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed May 9 16:00:07 2012
;; MSG SIZE rcvd: 70

Services réseaux

Quand un client émet une demande de connexion vers une application réseau sur un serveur, il utilise un socket attaché à un port local supérieur à 1023, alloué d'une manière dynamique. La requête contient le port de destination sur le serveur. Certaines applications serveurs se gèrent toutes seules, ce qui est la cas par exemple d'httpd. Par contre d'autres sont gérées par le service xinetd.

xinetd

Sous RHEL/CentOS 6 xinetd n'est pas installé par défaut. Installez-le grâce à yum :

[root@centos6 ~]# yum install xinetd
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: fr2.rpmfind.net
* updates: fr2.rpmfind.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xinetd.i686 2:2.3.14-33.el6 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
xinetd i686 2:2.3.14-33.el6 base 121 k
Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 121 k
Installed size: 258 k
Is this ok [y/N]: y
Downloading Packages:
xinetd-2.3.14-33.el6.i686.rpm | 121 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 2:xinetd-2.3.14-33.el6.i686 1/1
Installed:
xinetd.i686 2:2.3.14-33.el6
Complete!

Le programme xinetd est configuré via le fichier /etc/xinetd.conf :

[root@centos6 ~]# cat /etc/xinetd.conf
#
# This is the master xinetd configuration file. Settings in the
# default section will be inherited by all service configurations
# unless explicitly overridden in the service configuration. See
# xinetd.conf in the man pages for a more detailed explanation of
# these attributes.
defaults
{
# The next two items are intended to be a quick access place to
# temporarily enable or disable services.
#
#	enabled	=
#	disabled	=
# Define general logging characteristics.
log_type	= SYSLOG daemon info
log_on_failure	= HOST
log_on_success	= PID HOST DURATION EXIT
# Define access restriction defaults
#
#	no_access	=
#	only_from	=
#	max_load	= 0
cps	= 50 10
instances	= 50
per_source	= 10
# Address and networking defaults
#
#	bind	=
#	mdns	= yes
v6only	= no
# setup environmental attributes
#
#	passenv	=
groups	= yes
umask	= 002
# Generally, banners are not used. This sets up their global defaults
#
#	banner	=
#	banner_fail	=
#	banner_success	=
}
includedir /etc/xinetd.d

Ce fichier ne définit pas les applications serveurs directement. Il indique plutôt le répertoire qui contient les fichiers de définitions des applications serveurs qui est /etc/xinetd.d :

[root@centos6 ~]# ls -l /etc/xinetd.d
total 52
-rw-------. 1 root root 1157 7 déc. 22:07 chargen-dgram
-rw-------. 1 root root 1159 7 déc. 22:07 chargen-stream
-rw-r--r--. 1 root root 523 25 juin 2011 cvs
-rw-------. 1 root root 1157 7 déc. 22:07 daytime-dgram
-rw-------. 1 root root 1159 7 déc. 22:07 daytime-stream
-rw-------. 1 root root 1157 7 déc. 22:07 discard-dgram
-rw-------. 1 root root 1159 7 déc. 22:07 discard-stream
-rw-------. 1 root root 1148 7 déc. 22:07 echo-dgram
-rw-------. 1 root root 1150 7 déc. 22:07 echo-stream
-rw-r--r--. 1 root root 332 20 mai 2009 rsync
-rw-------. 1 root root 1212 7 déc. 22:07 tcpmux-server
-rw-------. 1 root root 1149 7 déc. 22:07 time-dgram
-rw-------. 1 root root 1150 7 déc. 22:07 time-stream

A l'examen de ce répertoire vous noterez que celui-ci contient des fichiers nominatifs par application-serveur, par exemple pour le serveur cvs :

[root@centos6 ~]# cat /etc/xinetd.d/cvs
# default: off
# description: The CVS service can record the history of your source \
# files. CVS stores all the versions of a file in a single \
# file in a clever way that only stores the differences \
# between versions.
service cvspserver
{
disable	= yes
port	= 2401
socket_type	= stream
protocol	= tcp
wait	= no
user	= root
passenv	= PATH
server	= /usr/bin/cvs
env	= HOME=/var/cvs
server_args	= -f --allow-root=/var/cvs pserver
#	bind	= 127.0.0.1
}

Les directives principales de ce fichier sont :

Paramètre	Déscription
disable	no : Le service est actif. yes : Le service est désactivé
port	Le numéro de port ou, à défaut, le numéro indiqué pour le service dans le fichier /etc/services
socket_type	Nature du socket, soit stream pour TCP soit dgram pour UDP
protocol	Protocole utilisé soit TCP soit UDP
wait	no : indique si xinetd active un serveur par client. yes : indique que xinetd active un seul serveur pour tous les client
user	Indique le compte sous lequel le serveur est exécuté
server	Indique le chemin d'accès de l'application serveur
env	Définit un environnement système
server_args	Donne les arguments transmis à l'application serveur

Afin d'activer une application serveur, il suffit de modifier le paramètre disable dans le fichier concerné et de relancer le service xinetd.

TCP Wrapper

TCP Wrapper contrôle l'accès à des services réseaux grâce à des ACL.

Quand une requête arrive pour un serveur, xinetd active le wrapper tcpd au lieu d'activer le serveur directement.

tcpd met à jour un journal et vérifie si le client a le droit d'utiliser le service concerné. Les ACL se trouvent dans deux fichiers:

/etc/hosts.allow

/etc/hosts.deny

Il faut noter que si ces fichiers n'existent pas ou sont vides, il n'y a pas de contrôle d'accès.

Le format d'une ligne dans un de ces deux fichiers est:

démon : liste_de_clients

Par exemple dans le cas d'un serveur démon, on verrait une ligne dans le fichier /etc/hosts.allow similaire à:

démon : LOCAL, .fenestros.loc

ce qui implique que les machines dont le nom ne comporte pas de point ainsi que les machines du domaine fenestros.loc sont autorisées à utiliser le service.

Le mot clef ALL peut être utilisé pour indiquer tout. Par exemple, ALL:ALL dans le fichier /etc/host.deny bloque effectivement toute tentative de connexion à un service xinetd sauf pour les ACL inclus dans le fichier /etc/host.allow.

Routage Statique

La Commande route

Pour afficher la table de routage de la machine vous pouvez utiliser la commande route :

[root@centos6 ~]# route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0

La table issue de la commande route indique les informations suivantes:

La destination qui peut être un hôte ou un réseau et est identifiée par les champs Destination et Genmask

La route à prendre identifiée par les champs Gateway et Iface. Dans le cas d'une valeur de 0.0.0.0 ceci spécifie une route directe. La valeur d'Iface spécifie la carte à utiliser,

Le champ Indic qui peux prendre un ou plusieurs de svaleurs suivantes:

U - Up - la route est active

H - Host - la route conduit à un hôte

G - Gateways - la route passe par une passerelle

Le champ Metric indique le nombre de sauts (passerelles) pour atteindre la destination,

Le champ Ref indique le nombre de références à cette route. Ce champs est usilisé par le Noyau de Linux,

Le champ Use indique le nombre de recherches associés à cette route.

La commande route permet aussi de paramétrer le routage indirect. Par exemple pour supprimer la route vers le réseau 192.168.1.0 :

[root@centos6 ~]# route del -net 192.168.1.0 netmask 255.255.255.0
[root@centos6 ~]# route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0

Pour ajouter la route vers le réseau 192.168.1.0 :

[root@centos6 ~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.2
[root@centos6 ~]# route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.0 192.168.1.2 255.255.255.0 UG 0 0 0 eth0
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0

La commande utilisée pour ajouter une passerelle par défaut prend la forme suivante route add default gw numéro_ip interface.

Les options cette commande sont :

[root@centos6 ~]# route --help
Syntaxe: route [-nNvee] [-FC] [<AF>] Liste les tables de routage noyau
route [-v] [-FC] {add|del|flush} ... Modifie la table de routage pour AF.
route {-h|--help} [<AF>] Utilisation détaillée pour l'AF spécifié.
route {-V|--version} Affiche la version/auteur et termine.
-v, --verbose mode verbeux
-n, --numeric don't resolve names
-e, --extend display other/more information
-F, --fib display Forwarding Information Base (default)
-C, --cache affiche le cache de routage au lieu de FIB
<AF>=Use '-A <af>' or '--<af>'; default: inet
Liste les familles d'adresses possibles (supportant le routage):
inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)
x25 (CCITT X.25)

Vous pouvez aussi utiliser la commande netstat pour afficher la table de routage de la machine :

[root@centos6 ~]# netstat -nr
Table de routage IP du noyau
Destination Passerelle Genmask Indic MSS Fenêtre irtt Iface
192.168.1.0 192.168.1.2 255.255.255.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0

La table issue de la commande netstat -nr indique les informations suivantes:

La champ MSS indique la taille maximale des segments TCP sur la route,

Le champ Window indique la taille de la fenêtre sur cette route,

Le champ irrt indique le paramètre IRRT pour la route.

Activer/désactiver le routage sur le serveur

Pour activer le routage sur le serveur, il convient d'activer la retransmission des paquets:

[root@centos6 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@centos6 ~]# cat /proc/sys/net/ipv4/ip_forward
1

Pour désactiver le routage sur le serveur, il convient de désactiver la retransmission des paquets:

[root@centos6 ~]# echo 0 > /proc/sys/net/ipv4/ip_forward
[root@centos6 ~]# cat /proc/sys/net/ipv4/ip_forward
0

Configuration du Réseau sous RHEL/CentOS 7

RHEL/CentOS 7 utilise exclusivement Network Manager pour gérer le réseau. Network Manager est composé de deux éléments :

un service qui gère les connexions réseaux et rapporte leurs états,

des front-ends qui passent par un API de configuration du service.

Important : Notez qu'avec cette version de NetworkManager, IPv6 est activée par défaut.

Le service NetworkManager doit toujours être lancé :

[root@centos7 ~]# systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2016-08-07 09:18:20 CEST; 1 day 1h ago
Main PID: 673 (NetworkManager)
CGroup: /system.slice/NetworkManager.service
├─ 673 /usr/sbin/NetworkManager --no-daemon
└─2673 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp0s3.pid -lf /var/lib/NetworkManager/dhclient-45b701c1-0a21-4d76-a795-...
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> nameserver '8.8.8.8'
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> (enp0s3): DHCPv4 state changed unknown -> bound
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> (enp0s3): device state change: ip-config -> ip-check (reason 'none') [70 80 0]
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> (enp0s3): device state change: ip-check -> secondaries (reason 'none') [80 90 0]
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> (enp0s3): device state change: secondaries -> activated (reason 'none') [90 100 0]
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> NetworkManager state is now CONNECTED_LOCAL
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> NetworkManager state is now CONNECTED_GLOBAL
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> Policy set 'Wired connection 1' (enp0s3) as default for IPv4 routing and DNS.
Aug 08 11:03:55 centos7.fenestros.loc NetworkManager[673]: <info> (enp0s3): Activation: successful, device activated.
Aug 08 11:03:55 centos7.fenestros.loc dhclient[2673]: bound to 10.0.2.15 -- renewal in 39589 seconds.

La Commande nmcli

La commande nmcli (Network Manager Command Line Interface) est utilisée pour configurer NetworkManager.

Les options et les sous-commandes peuvent être consultées en utilisant les commandes suivantes :

[root@centos7 ~]# nmcli help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
OPTIONS
-t[erse] terse output
-p[retty] pretty output
-m[ode] tabular|multiline output mode
-f[ields] <field1,field2,...>|all|common specify fields to output
-e[scape] yes|no escape columns separators in values
-n[ocheck] don't check nmcli and NetworkManager versions
-a[sk] ask for missing parameters
-w[ait] <seconds> set timeout waiting for finishing operations
-v[ersion] show program version
-h[elp] print this help
OBJECT
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections
d[evice] devices managed by NetworkManager
a[gent] NetworkManager secret agent or polkit agent
[root@centos7 ~]# nmcli g help
Usage: nmcli general { COMMAND | help }
COMMAND := { status | hostname | permissions | logging }
status
hostname [<hostname>]
permissions
logging [level <log level>] [domains <log domains>]
[root@centos7 ~]# nmcli g status help
Usage: nmcli general status { help }
Show overall status of NetworkManager.
'status' is the default action, which means 'nmcli gen' calls 'nmcli gen status'

Connections et Profils

NetworkManager inclus la notion de connections ou profils permettant des configurations différentes en fonction de la localisation. Pour voir les connections actuelles, utilisez la commande nmcli c avec la sous-commande show :

[root@centos7 ~]# nmcli c show
NAME UUID TYPE DEVICE
Wired connection 1 45b701c1-0a21-4d76-a795-2f2bcba86955 802-3-ethernet enp0s3

Comme on peut constater ici, il n'existe pour le moment, qu'un seul profil.

Créez donc un profil IP fixe rattaché au périphérique enp0s3 :

[root@centos7 ~]# nmcli connection add con-name ip_fixe ifname enp0s3 type ethernet ip4 10.0.2.16/24 gw4 10.0.2.2
Connection 'ip_fixe' (fb3a11d9-4e03-4032-b26e-09d1195d2bcd) successfully added.

Constatez sa présence :

[root@centos7 ~]# nmcli c show
NAME UUID TYPE DEVICE
ip_fixe fb3a11d9-4e03-4032-b26e-09d1195d2bcd 802-3-ethernet --
Wired connection 1 45b701c1-0a21-4d76-a795-2f2bcba86955 802-3-ethernet enp0s3

Notez que la sortie n'indique pas que le profil ip_fixe soit associé au periphérique enp0s3 car le profil ip_fixe n'est pas activé :

[root@centos7 ~]# nmcli d show
GENERAL.DEVICE: enp0s3
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:03:97:DD
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: Wired connection 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 10.0.2.15/24
IP4.GATEWAY: 10.0.2.2
IP4.DNS[1]: 8.8.8.8
IP6.ADDRESS[1]: fe80::a00:27ff:fe03:97dd/64
IP6.GATEWAY:
GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY:
IP6.ADDRESS[1]: ::1/128
IP6.GATEWAY:

Pour activer le profil ip_fixe, utilisez la commande suivante :

[root@centos7 ~]# nmcli connection up ip_fixe

Le profil ip_fixe est maintenant activé tandis que le profil enp0s3 a été désactivé :

[root@centos7 ~]# nmcli c show
NAME UUID TYPE DEVICE
ip_fixe fb3a11d9-4e03-4032-b26e-09d1195d2bcd 802-3-ethernet enp0s3
Wired connection 1 45b701c1-0a21-4d76-a795-2f2bcba86955 802-3-ethernet --
[root@centos7 ~]# nmcli d show
GENERAL.DEVICE: enp0s3
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:03:97:DD
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ip_fixe
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 10.0.2.16/24
IP4.GATEWAY: 10.0.2.2
IP6.ADDRESS[1]: fe80::a00:27ff:fe03:97dd/64
IP6.GATEWAY:
GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY:
IP6.ADDRESS[1]: ::1/128
IP6.GATEWAY:

Pour consulter les paramètres d'un profil, utilisez la commande suivante :

[root@centos7 ~]# nmcli -p connection show "Wired connection 1"
===============================================================================
Connection profile details (Wired connection 1)
===============================================================================
connection.id: Wired connection 1
connection.uuid: 45b701c1-0a21-4d76-a795-2f2bcba86955
connection.interface-name: --
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.timestamp: 1470647387
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries:
connection.gateway-ping-timeout: 0
connection.metered: unknown
-------------------------------------------------------------------------------
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mac-address: 08:00:27:03:97:DD
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels:
802-3-ethernet.s390-nettype: --
802-3-ethernet.s390-options:
802-3-ethernet.wake-on-lan: 1 (default)
802-3-ethernet.wake-on-lan-password: --
-------------------------------------------------------------------------------
ipv4.method: auto
ipv4.dns:
ipv4.dns-search:
ipv4.addresses:
ipv4.gateway: --
ipv4.routes:
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.never-default: no
ipv4.may-fail: yes
-------------------------------------------------------------------------------
ipv6.method: auto
ipv6.dns:
ipv6.dns-search:
ipv6.addresses:
ipv6.gateway: --
ipv6.routes:
ipv6.route-metric: -1
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
-------------------------------------------------------------------------------
[root@centos7 ~]# nmcli -p connection show ip_fixe
===============================================================================
Connection profile details (ip_fixe)
===============================================================================
connection.id: ip_fixe
connection.uuid: fb3a11d9-4e03-4032-b26e-09d1195d2bcd
connection.interface-name: enp0s3
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.timestamp: 1470647577
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries:
connection.gateway-ping-timeout: 0
connection.metered: unknown
-------------------------------------------------------------------------------
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels:
802-3-ethernet.s390-nettype: --
802-3-ethernet.s390-options:
802-3-ethernet.wake-on-lan: 1 (default)
802-3-ethernet.wake-on-lan-password: --
-------------------------------------------------------------------------------
ipv4.method: manual
ipv4.dns:
ipv4.dns-search:
ipv4.addresses: 10.0.2.16/24
ipv4.gateway: 10.0.2.2
ipv4.routes:
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.never-default: no
ipv4.may-fail: yes
-------------------------------------------------------------------------------
ipv6.method: auto
ipv6.dns:
ipv6.dns-search:
ipv6.addresses:
ipv6.gateway: --
ipv6.routes:
ipv6.route-metric: -1
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
-------------------------------------------------------------------------------
===============================================================================
Activate connection details (fb3a11d9-4e03-4032-b26e-09d1195d2bcd)
===============================================================================
GENERAL.NAME: ip_fixe
GENERAL.UUID: fb3a11d9-4e03-4032-b26e-09d1195d2bcd
GENERAL.DEVICES: enp0s3
GENERAL.STATE: activated
GENERAL.DEFAULT: yes
GENERAL.DEFAULT6: no
GENERAL.VPN: no
GENERAL.ZONE: --
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/1
GENERAL.SPEC-OBJECT: /
GENERAL.MASTER-PATH: --
-------------------------------------------------------------------------------
IP4.ADDRESS[1]: 10.0.2.16/24
IP4.GATEWAY: 10.0.2.2
-------------------------------------------------------------------------------
IP6.ADDRESS[1]: fe80::a00:27ff:fe03:97dd/64
IP6.GATEWAY:
-------------------------------------------------------------------------------

Pour consulter la liste profils associés à un périphérique, utilisez la commande suivante :

[root@centos7 ~]# nmcli -f CONNECTIONS device show enp0s3
CONNECTIONS.AVAILABLE-CONNECTION-PATHS: /org/freedesktop/NetworkManager/Settings/{0,1}
CONNECTIONS.AVAILABLE-CONNECTIONS[1]: 45b701c1-0a21-4d76-a795-2f2bcba86955 | Wired connection 1
CONNECTIONS.AVAILABLE-CONNECTIONS[2]: fb3a11d9-4e03-4032-b26e-09d1195d2bcd | ip_fixe

Les fichiers de configuration pour le periphérique enp0s3 se trouvent dans le répertoire /etc/sysconfig/network-scripts/ :

[root@centos7 ~]# ls -l /etc/sysconfig/network-scripts/ | grep ifcfg
-rw-r--r--. 1 root root 296 Aug 8 11:08 ifcfg-ip_fixe
-rw-r--r--. 1 root root 254 Sep 16 2015 ifcfg-lo

L'étude du fichier /etc/sysconfig/network-scripts/ifcfg-ip_fixe démontre l'abscence de directives concernant les DNS :

[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ip_fixe
TYPE=Ethernet
BOOTPROTO=none
IPADDR=10.0.2.16
PREFIX=24
GATEWAY=10.0.2.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=ip_fixe
UUID=fb3a11d9-4e03-4032-b26e-09d1195d2bcd
DEVICE=enp0s3
ONBOOT=yes

La résolution des noms est donc inactive :

[root@centos7 ~]# ping www.free.fr
ping: unknown host www.free.fr

Modifiez donc la configuration du profil ip_fixe :

[root@centos7 ~]# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8

L'étude du fichier /etc/sysconfig/network-scripts/ifcfg-ip_fixe démontre que la directive concernant le serveur DNS a été ajoutée :

[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ip_fixe
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ip_fixe
UUID=fb3a11d9-4e03-4032-b26e-09d1195d2bcd
DEVICE=enp0s3
ONBOOT=yes
IPADDR=10.0.2.16
PREFIX=24
GATEWAY=10.0.2.2
DNS1=8.8.8.8
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

Afin que la modification du serveur DNS soit prise en compte, re-démarrez le service NetworkManager :

[root@centos7 ~]# systemctl restart NetworkManager.service
[root@centos7 ~]# systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2016-08-08 11:16:53 CEST; 7s ago
Main PID: 8394 (NetworkManager)
CGroup: /system.slice/NetworkManager.service
└─8394 /usr/sbin/NetworkManager --no-daemon
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> (enp0s3): device state change: prepare -> config (reason 'none') [40 50 0]
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> (enp0s3): device state change: config -> ip-config (reason 'none') [50 70 0]
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> (enp0s3): device state change: ip-config -> ip-check (reason 'none') [70 80 0]
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> (enp0s3): device state change: ip-check -> secondaries (reason 'none') [80 90 0]
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> (enp0s3): device state change: secondaries -> activated (reason 'none') [90 100 0]
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> NetworkManager state is now CONNECTED_LOCAL
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> NetworkManager state is now CONNECTED_GLOBAL
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> Policy set 'ip_fixe' (enp0s3) as default for IPv4 routing and DNS.
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> (enp0s3): Activation: successful, device activated.
Aug 08 11:16:53 centos7.fenestros.loc NetworkManager[8394]: <info> wpa_supplicant running

Vérifiez que le fichier /etc/resolv.conf ait été modifié par NetworkManager :

[root@centos7 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search fenestros.loc
nameserver 8.8.8.8

Dernièrement vérifiez la resolution des noms :

[root@centos7 ~]# ping www.free.fr
PING www.free.fr (212.27.48.10) 56(84) bytes of data.
64 bytes from www.free.fr (212.27.48.10): icmp_seq=1 ttl=63 time=10.4 ms
64 bytes from www.free.fr (212.27.48.10): icmp_seq=2 ttl=63 time=9.44 ms
64 bytes from www.free.fr (212.27.48.10): icmp_seq=3 ttl=63 time=12.1 ms
^C
--- www.free.fr ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 9.448/10.680/12.171/1.126 ms

Important : Notez qu'il existe un front-end graphique en mode texte, nmtui, pour configurer NetworkManager.

Ajouter une Deuxième Adresse IP à un Profil

Pour ajouter une deuxième adresse IP à un profil sous RHEL/CentOS 7, il convient d'utiliser la commande suivante :

[root@centos7 ~]# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.2/24

Redémarrez la machine virtuelle puis en tant que root saisissez la commande suivante :

[root@centos7 ~]# nmcli connection show ip_fixe
connection.id: ip_fixe
connection.uuid: fb3a11d9-4e03-4032-b26e-09d1195d2bcd
connection.interface-name: enp0s3
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.timestamp: 1470555543
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries:
connection.gateway-ping-timeout: 0
connection.metered: unknown
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels:
802-3-ethernet.s390-nettype: --
802-3-ethernet.s390-options:
802-3-ethernet.wake-on-lan: 1 (default)
802-3-ethernet.wake-on-lan-password: --
ipv4.method: manual
ipv4.dns: 8.8.8.8
ipv4.dns-search:
ipv4.addresses: 10.0.2.16/24, 192.168.1.2/24
ipv4.gateway: 10.0.2.2
ipv4.routes:
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.never-default: no
ipv4.may-fail: yes
ipv6.method: auto
ipv6.dns:
ipv6.dns-search:
ipv6.addresses:
ipv6.gateway: --
ipv6.routes:
ipv6.route-metric: -1
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
GENERAL.NAME: ip_fixe
GENERAL.UUID: fb3a11d9-4e03-4032-b26e-09d1195d2bcd
GENERAL.DEVICES: enp0s3
GENERAL.STATE: activated
GENERAL.DEFAULT: yes
GENERAL.DEFAULT6: no
GENERAL.VPN: no
GENERAL.ZONE: --
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/0
GENERAL.SPEC-OBJECT: /
GENERAL.MASTER-PATH: --
IP4.ADDRESS[1]: 10.0.2.16/24
IP4.ADDRESS[2]: 192.168.1.2/24
IP4.GATEWAY: 10.0.2.2
IP4.DNS[1]: 8.8.8.8
IP6.ADDRESS[1]: fe80::a00:27ff:fe03:97dd/64
IP6.GATEWAY:

Important : Notez l'ajout de la ligne IP4.ADDRESS[2]:.

Consultez maintenant le contenu du fichier /etc/sysconfig/network-scripts/ifcfg-ip_fixe :

[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ip_fixe
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ip_fixe
UUID=fb3a11d9-4e03-4032-b26e-09d1195d2bcd
DEVICE=enp0s3
ONBOOT=yes
DNS1=8.8.8.8
IPADDR=10.0.2.16
PREFIX=24
IPADDR1=192.168.1.2
PREFIX1=24
GATEWAY=10.0.2.2
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

Important : Notez l'ajout de la ligne IPADDR1=192.168.1.2.

La Commande hostname

La procédure de la modification du hostname est simplifiée et sa prise en compte est immédiate :

[root@centos7 ~]# nmcli general hostname centos.fenestros.loc
[root@centos7 ~]# cat /etc/hostname
centos.fenestros.loc
[root@centos7 ~]# hostname
centos.fenestros.loc
[root@centos7 ~]# nmcli general hostname centos7.fenestros.loc
[root@centos7 ~]# cat /etc/hostname
centos7.fenestros.loc
[root@centos7 ~]# hostname
centos7.fenestros.loc

La Commande ip

Sous RHEL/CentOS 7 la commande ip est préférée par rapport à la commande ifconfig :

[root@centos7 ~]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:03:97:dd brd ff:ff:ff:ff:ff:ff
inet 10.0.2.16/24 brd 10.0.2.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 192.168.1.2/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe03:97dd/64 scope link
valid_lft forever preferred_lft forever
[root@centos7 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:03:97:dd brd ff:ff:ff:ff:ff:ff
inet 10.0.2.16/24 brd 10.0.2.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 192.168.1.2/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe03:97dd/64 scope link
valid_lft forever preferred_lft forever

Options de la Commande ip

Les options de cette commande sont :

[root@centos7 ~]# ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |
netns | l2tp | tcp_metrics | token }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-f[amily] { inet | inet6 | ipx | dnet | bridge | link } |
-4 | -6 | -I | -D | -B | -0 |
-l[oops] { maximum-addr-flush-attempts } |
-o[neline] | -t[imestamp] | -b[atch] [filename] |
-rc[vbuf] [size]}

Activer/Désactiver une Interface Manuellement

Deux commandes existent pour désactiver et activer manuellement une interface réseau :

[root@centos7 ~]# nmcli device disconnect enp0s3
[root@centos7 ~]# nmcli device connect enp0s3

Routage Statique

La commande ip

Sous RHEL/CentOS 7, pour supprimer la route vers le réseau 192.168.1.0 il convient d'utiliser la commande ip et non pas la commande route :

[root@centos7 ~]# ip route
default via 10.0.2.2 dev enp0s3 proto static metric 100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.16 metric 100
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.2 metric 100
[root@centos7 ~]# ip route del 192.168.1.0/24 via 0.0.0.0
[root@centos7 ~]# ip route
default via 10.0.2.2 dev enp0s3 proto static metric 100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.16 metric 100

Pour ajouter la route vers le réseau 192.168.1.0 :

[root@centos7 ~]# ip route add 192.168.1.0/24 via 10.0.2.2
[root@centos7 ~]# ip route
default via 10.0.2.2 dev enp0s3 proto static metric 100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.16 metric 100
192.168.1.0/24 via 10.0.2.2 dev enp0s3

La commande utilisée pour ajouter une passerelle par défaut prend la forme suivante ip route add default via adresse ip.

Activer/désactiver le routage sur le serveur

Pour activer le routage sur le serveur, il convient d'activer la retransmission des paquets:

[root@centos7 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@centos7 ~]# cat /proc/sys/net/ipv4/ip_forward
1

Pour désactiver le routage sur le serveur, il convient de désactiver la retransmission des paquets:

[root@centos7 ~]# echo 0 > /proc/sys/net/ipv4/ip_forward
[root@centos7 ~]# cat /proc/sys/net/ipv4/ip_forward
0

<html>

Copyright © 2004-2017 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”><img alt=“Licence Creative Commons” style=“border-width:0” src=“http://i.creativecommons.org/l/by-nc-nd/3.0/fr/88x31.png” /></a><br />Ce(tte) oeuvre est mise à disposition selon les termes de la <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”>Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France</a>.

</html>