17 votes

Alias d'adresse IP attribué par DHCP

J'aimerais créer plusieurs alias vers eth0, mais que les adresses soient attribuées par DHCP au lieu d'être définies comme des IP statiques. Est-ce possible ?

Tous les exemples que j'ai vus attribuent une IP statique à l'aide de la commande :

ifconfig eth0:0 192.168.1.11 up

18voto

Ambroz Bizjak Points 4595

Cela n'est possible que si les deux clients DHCP utilisent des adresses MAC différentes. Cela signifie qu'ils ne peuvent pas fonctionner tous les deux sur la même interface réseau physique, qui a une seule adresse MAC.

La solution réside dans les interfaces réseau MAC-VLAN virtuelles de Linux. Les interfaces MAC-VLAN sont des interfaces réseau virtuelles soutenues par une interface physique, mais utilisant une adresse MAC différente, qui est générée de manière aléatoire lorsque vous créez un périphérique MAC-VLAN.

Une fois que vous avez créé une interface MAC-VLAN à l'aide d'une interface physique, vous l'utilisez de la même manière que l'interface physique. Dans votre cas particulier, vous pouvez exécuter un client DHCP sur l'interface physique et un autre sur le périphérique MAC-VLAN. Chaque périphérique (physique et MAC-VLAN) peut alors avoir sa propre adresse IP.

Un nouveau dispositif MAC-VLAN macvlan0 peut être créé à partir de eth0 en courant

ip link add dev macvlan0 link eth0 type macvlan

Il peut être supprimé en exécutant

ip link delete dev macvlan0

En utilisant NCD, mon logiciel de configuration de réseau ( http://code.google.com/p/badvpn/wiki/NCD ), le programme NCD suivant créera deux dispositifs MAC-VLAN à partir de eth0 ( macvlan0 y macvlan1 ), lancez le DHCP sur chacun d'entre eux et attribuez-leur les adresses IP obtenues. Vous pouvez facilement faire d'autres choses comme ajouter des routes et des serveurs DNS ; lisez la page de la NCD si cela vous intéresse.

process lan {
    # Set device.
    var("eth0") dev;

    # Wait for device to appear, set it up, and wait for cable to be plugged in.
    net.backend.waitdevice(dev);
    net.up(dev);
    net.backend.waitlink(dev);

    # Start DHCP's.
    provide("lan-link");
}

process lan_dhcp1 {
    # Wait for link.
    depend("lan-link") linkdep;

    # Choose virtual device name.
    var("macvlan0") vdev;

    # Create virtual MAC-VLAN device.
    list("/sbin/ip", "link", "add", "dev", vdev, "link", linkdep.dev, "type", "macvlan") do;
    list("/sbin/ip", "link", "delete", "dev", vdev) undo;
    run(do, undo);

    # Set virtual device up.
    net.up(vdev);

    # DHCP configuration on virtual device.
    net.ipv4.dhcp(vdev) dhcp;
    ip_in_network(dhcp.addr, "127.0.0.0", "8") test_local;
    ifnot(test_local);

    println(vdev, ": got address ", dhcp.addr);

    # Assign address to virtual device.
    net.ipv4.addr(vdev, dhcp.addr, dhcp.prefix);
}

# This differs from above only in interface name (macvlan1).
process lan_dhcp2 {
    # Wait for link.
    depend("lan-link") linkdep;

    # Choose virtual device name.
    var("macvlan1") vdev;

    # Create virtual MAC-VLAN device.
    list("/sbin/ip", "link", "add", "dev", vdev, "link", linkdep.dev, "type", "macvlan") do;
    list("/sbin/ip", "link", "delete", "dev", vdev) undo;
    run(do, undo);

    # Set virtual device up.
    net.up(vdev);

    # DHCP configuration on virtual device.
    net.ipv4.dhcp(vdev) dhcp;
    ip_in_network(dhcp.addr, "127.0.0.0", "8") test_local;
    ifnot(test_local);

    println(vdev, ": got address ", dhcp.addr);

    # Assign address to virtual device.
    net.ipv4.addr(vdev, dhcp.addr, dhcp.prefix);
}

Vous obtiendrez macvlan0 y macvlan1 chacun avec sa propre adresse IP obtenue par DHCP, et eth0 qui est en service mais n'a pas d'adresse IP. Vous pouvez également créer une seule interface MAC-VLAN et exécuter une instance DHCP sur l'interface MAC-VLAN. eth0 même.

0voto

DisgruntledGoat Points 21368

Je n'ai jamais vu de configuration DHCP permettant au serveur DHCP d'envoyer plusieurs adresses à une interface. Je ne crois pas que le protocole le permette. Une fois que vous avez plusieurs adresses IP sur une interface, vous devriez vraiment les configurer en tant qu'adresses statiques.

Certains clients DHCP permettent l'attribution d'une adresse statique lorsqu'une adresse est fournie. Je ne pense pas que Windows vous permette d'en ajouter plus d'une.

Assurez-vous que toutes vos adresses statiques sont en dehors de la plage d'adresses DCHP.

-1voto

DNS GUI Debian Points 31

L'utilisation d'adresses IP statiques ou attribuées par DHCP est un choix que vous faites pour votre ordinateur.

Il existe une bonne tutoriel ici .

Il contient de nombreux détails et vous aide à éviter les problèmes que vous pouvez rencontrer si vous utilisez une adresse statique au lieu d'une adresse attribuée par DHCP, par exemple comment se connecter aux serveurs DNS et aux passerelles.

-1voto

Beatnik Points 104

Je ne suis pas sûr, mais je pense qu'à moins d'avoir un routeur open source, vous devrez utiliser une IP statique pour faire ce que vous voulez. Je ne sais pas si vous avez une bonne raison de faire ce que vous voulez, mais je pense que vous devriez vous en tenir à DHCP. D'après votre question, je vois que c'est ce que vous voulez, donc à moins que quelqu'un sache comment le faire, j'attendrais et resterais avec DHCP jusqu'à ce que quelqu'un vous donne une meilleure réponse. Si vous n'avez pas plus de 1 ou 2 ordinateurs et rien d'autre sur le réseau (imprimantes, extendeurs de médias, etc.), je n'utiliserais pas d'IP statique car je ne sais pas comment ou s'il est possible de configurer ces éléments avec une IP statique. Il est possible que vous puissiez faire ce que vous voulez si vous achetez un routeur open source et que vous puissiez lui faire faire ce que vous voulez, comme utiliser une IP statique pour votre machine en utilisant l'adresse mac comme moyen de l'identifier et de définir son IP, et le reste du réseau pourrait utiliser DHCP. Je ne sais pas, je n'ai jamais fait cela, je ne fais que lancer des idées, donc désolé de ne pas avoir de réponse pour vous. Cependant, le lien proposé par Bryan semble être une bonne ressource sur les questions de DHCP et d'IP statique. Pour le routeur Open Source, je crois que Netgear et D-Link en fabriquent, je suis sûr qu'il y en a d'autres, mais IMO, ces deux marques sont celles que je choisirais. Je n'aime pas Linksys depuis qu'ils ont été rachetés par novel (on pourrait penser qu'ils sont meilleurs, mais ce n'est pas le cas). Je préfère D-Link car ce sont les routeurs les plus personnalisables que j'ai trouvés).

Consultez également ce lien et vous pourrez peut-être faire plus avec votre routeur s'il est pris en charge.

Ce site propose le micrologiciel du routeur

-1voto

Javide Points 493

Non, ce n'est pas possible. DHCP attribue une adresse IP en fonction de votre adresse matérielle. Chaque interface physique n'en possède qu'une seule, de sorte que DHCP n'attribue qu'une seule IP à une interface physique.

Je vous conseille de définir les IP des interfaces de manière statique.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X