IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Mettre une adresse IP fixe à partir d'une adresse MAC !


Sujet :

Raspberry Pi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 884
    Par défaut Mettre une adresse IP fixe à partir d'une adresse MAC !
    Salut à tous.

    Ma box SFR en ce moment déconne complètement. Je n'arrive plus à obtenir une adresse IP fixe aussi bien pour IPv4 & IPv6.
    Tout ce passe comme si le serveur DHCP n'était pas activé, or il l'est.

    Je me suis dit que la solution serait de le faire à partir d'une règle UDEV.
    J'ai trouvé le moyen de modifier l'adresse MAC mais rien en ce qui concerne l'adresse IP.
    En ligne de commande, je sais le faire par ifconfig, mais il parait que cette commande va devenir obsolète.
    Il y a la nouvelle commande "ip", mais je n'ai pas trouvé le moyen de changer l'adresse IPv4 ainsi qu'IPv6.

    Mon but est de mettre une adresse IPv4 ainsi qu'IPv6 en fonction de l'adresse MAC.

    Vous allez me dire que j'ai le fichier "/etc/dhcpcd.conf" qui permet de faire cela.
    Oui, mais je n'ai pas que les périphériques ETH0 et WLAN0 de ma raspberry pi, j'ai aussi mes dongles WiFi.
    La solution que je recherche est bien une règle UDEV.

    Merci.
    Cordialement.
    Artemus24.
    @+

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 457
    Par défaut
    salut, as tu commencé par faire:
    - CMD
    - Ipconfig /all
    - Check de la carte concernée et regardé la ligne: serveur dhcp.

    C'est peut être moi, mais j'ai du mal à voir le rapport avec l'adresse mac. Si tu veux une ip fixe tu peux le faire avec ta box comme avec tes propres paramètres sous ton os, simplement il y a une garantie d'éviter tout conflit en passant par la box.

    Je viens à l'instant de changer mon adresse ip à l'arrache sans passer par ma box, on faisait comme ça à l'époque des lan party quand j'ai débuté vu qu'on n'avait pas grand chose. Si c'est juste à cause de ta box tu te casses trop la tête, et puis y'aurait des vérifs à faire avant de toute manière.Nom : 2022-03-29_16h16_40-2.png
Affichages : 791
Taille : 22,1 Ko

    Sous linux:
    IpRoute2 pour les nouvelles versions de Debian et distrib
    - sudo ip address add 192.168.0.127/24 dev eth0 (pour mon cas vu que j'ai mis 127 dans mon screen), la connexion sera peut être pas eth0 ça va dépendre tu as divers moyen d'avoir le nom de l'interface.
    Et pour un raspberry logiquement sudo ip route add default via 192.168.0.1 pour la gateway, si ma mémoire est bonne (sous réserve que ta box soit adressée en 0.1 sinon 1.1 avec certaines)

    Quant au DHCP en fait si tu l'as activé mais que t'as pas spécifié à la carte où récupérer son adresse selon la distrib linux ça peut coincer plus facilement que sous le dernier windows.

  3. #3
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 884
    Par défaut
    Salut daerlnaxe.

    Pourquoi me parles-tu de Windows alors que nous sommes dans le forum consacré à la Raspberry Pi ?

    Citation Envoyé par daerlnaxe
    C'est peut être moi, mais j'ai du mal à voir le rapport avec l'adresse mac.
    L'identification des périphériques (dongle wifi, raspberry pi ...) se fait à partir de l'adresse MAC.

    J'ai une règle qui me permet d'attribuer un nom 'wlan1, wlan2, ...) en fonction de l'adresse MAC du dongle wifi que j'utilise.
    A priori, j'aurai toujours le même nom du périphérique pour la même adresse MAC. C'est plus facile à gérer ainsi.

    Voici ma règle UDEV pour modifier l'adresse IPv4 & IPv6.
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    # --------------------- #
    # Selection de la règle #
    # --------------------- #
     
    SUBSYSTEM!="net", GOTO="ipaddr_end"
    ACTION!="add",    GOTO="ipaddr_end"
     
    # -------------- #
    # Interface eth0 #
    # -------------- #
     
    LABEL="ipaddr_eth0"
    KERNEL!="eth0", GOTO="ipaddr_wlan0"
     
    RUN+="/sbin/ip link set dev eth0 down"
    RUN+="/sbin/ip link set dev eth0 address xx:xx:xx:xx:xx:xx"
    RUN+="/sbin/ip address add             192.168.1.81/24  dev eth0"
    RUN+="/sbin/ip address add xxxx:xxxx:xxxx:xxxx::810/128 dev eth0"
    RUN+="/sbin/ip link set dev eth0 up"
     
    GOTO="ipaddr_end"
     
    # --------------- #
    # Interface wlan0 #
    # --------------- #
     
    LABEL="ipaddr_wlan0"
    KERNEL!="wlan0", GOTO="ipaddr_end"
     
    RUN+="/sbin/ip link set dev wlan0 down"
    RUN+="/sbin/ip link set dev wlan0 address xx:xx:xx:xx:xx:ec"
    RUN+="/sbin/ip address add             192.168.1.80/24  dev wlan0"
    RUN+="/sbin/ip address add xxxx:xxxx:xxxx:xxxx::800/128 dev wlan0"
    RUN+="/sbin/ip link set dev wlan0 up"
     
    GOTO="ipaddr_end"
     
    # --------------- #
    # Fin de la règle #
    # --------------- #
     
    LABEL="ipaddr_end"
    Je force l'adresse MAC ainsi que les adresses IPv4 & IPv6 des périphériques eth0 et wlan0.
    Quand je fais sous la raspberry un "ifconfig -a", je retrouve bien mes trois adresses.

    Je l'ai testé et au premier abord, ça a l'air de fonctionner.

    Sauf que je ne retrouve pas les mêmes adresses IP dans ma box SFR.
    Rn fait, j'ai deux groupes qui sont :

    Celles que j'ai mis dans ma règles UDEV :
    --> MAC = xxxxxx:ec
    --> IPv4 = 192.168.1.80
    --> IPv6 = xxxxxxxxxxxxx::800

    Et celles que j'obtiens :
    --> MAC : xxxxxx:2c
    --> 192.168.1.124
    --> xxxxxxxxxxxxx::f319

    Je ne sais pas trop si c'est normal car ma box SFR ne fonctionne pas très bien.
    L'attribution des adresses par le DHCPv4 ne fonctionne plus chez moi

    Si je fais un ping depuis Windows, ce n'est pas exactement ce que je voulais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    C:\>ping 192.168.1.80
    
    Envoi d’une requête 'Ping'  192.168.1.80 avec 32 octets de données*:
    Délai d’attente de la demande dépassé.
    Délai d’attente de la demande dépassé.
    Délai d’attente de la demande dépassé.
    Délai d’attente de la demande dépassé.
    
    Statistiques Ping pour 192.168.1.80:
        Paquets*: envoyés = 4, reçus = 0, perdus = 4 (perte 100%),
    
    C:\>ping 192.168.1.124
    
    Envoi d’une requête 'Ping'  192.168.1.124 avec 32 octets de données*:
    Réponse de 192.168.1.124*: octets=32 temps=35 ms TTL=64
    Réponse de 192.168.1.124*: octets=32 temps=3 ms TTL=64
    Réponse de 192.168.1.124*: octets=32 temps=3 ms TTL=64
    Réponse de 192.168.1.124*: octets=32 temps=3 ms TTL=64
    
    Statistiques Ping pour 192.168.1.124:
        Paquets*: envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
    Durée approximative des boucles en millisecondes :
        Minimum = 3ms, Maximum = 35ms, Moyenne = 11ms
    
    C:\>ping xxxx:xxxx:xxxx:xxxx::800
    
    Envoi d’une requête 'Ping'  xxxx:xxxx:xxxx:xxxx::800 avec 32 octets de données*:
    Réponse de xxxx:xxxx:xxxx:xxxx::800*: temps=2780 ms
    Réponse de xxxx:xxxx:xxxx:xxxx::800*: temps=7 ms
    Réponse de xxxx:xxxx:xxxx:xxxx::800*: temps=4 ms
    Réponse de xxxx:xxxx:xxxx:xxxx::800*: temps=4 ms
    
    Statistiques Ping pour xxxx:xxxx:xxxx:xxxx::800:
        Paquets*: envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
    Durée approximative des boucles en millisecondes :
        Minimum = 4ms, Maximum = 2780ms, Moyenne = 698ms
    
    C:\>ping xxxx:xxxx:xxxx:xxxx::f319
    
    Envoi d’une requête 'Ping'  xxxx:xxxx:xxxx:xxxx::f319 avec 32 octets de données*:
    Réponse de xxxx:xxxx:xxxx:xxxx::f319*: temps=1726 ms
    Réponse de xxxx:xxxx:xxxx:xxxx::f319*: temps=18 ms
    Réponse de xxxx:xxxx:xxxx:xxxx::f319*: temps=7 ms
    Réponse de xxxx:xxxx:xxxx:xxxx::f319*: temps=4 ms
    
    Statistiques Ping pour xxxx:xxxx:xxxx:xxxx::f319:
        Paquets*: envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
    Durée approximative des boucles en millisecondes :
        Minimum = 4ms, Maximum = 1726ms, Moyenne = 438ms
    
    C:\>
    Est-ce que tu peux tester, chez toi, dans ta raspberry cette règle UDEV, svp ?

    Il faut la mettre sous le nom "12-addr.rules" dans le répertoire "/etc/udev/rules.d".

    Merci.
    Cordialement.
    Artemus24.
    @+

  4. #4
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 457
    Par défaut
    Ok.

    Et non merci pour tester, je vais te laisser faire comme tu l'entends.

  5. #5
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 884
    Par défaut
    Salut à tous.

    Si vous avez des suggestions pour améliorer ma règle UDEV, je suis preneur.

    Merci.
    Cordialement.
    Artemus24.
    @+

  6. #6
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 884
    Par défaut
    Salut à tous.

    Je vais mettre en "résolu" mon sujet que j'avais ouvert il y a déjà fort longtemps.

    Je possède deux câbles de la marque Startech.
    Cela me permet de relier par un câble éthernet mon ordinateur windows à une raspberry quand elle ne possède pas de prise RJ45.

    Le problème est que je ne connais pas à l'avance l'adresse IP qui lui sera attribuée.
    Je me suis évertué à vouloir attribuer une adresse APIPA (169.254.*.*) fixe alors que cela ne fonctionnait pas.
    Pour résoudre ce problème, j'ai créé une règle UDEV que voici, en attribuant une adresse IPv6 local (FE80::*) et ça fonctionne !
    Voici la règle que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    # -------------------- #
    # Selection des règles #
    # -------------------- #
    
    SUBSYSTEM!="net",                   GOTO="ipaddr_end"
    ACTION!="add",                      GOTO="ipaddr_end"
    KERNEL!="eth*",                     GOTO="ipaddr_end"
    ATTR{address}=="xx:xx:xx:xx:xx:xx", GOTO="ipaddr_1"
    ATTR{address}=="yy:yy:yy:yy:yyyy", GOTO="ipaddr_2"
    
    GOTO="ipaddr_end"
    
    # --------------------------------- #
    # Modification de la première règle #
    # --------------------------------- #
    
    LABEL="ipaddr_1"
    
    NAME="eth5"
    
    RUN+="/sbin/ip link set dev eth5 down"
    RUN+="/sbin/ip address add fe80::100/64 dev eth5"
    RUN+="/sbin/ip link set dev eth5 up"
    
    GOTO="ipaddr_end"
    
    # --------------------------------- #
    # Modification de la deuxième règle #
    # --------------------------------- #
    
    LABEL="ipaddr_2"
    
    NAME="eth6"
    
    RUN+="/sbin/ip link set dev eth6 down"
    RUN+="/sbin/ip address add fe80::200/16 dev eth6"
    RUN+="/sbin/ip link set dev eth6 up"
    
    GOTO="ipaddr_end"
    
    # --------------- #
    # Fin de la règle #
    # --------------- #
    
    LABEL="ipaddr_end"
    Vous devez mettre cette règle dans le répertoire "/etc/udev/rules.d" et redémarrer votre ordinateur.
    J'ai fait le test avec les adresses "FE80::100" et "FE80::200" et ça fonctionne.

    Même en laissant l'adresse APIPA (169.254.*.*) qui est attribuée par défaut, je n'arrive pas à me connecter.
    Si quelque'un a la solution, je suis preneur. Merci !

    Cordialement.
    Artemus24.
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Mettre une image + texte à partir d'une date fixe en php
    Par retour dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/09/2008, 16h14
  2. Mettre une icone dans sa barre d'adresse ?
    Par blanchonvincent dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 01/10/2007, 20h18
  3. Mettre une adresse IP fixe à partir d'un script
    Par hlr dans le forum Windows XP
    Réponses: 3
    Dernier message: 24/08/2007, 23h54
  4. Mettre une icone à coté de l'adresse du site
    Par seb591 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 14/08/2007, 12h07
  5. Réponses: 4
    Dernier message: 16/03/2006, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo