web-dev-qa-db-fra.com

Comment puis-je (à partir de la CLI) attribuer plusieurs adresses IP à une interface?

Sur mon serveur, je souhaite attribuer plusieurs adresses IP à une carte réseau, mais sans utiliser la notation obsolète ifconfig ou la notation "alias" obsolète (telle que eth0:0) dans /etc/network/interfaces car 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.

43
guntbert
  1. Si vous avez besoin d’une adresse IP supplémentaire juste 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 en utilisant 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émarrage, utilisez ifdown/ifup comme

    Sudo ifdown eth0 && Sudo ifup eth0
    

    Il est essentiel de mettre ces deux commandes dans la ligne ne si vous vous connectez au serveur, car la première supprimera votre connexion! Ainsi donnée, la session ssh survivra.

47
guntbert

Avec la nouvelle boîte à outils, il est aussi facile que l'ancien d'ajouter de nouvelles adresses IP:

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

Supprimer cette adresse IP avec:

ip addr del 192.168.1.1/24 dev eth0

La suite iproute2:

La suite iproute2 est la suite de communications 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 -> ip addr and ip link
  • route -> ip route
  • arp -> ip neigh
  • iptunnel -> ip tunnel
  • ipmaddr -> ip maddr
  • netstat -> ss
20
chaos

Une façon est:

Sudo ip addr add 192.168.0.2/24 dev eth1
0
Bert