Comment puis-je (à partir de l'interface de ligne de commande) attribuer plusieurs adresses IP à une interface?

39

Sur mon serveur, je veux attribuer plusieurs adresses IP à une carte réseau, mais sans utiliser la notation obsolète ifconfig ou obsolète (comme eth0:0 ) dans /etc/network/interfaces car dans Aliasing IP (sur www.kernel.org), vous pouvez lire

  

Les alias IP sont un moyen obsolète de gérer plusieurs adresses IP / masques   par interface

    
posée guntbert 08.11.2014 - 19:45
la source

3 réponses

41
  1. Si vous avez besoin d'une adresse IP supplémentaire pour le moment, vous pouvez l'ajouter à n'importe quelle interface de votre machine avec

     sudo ip address add <ip-address>/<netmask> dev <interface>
    

    par exemple

     sudo ip address add 172.16.100.17/24 dev eth0
    

    ajouterait 172.16.100.17 à l'aide d'un masque de réseau 24 bits à la liste des adresses configurées pour votre eth0 .

    Vous pouvez vérifier le résultat avec

    ip address show eth0
    

    et vous pouvez supprimer cette adresse à nouveau avec

    sudo ip address del 172.16.100.17/24 dev eth0
    

    Bien sûr, ces modifications sont perdues lorsque vous redémarrez votre ordinateur.

  2. Pour rendre les adresses supplémentaires permanentes, vous pouvez éditer le fichier /etc/network/interfaces en ajoutant autant de strophes du formulaire

    iface eth0 static
        address 172.16.100.17/24
    

    pour qu'il ressemble à

    iface eth0 inet dhcp
    
    iface eth0 inet static
        address 172.16.100.17/24
    
    iface eth0 inet static
        address 172.16.24.11/24
    

    Vous pouvez même conserver le dhcp pour l’adresse principale.

    Pour activer ces paramètres sans redémarrer, utilisez ifdown/ifup like

    sudo ifdown eth0 && sudo ifup eth0
    

    Il est essentiel de placer ces deux commandes dans une ligne si vous effectuez une connexion à distance au serveur, car la première va laisser tomber votre connexion! De cette manière, la session ssh va survivre.

réponse donnée guntbert 08.11.2014 - 20:10
la source
17

Avec la nouvelle boîte à outils, il est aussi facile d’ajouter de nouvelles adresses IP qu’avec l’ancienne:

ip addr add 192.168.1.1/24 dev eth0

Lorsque vous regardez à nouveau avec ip addr show , vous voyez la deuxième adresse IP attribuée à l’interface:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.100/24 brd 192.168.0.255 scope global eth0
    inet 192.168.1.1/24 scope global eth0
    inet6 fe80::223:54ff:fe45:f307/64 scope link
       valid_lft forever preferred_lft forever

Supprimez cette adresse IP avec:

ip addr del 192.168.1.1/24 dev eth0

La suite iproute2:

La suite iproute2 est la suite de communication pour la communication interprocessus entre le noyau et l’espace utilisateur via le protocole netlink. Il devrait remplacer l'ensemble des outils réseau standard. Voici ce qu'ils remplacent:

  • ifconfig - & gt; ip addr et ip link
  • route - & gt; ip route
  • arp - & gt; ip neigh
  • iptunnel - & gt; ip tunnel
  • ipmaddr - & gt; ip maddr
  • netstat - & gt; ss
réponse donnée chaos 08.11.2014 - 20:01
la source
0

Un moyen est:

sudo ip addr add 192.168.0.2/24 dev eth1
    
réponse donnée Bert 08.11.2014 - 19:54
la source

Lire d'autres questions sur les étiquettes