Créez plusieurs adresses IP sur une seule interface réseau
Le concept de création ou de configuration de plusieurs adresses IP sur une seule interface réseau est appelé alias IP. L'alias IP est très utile pour configurer plusieurs sites virtuels sur Apache en utilisant une seule interface réseau avec différentes adresses IP sur un seul sous-réseau.
Le principal avantage de l'utilisation de cet alias IP est que vous n'avez pas besoin d'avoir un adaptateur physique connecté à chaque IP, mais à la place, vous pouvez créer plusieurs ou plusieurs interfaces virtuelles ( alias) sur une seule carte physique.
Les instructions données ici s'appliquent à toutes les principales distributions Linux comme Red Hat, Fedora et CentOS. Créer plusieurs interfaces et leur attribuer manuellement une adresse IP est une tâche ardue. Ici, nous verrons comment lui attribuer une adresse IP en définissant un ensemble de plages IP. Comprenez également comment nous allons créer une interface virtuelle et attribuer différentes plages d'adresses IP à une interface en une seule fois. Dans cet article, nous avons utilisé des LAN IPs, alors remplacez-les par celles que vous utiliserez.
Création d'une interface virtuelle et attribution de plusieurs adresses IP
Ici, j'ai une interface appelée « ifcfg-eth0 », l'interface par défaut du périphérique Ethernet. Si vous avez connecté un deuxième périphérique Ethernet, il y aura un périphérique « ifcfg-eth1 » et ainsi de suite pour chaque périphérique que vous avez connecté. Ces fichiers réseau de périphériques se trouvent dans le répertoire « /etc/sysconfig/network-scripts/ ». Accédez au répertoire et faites « ls -l » pour répertorier tous les appareils.
cd /etc/sysconfig/network-scripts/
ls -l
Exemple de sortie
ifcfg-eth0 ifdown-isdn ifup-aliases ifup-plusb init.ipv6-global
ifcfg-lo ifdown-post ifup-bnep ifup-post net.hotplug
ifdown ifdown-ppp ifup-eth ifup-ppp network-functions
ifdown-bnep ifdown-routes ifup-ippp ifup-routes network-functions-ipv6
ifdown-eth ifdown-sit ifup-ipv6 ifup-sit
ifdown-ippp ifdown-tunnel ifup-isdn ifup-tunnel
ifdown-ipv6 ifup ifup-plip ifup-wireless
Supposons que nous souhaitions créer trois interfaces virtuelles supplémentaires pour lier trois adresses IP (172.16.16.126, 172.16.16.127 et 172.16.16.128 ) à la NIC. Nous devons donc créer trois fichiers d'alias supplémentaires, tandis que « ifcfg-eth0 » conserve la même adresse IP principale. C'est ainsi que nous allons configurer trois alias pour lier les adresses IP suivantes.
Adapter IP Address Type
-------------------------------------------------
eth0 172.16.16.125 Primary
eth0:0 172.16.16.126 Alias 1
eth0:1 172.16.16.127 Alias 2
eth0:2 172.16.16.128 Alias 3
Où « :X » est le numéro de périphérique (interface) pour créer les alias pour l'interface eth0. Pour chaque alias, vous devez attribuer un numéro de manière séquentielle. Par exemple, nous copions les paramètres existants de l'interface « ifcfg-eth0 » dans des interfaces virtuelles appelées ifcfg-eth0:0, ifcfg-eth0:1. et ifcfg-eth0:2. Accédez au répertoire réseau et créez les fichiers comme indiqué ci-dessous.
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0
cp ifcfg-eth0 ifcfg-eth0:1
cp ifcfg-eth0 ifcfg-eth0:2
Ouvrez un fichier « ifcfg-eth0 » et affichez son contenu.
[root@tecmint network-scripts]# vi ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.125
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
Ici, nous n'avons besoin que de deux paramètres (DEVICE et IPADDR). Alors, ouvrez chaque fichier avec l'éditeur VI et renommez le nom du DEVICE en son alias correspondant et modifiez l'adresse IPADDR. Par exemple, ouvrez les fichiers « ifcfg-eth0:0 », « ifcfg-eth0:1 » et « ifcfg-eth0:2 » en utilisant Éditeur VI et modifiez les deux paramètres. Finalement, cela ressemblera à celui ci-dessous.
ifcfg-eth0:0
DEVICE="eth0:0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.126
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ifcfg-eth0:1
DEVICE="eth0:1"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.127
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ifcfg-eth0:2
DEVICE="eth0:2"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.128
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
Une fois que vous avez effectué toutes les modifications, enregistrez toutes vos modifications et redémarrez/démarrez le service réseau pour que les modifications soient reflétées.
[root@tecmint network-scripts]# /etc/init.d/network restart
Pour vérifier que tous les alias (interface virtuelle) sont opérationnels, vous pouvez utiliser la commande « ifconfig » ou « ip ».
[root@tecmint network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.125 Bcast:172.16.16.100 Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:237 errors:0 dropped:0 overruns:0 frame:0
TX packets:198 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25429 (24.8 KiB) TX bytes:26910 (26.2 KiB)
Interrupt:18 Base address:0x2000
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.126 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.127 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:2 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.128 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
Pingez chacun d’eux depuis une machine différente. Si tout est correctement configuré, vous recevrez une réponse ping de chacun d’eux.
ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
Exemple de sortie
[root@tecmint ~]# ping 172.16.16.126
PING 172.16.16.126 (172.16.16.126) 56(84) bytes of data.
64 bytes from 172.16.16.126: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.126: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.126: icmp_seq=3 ttl=64 time=0.159 ms
--- 172.16.16.126 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms
[root@tecmint ~]# ping 172.16.16.127
PING 172.16.16.127 (172.16.16.127) 56(84) bytes of data.
64 bytes from 172.16.16.127: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.127: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.127: icmp_seq=3 ttl=64 time=0.159 ms
--- 172.16.16.127 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms
[root@tecmint ~]# ping 172.16.16.128
PING 172.16.16.128 (172.16.16.128) 56(84) bytes of data.
64 bytes from 172.16.16.128: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.128: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.128: icmp_seq=3 ttl=64 time=0.159 ms
--- 172.16.16.128 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms
Il semble que tout fonctionne correctement. Avec ces nouvelles adresses IP, vous pouvez configurer des sites virtuels dans Apache, des comptes FTP et bien d'autres choses.
Attribuer plusieurs plages d'adresses IP
Si vous souhaitez créer une plage de Plusieurs adresses IP vers une interface particulière appelée « ifcfg-eth0 », nous utilisons « ifcfg-eth0-range0 » et copiez le contenu de ifcfg-eth0 dessus comme indiqué ci-dessous.
[root@tecmint network-scripts]# cd /etc/sysconfig/network-scripts/
[root@tecmint network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0-range0
Ouvrez maintenant le fichier « ifcfg-eth0-range0 » et ajoutez la plage d'adresses IP « IPADDR_START » et « IPADDR_END » comme indiqué ci-dessous.
[root@tecmint network-scripts]# vi ifcfg-eth0-range0
#DEVICE="eth0"
#BOOTPROTO=none
#NM_CONTROLLED="yes"
#ONBOOT=yes
TYPE="Ethernet"
IPADDR_START=172.16.16.126
IPADDR_END=172.16.16.130
IPV6INIT=no
#GATEWAY=172.16.16.100
Enregistrez-le et redémarrez/démarrez le service réseau
[root@tecmint network-scripts]# /etc/init.d/network restart
Vérifiez que les interfaces virtuelles sont créées avec une adresse IP.
[root@tecmint network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.125 Bcast:172.16.16.100 Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1385 errors:0 dropped:0 overruns:0 frame:0
TX packets:1249 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:127317 (124.3 KiB) TX bytes:200787 (196.0 KiB)
Interrupt:18 Base address:0x2000
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.126 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.127 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:2 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.128 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:3 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.129 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:4 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.130 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
Si vous rencontrez des difficultés lors de la configuration, veuillez poster vos questions dans la section commentaires.