Après recherche, j'ai constaté qu'un routeur utilisant des connexions "point à point" de type SLIP, PLIP, PPP (ou autres joyeusetés rarissimes) n'a pas besoin d'une adresse IP par interface, et peut utiliser la même adresse IP sur toutes ses interfaces.
http://www.faqs.org/docs/linux_network/x-087-2-iface.interface.html
Visiblement, cette contrainte d'avoir une IP différente par interface physique n'existe qu'en Ethernet, puisqu'Ethernet permet de connecter un réseau entier, et non seulement une liaison point à point.
Je trouve toujours étrange qu'on se retrouve avec de telles contraintes pour de l'Ethernet utilisé comme liaison "point à point".
Prenons le cas de la Freebox en "mode bridge"; donc
tout ceci concerne seulement IPv4, puisqu'il n'y a pas de "mode bridge" en IPv6.
Le "mode bridge" est le mode de fonctionnement dans lequel un seul périphérique
connecté à la box en Ethernet obtient l'adresse IP publique.
Free est réellement un "FAI = Fournisseur d'Accès IPv4" pas un "Fournisseur d'Accès Ethernet".
Il n'y a pas de connectivité Ethernet aux autres abonnés Freebox. Il y a bien sûr une connectivité IPv4 entre les abonnés Freebox.
Le lien
ADSL est point-à-point entre la Freebox et le DSLAM;
la Freebox présente ce lien point-à-point comme un lien Ethernet. Voyons comment cela se présente concrètement.
Je passe en mode bridge, j'ai donc une adresse IP de la forme : a.b.c.x
où a.b.c est le préfixe du sous-réseau.
L'adresse de la passerelle est a.b.c.254
Remarque : Windows étant ce qu'il est, parfois si la configuration du réseau change complètement (j'étais en "mode routeur", je passe en "mode bridge"), Windows va faire des requêtes DHCP pour avoir les nouveaux paramètres,
recevoir une réponse DHCP de la Freebox, et l'ignorer parce que ça le bouleverse que les adresses aient changées. Le fait de débrancher physiquement le câble Ethernet peut aider. Il faut parfois redémarré.
Sous Windows, on peut voir les adresses physiques mémoisées pour chaque interface avec :
netsh interface ipv4 show neighborsou pour une seule interface
netsh interface ipv4 show neighbors nom-de-l'interfaceNote : On peut renommer les interfaces dans "Gérer les connexions réseau" (adresse dans
explorer :
Panneau de configuration\Réseau et Internet\Connexions réseau) pour avoir des noms pas trop horribles.
Au lieu de
netsh, on peut aussi utiliser
arp -a, mais je préfère tout faire avec
netsh (de même que sous linux je préfère utiliser
ip (plutôt que
ifconfig,
route,
arp...). C'est vrai que
arp -a est plus court, mais avec
netsh la variante IPv6 est évidente. De plus
netsh m'affiche uniquement ce que je veux, les commandes plus anciennes affichent plein de trucs.
Note : La commande
netsh interface ipv4 show neighbors s'abrège en
netsh i i sh n.
Sous linux, la commande correspondante est
ip neigh show.
Revenons à nos moutons, j'utilise
netsh i i sh n e (l'interface s'appelle "ether") pour afficher le cache de voisins :
> netsh i i sh n e
Interface 8 : ether
Adresse Internet Adresse physique Type
-------------------------------------------- ----------------- -----------
a.b.c.254 ADRESSE-FREEBOX Joignable
224.0.0.22 01-00-5e-00-00-16 Permanent
224.0.0.252 01-00-5e-00-00-fc Permanent
239.255.255.250 01-00-5e-7f-ff-fa Permanent
Remarque : les valeurs particulières à mon cas sont remplacées par des symboles. ADRESSE-FREEBOX = le numéro de série de la Freebox inscrit sur l'étiquette.
Remarque : À partir d'ici, je laisse de coté les adresses IP de multi-diffusion (adresses en 224 et 239), ce sont des valeurs fixes, elles ne sont pas renseignées par ARP.
Donc l'adresse physique de la passerelle IP est ADRESSE-FREEBOX.
Je
ping quelques adresses IP du sous-réseau (de la forme a.b.c.y) au hasard. La commande
netsh i i sh n ether affiche :
Adresse Internet Adresse physique Type
-------------------------------------------- ----------------- -----------
a.b.c.1 ADRESSE-FREEBOX Joignable
a.b.c.2 ADRESSE-FREEBOX Joignable
a.b.c.5 ADRESSE-FREEBOX Joignable
a.b.c.10 ADRESSE-FREEBOX Joignable
a.b.c.254 ADRESSE-FREEBOX JoignableDonc tous les voisins ont la même adresse physique ADRESSE-FREEBOX!Que se passe t-il?
Bien sûr, tous les autres Freeboxés ne partagent pas une adresse physique, c'est juste la Freebox qui indique la sienne pour toute question.
Je peux passe de la configuration DHCP en configuration statique avec ces commande :
netsh interface ipv4 set address ether static a.b.c.x/24 gate=a.b.c.254
netsh interface ipv4 set dns ether static 212.27.40.241
Je vérifie que tout marche bien.
Remarque : La commande pour revenir en DHCP est tout simplement :
netsh interface ipv4 set address ether dhcpJe peux m'amuser à faire varier ma config statique (sachant que x n'est pas égal à 1, donc que a.b.c.1 n'est pas mon adresse, ça n'aurait évidemment aucun sens de m'indiquer moi-même comme passerelle IPv4) :
netsh interface ipv4 set address ether static a.b.c.x/24 gate=a.b.c.1et là, ça marche encore!
Je peux indiquer n'importe quoi comme adresse de passerelle IP, ça change rien. (Sauf ma propre IP, évidemment.)
a.b.c.254 n'est pas particulier, pour moi, par rapport à a.b.c.2. Bien sûr, a.b.c.254 est particulier parce que c'est la seule adresse a.b.c.z qui n'est pas l'adresse a.b.c.x d'un Freeboxé.