Dernière mise-à-jour : 2020/01/30 03:27
La configuration TCP/IP se trouve dans le fichier /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 :
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.
La configuration TCP/IP se trouve dans le répertoire /etc/sysconfig. Les fichiers importants sont :
[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 |
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.
NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=centos6.fenestros.loc
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 ~]#
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
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.
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)
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)
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 : activation État de chemin actif : /org/freedesktop/NetworkManager/ActiveConnection/0 état : 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)
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
La configuration DNS est stockée dans le fichier /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.
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
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
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.
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 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:
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.
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 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:
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
RHEL/CentOS 7 utilise exclusivement Network Manager pour gérer le réseau. Network Manager est composé de deux éléments :
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 (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'
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.
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 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
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
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]}
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
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.
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>