Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Script Réseau, MAC-IP

16 réponses
Avatar
Soon
Bonjour,

Mon problème est le suivant, admettons que j'ai une image linux et que
je veux cloner cette image sur plusieurs machines. Je voudrais que
chaque clone ai une adresse IP suivant son adresse MAC. Attention: je ne
veux/peux pas utiliser de DHCP. Je connais à l'avance mes machines,
leurs adresses MAC et l'adresse IP qu'elles devraient avoir.

L'idée est d'écrire un script qui, au démarrage du système, compare mon
adresse MAC avec une valeur connue et donc attribue une adresse IP.

En gros, comment avoir l'adresse MAC d'une machine et l'utiliser dans un
script pour comparer avec une valeur connue ? (sachant que ifconfig ne
donne rien si l'adresse IP n'a pas été initialisé)

Ensuite, je voudrais que ce script soit appelé a chaque fois que je
l'interface réseau est monté (up). En gros lorsque je fais
/etc/init.d/network restart, je veux exécuter mon script pour
initialiser l'adresse IP plutôt que de la lire dans /etc/interfaces.

Merci d'avance de vos astuces et de vos exemples.

-- Thierry

6 réponses

1 2
Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:dthgke$1r3g$,
*Pascal Hambourg* tapota sur f.c.o.l.configuration :

D'ailleurs, si quelqu'un connaît des outils pour générer les adresses
EUI-64 et les reverses DNS au format nibble à partir des adresses MAC, je
suis intéressé.


ipv6calc, si j'ai bien compris ta question ?

$ ipv6calc --in prefix+mac 2001:960:6ce:1:: 00:40:D0:43:E3:70
--out ipv6addr --action prefixmac2ipv6
2001:960:6ce:1:240:d0ff:fe43:e370

$ ipv6calc --in prefix+mac 2001:960:6ce:1:: 00:40:D0:43:E3:70
--out revnibbles.arpa --action prefixmac2ipv6
0.7.3.e.3.4.e.f.f.f.0.d.0.4.2.0.1.0.0.0.e.c.6.0.0.6.9.0.1.0.0.2.ip6.arpa.

$ dig +short -t ptr
0.7.3.e.3.4.e.f.f.f.0.d.0.4.2.0.1.0.0.0.e.c.6.0.0.6.9.0.1.0.0.2.ip6.arpa.
florizarre.tichou.org.

--
Sébastien Monbrun aka TiChou

Avatar
Pascal Hambourg
*Pascal Hambourg* tapota sur f.c.o.l.configuration :

D'ailleurs, si quelqu'un connaît des outils pour générer les adresses
EUI-64 et les reverses DNS au format nibble à partir des adresses MAC,
je suis intéressé.


ipv6calc, si j'ai bien compris ta question ?


Oui, merci, à condition de prendre une version plus récente que celle de
Debian Woody qui tourne sur ma passerelle-à-tout-faire. Celle-là ne
fonctionne pas du tout pareil.

$ dig +short -t ptr
0.7.3.e.3.4.e.f.f.f.0.d.0.4.2.0.1.0.0.0.e.c.6.0.0.6.9.0.1.0.0.2.ip6.arpa.
florizarre.tichou.org.


Hep !
$ host florizarre.tichou.org.
florizarre.tichou.org has address 192.168.151.13

Pas bien :-p


Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:dtiih4$27p7$,
*Pascal Hambourg* tapota sur f.c.o.l.configuration :

ipv6calc, si j'ai bien compris ta question ?


Oui, merci, à condition de prendre une version plus récente que celle de
Debian Woody qui tourne sur ma passerelle-à-tout-faire. Celle-là ne
fonctionne pas du tout pareil.


Ah... pourtant j'ai, me semble-t-il, une vieille version chez moi :

$ ipv6calc -h
ipv6calc: version 0.45
(P) & (C) 2001-2002 by Peter Bieringer <pb (at) bieringer.de>

Hep !
$ host florizarre.tichou.org.
florizarre.tichou.org has address 192.168.151.13

Pas bien :-p


Oui et non car je sais bien que le plan d'adressage de mon LAN est visible
de l'extérieur mais à vrai dire je m'en fous un peu. :-P
En fait, j'ai déjà plusieurs views de configurés et j'ai surtout de très
nombreux records (type dyndns) dans ma zone tichou.org qui font que j'ai la
flemme de faire une view complète, opérationnelle et juste visible pour mon
LAN. C'est dans ma TODO liste depuis plusieurs années déjà. :-)

--
Sébastien Monbrun aka TiChou


Avatar
Pascal Hambourg

ipv6calc, si j'ai bien compris ta question ?


Oui, merci, à condition de prendre une version plus récente que celle
de Debian Woody qui tourne sur ma passerelle-à-tout-faire. Celle-là ne
fonctionne pas du tout pareil.


Ah... pourtant j'ai, me semble-t-il, une vieille version chez moi :

$ ipv6calc -h
ipv6calc: version 0.45


$ ipv6calc -v
ipv6calc version: 0.39

Woody, c'est *très* vieux.

Hep !
$ host florizarre.tichou.org.
florizarre.tichou.org has address 192.168.151.13

Pas bien :-p


Oui et non car je sais bien que le plan d'adressage de mon LAN est
visible de l'extérieur mais à vrai dire je m'en fous un peu. :-P


Si tu penses à la fuite d'information, là n'est pas le problème (et à
vrai dire moi aussi je m'en fous). C'est surtout proscrit par le dernier
paragraphe du chapitre 5 de la RFC 1918 :

"DNS clients outside of the enterprise should not see addresses in the
private address space used by the enterprise"



Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:dtipp3$2a9d$,
*Pascal Hambourg* tapota sur f.c.o.l.configuration :

Si tu penses à la fuite d'information, là n'est pas le problème (et à vrai
dire moi aussi je m'en fous). C'est surtout proscrit par le dernier
paragraphe du chapitre 5 de la RFC 1918 :

"DNS clients outside of the enterprise should not see addresses in the
private address space used by the enterprise"


Voilà, c'est fait. Tu as su me donner la motivation qui me manquait. ;-)
Je te laisse maintenant vérifier par toi même. :-P

--
Sébastien Monbrun aka TiChou

Avatar
Soon
Bonjour à tous,

Voici mon retour sur la question. Ci-joint mon script net.sh final :

#!/bin/sh

IFCONFIG=/sbin/ifconfig
ROUTE=/sbin/route

MAC=`ifconfig -a eth0 | awk '$4=="HWaddr" {print $5}'`

echo "adresse MAC = $MAC"

case $MAC in
00:00:10:00:00:A0)
echo "Linux - Internal"
$IFCONFIG eth0 10.0.0.100 netmask 255.255.255.0 up
$ROUTE add default gw 10.0.0.1
;;
00:00:10:00:01:A0)
echo "Linux - External"
$IFCONFIG eth0 10.0.1.100 netmask 255.255.255.0 up
$ROUTE add default gw 10.0.1.1
;;
00:00:10:00:00:01)
echo "Linux - Gateway"
$IFCONFIG eth0 10.0.0.1 netmask 255.255.255.0 up
$IFCONFIG eth1 10.0.1.1 netmask 255.255.255.0 up
;;
*)
echo "Unknown MAC Address"
;;
esac

Ensuite je modifie mon fichier /etc/init.d/networking dans les sections
start et restart pour appeler mon fichier net.sh au lieu du traditionnel
ifup:

...
#ifup -a
/etc/network/uml/net.sh
...

De cette manière, je peux obtenir une image Linux et mes clones ont donc
une adresse IP différente suivant l'adresse MAC. Pratique pour UML :)

Encore merci de vos nombreuses remarques.

-- Soon

Bonjour,

Mon problème est le suivant, admettons que j'ai une image linux et que
je veux cloner cette image sur plusieurs machines. Je voudrais que
chaque clone ai une adresse IP suivant son adresse MAC. Attention: je ne
veux/peux pas utiliser de DHCP. Je connais à l'avance mes machines,
leurs adresses MAC et l'adresse IP qu'elles devraient avoir.

L'idée est d'écrire un script qui, au démarrage du système, compare mon
adresse MAC avec une valeur connue et donc attribue une adresse IP.

En gros, comment avoir l'adresse MAC d'une machine et l'utiliser dans un
script pour comparer avec une valeur connue ? (sachant que ifconfig ne
donne rien si l'adresse IP n'a pas été initialisé)

Ensuite, je voudrais que ce script soit appelé a chaque fois que je
l'interface réseau est monté (up). En gros lorsque je fais
/etc/init.d/network restart, je veux exécuter mon script pour
initialiser l'adresse IP plutôt que de la lire dans /etc/interfaces.

Merci d'avance de vos astuces et de vos exemples.

-- Thierry


1 2