Wake On Lan
Résolu/Fermé
netwebzone
Messages postés
55
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
22 août 2008
-
18 août 2008 à 15:38
Seven - 23 mai 2021 à 19:55
Seven - 23 mai 2021 à 19:55
A voir également:
- Wake on lan wifi
- Wake on LAN par Wi-Fi - Forum WiFi
- Voir mot de passe wifi android - Guide
- Adresse mac wifi - Guide
- Who's on my wifi - Télécharger - Outils Internet
- Wake on lan logiciel - Télécharger - Connexion à distance
16 réponses
ubik
Messages postés
231
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mars 2011
89
28 août 2008 à 00:35
28 août 2008 à 00:35
[EDIT: de préférence, attends que j'aie posté le schéma réseau qui va avec pour lire ce post]
Houla. Bon ben il va falloir se taper un peu de théorie avant qu'on puisse répondre à tes questions. Je vais surement te dire pas mal de choses que tu sais déjà, mais ça permettra de poser des bases claires pour expliquer ensuite le principe du NAT et l'appliquer à notre cas. Si tu piges le fonctionnement du NAT, tu commenceras à voir clair dans ces sombres histoires de routeurs.
1 - Qu'est-ce qu'un routeur?
Définition Wikipédia: "Un routeur est un élément intermédiaire dans un réseau informatique. C'est un équipement de couche 3 du modèle OSI. Il a deux fonctions principales ; définir une table de routage et commuter des paquets d'une interface vers une autre."
Je présenterais les choses de cette manière, et c'est la définition dont on se servira pour la suite: un routeur est un ordinateur équipé d'au moins deux interfaces réseau, et programmé pour gérer le transit de paquets de données entre ces interfaces.
Chacune des interfaces est connectée à un réseau différent. Le routeur permet et gère les communications entre ces réseaux.
Un routeur peut prendre la forme d'un boitier incorporant carte mère, processeur, mémoire flash, et bien sur des ports réseau. Ce peut être également un PC ordinaire, sous linux ou windows, sur lequel sont montées plusieurs cartes réseau.
2 - Utilisation typique derrière un modem ADSL
Appliquons cette définition au cas classique d'un routeur branché derrière un modem ADSL, et destiné à partager une connexion internet entre les machines d'un petit réseau domestique.
Ce routeur possède deux interfaces distinctes connectées à deux réseaux distincts:
- d'une part internet, par le biais du modem. L'interface connectée à ce réseau est appelée interface WAN (Wide Area Network)
- d'autre part un réseau local, constitué d'un swicth et de quelques machines connectées en ethernet. L'interface connectée à ce réseau est appelée interface LAN (Local Area Network)
Ayant un pied dans chaque réseau, le routeur dispose naturellement de deux adresses IP. Une sur chaque réseau:
- l'interface WAN possède l'adresse internet mise à disposition par le fournisseur d'accès à internet. C'est l'adresse IP "publique" de la connexion. Cette interface est en mesure de communiquer avec tout internet.
- l'interface LAN possède une adresse IP "privée" sur le réseau local, librement définie par l'utilisateur dans certaines plages réservées. Pour la suite, On supposera que l'on a donné à l'interface LAN du routeur la très classique adresse IP privée 192.168.1.1. Cette interface est capable de communiquer avec des adresses IP de la forme 192.168.1.x. [je me limite au cas de masques de sous réseaux en 255.255.255.0, mais il est inutile de détailler cela dans l'immédiat.]
3 - Types de routeurs particuliers
Dans le cas des routeurs domestiques classiques, on a incorporé un switch 4 ports (ou plus) au boitier. Ce switch est connecté de manière interne à l'interface LAN. Je ne sais pas si cette explication est techniquement très juste mais c'est le principe. Cela répond à ta première question: les petits routeurs classiques ont effectivement un port WAN, et quatre ports switchés connectés à l'interface LAN.
Donc 5 ports au total, mais seulement deux interfaces réseau, et deux adresses IP. Il est essentiel de comprendre cela pour la suite.
Les modems routeurs sont des routeurs qui incorporent un modem du côté de l'interface WAN. C'est ce cas de ta livebox.
Les routeurs wifi sont un peu différents. Ils disposent d'une troisième interface réseau, l'interface wifi, dite WLAN, pour wireless LAN. En toute logique ils devraient donc utiliser une troisième adresse IP pour cette troisième interface. En pratique ce n'est pas le cas, car l'interface WLAN et l'interface LAN sont "pontées". Cela signifie qu'elles sont configurées pour se comporter comme si elles ne faisaient qu'une, avec une seule adresse IP. Pour les routeurs wifi, on considèrera donc en pratique que l'interface WLAN et les ports du switch ne forment ensemble qu'une seule interface LAN.
4 - Autre fonction classique des routeurs: DNS forwarding
Lorsque tu tapes "google.com" dans ton navigateur, ton PC a besoin de connaître l'IP publique correspondant à ce nom. Pour cela il contacte un serveur DNS (domain name server), généralement mis à disposition par le fournisseur d'accès à internet.
Lorsque la connexion se fait par un routeur, il est possible de configurer les PC du LAN pour qu'ils adressent la requête DNS non pas directement au serveur DNS du FAI, mais plutôt au routeur, qui se charge d'interroger le serveur DNS du FAI et de retransmettre la réponse au PC demandeur.
La seule utilité de ceci est de permettre une configuration centralisée de l'adresse IP du DNS du FAI, paramétrée uniquement sur le routeur, plutôt que sur chaque PC.
5 - Emission d'un paquet par un PC
Reprenons l'exemple du routeur derrière un modem ADSL.
Son adresse IP sur le LAN est 192.168.1.1.
Imaginons un PC du LAN. Sa configuration réseau est la suivante:
Adresse IP: 192.168.1.5
Masque de sous-réseau: 255.255.255.0 (indique que le PC est dans un réseau d'adresses IP en 192.168.1.x)
Passerelle par défaut: 192.168.1.1 (le routeur)
Serveur DNS: 192.168.1.1 (le routeur)
Supposons qu'un navigateur web sur le PC se connecte à google. Le PC commence par envoyer une requête DNS au routeur, qui transmet au DNS du FAI. Le DNS du FAI répond au routeur, et le routeur répond au PC.
Le PC connaît maintenant une IP publique correspondant à google. Il doit lui envoyer un paquet pour initier la connexion.
Quand le PC envoie un paquet à un autre PC du LAN, avec une adresse en 192.168.1.x, il peut l'envoyer sans se poser de question, et le paquet va être remis à destination par les switchs du LAN (en l'occurence la partie switch du routeur).
Par contre quand le PC doit contacter une adresse hors de la plage 192.168.1.x, celle de google par exemple, il doit explicitement l'envoyer à la "passerelle par défaut".
Notre PC envoie donc le paquet au routeur.
Le routeur, reçoit ce paquet dont l'adresse de destination finale (google) est une IP publique. Il compare cette IP de destination avec ses "tables de routage", qui lui permettent de déterminer que le paquet doit être renvoyé par l'interface WAN, vers internet. Il "route" donc le paquet arrivé par l'interface LAN vers l'interface WAN, et le paquet part sur internet à destination de google.
6 - Voyage sans retour: la nécéssité du NAT
Pour que la communication s'établisse, il faut alors que google soit en mesure de répondre au PC, pour envoyer des données au navigateur.
Un paquet comporte une entête (header), qui contient non seulement son IP de destination, mais également son IP d'origine.
Si l'on se tient à ce qui a été dit jusqu'ici, le PC a donc envoyé un paquet avec comme destination l'IP de google, et comme origine l'IP du PC, 192.168.1.5.
Et c'est ce paquet que reçoit google.
Mais voila, l'adresse 192.168.1.5 est une adresse privée, qui n'a de sens que sur le LAN du PC. Google ne peut répondre qu'à une IP publique. Un paquet envoyé dans ces conditions restera donc sans réponse.
Il manque quelque chose pour que tout fonctionne.
7 - Le NAT
Pour que ça marche, le routeur fait un truc en plus au moment du passage du paquet de l'interface LAN à l'interface WAN: au moment de réémettre le paquet sur l'interface WAN, il change l'adresse d'origine dans l'entête du paquet, pour mettre à la place l'adresse de l'interface WAN, c'est à dire l'IP publique de la connexion. Google reçoit le paquet ainsi transformé.
L'adresse d'origine du paquet étant maintenant une IP publique, google peut envoyer un paquet en réponse. Ce paquet a pour destination l'IP publique de la connexion et arrive donc par le modem, sur l'interface WAN du routeur.
Seulement le paquet de réponse ne comporte plus aucune référence à l'IP du PC. Le routeur effectue alors l'opération inverse: il a gardé dans une table la trace du paquet qui a été envoyé à google, et est capable de reconnaitre que le paquet revenant de google est bien une réponse à la demande de connexion précédemment formulée par le PC. Le routeur va donc écrire 192.168.1.5 comme nouvelle adresse de destination dans l'entête du paquet, et le router vers l'interface LAN. Le PC reçoit alors la réponse de google, la communication fonctionne dans les deux sens.
Il s'avère donc que tous les PC du LAN partagent l'adresse IP de l'interface WAN du routeur pour communiquer sur internet.
Ce mécanisme de réécriture des IP d'origine ou de destination du paquet s'appelle NAT, pour Network Address Translation, c'est à dire traduction d'adresses réseau (et non pas translation).
8 - Pourquoi doit-on rediriger des ports?
Comme on l'a déjà vu, quand un paquet arrive d'internet sur le port WAN du routeur, celui-ci sait vers quel PC router le paquet car il a gardé une trace de l'initialisation préalable de la connexion par le PC. Cela fonctionne bien lorsque c'est le PC qui a démarré la connexion (consultation d'une page web sur internet...).
Il n'en va pas de même dans le cas où quelqu'un tente de se connecter au PC depuis internet. C'est le cas lorsqu'on héberge un serveur web ou ftp chez soi. Ou quand on veut accéder au bureau de son PC depuis l'extérieur, avec vnc, tse ou autre chose. C'est parfois aussi nécessaire pour les jeux en ligne. Je resterai sur l'exemple d'un serveur web et comme par hasard on va dire que ce serveur web tourne sur le PC en 192.168.1.5.
Si on héberge sur un PC du LAN un serveur web ouvert sur internet, n'importe qui peut y accéder pour consulter une page web. Avec un navigateur, il suffit de se connecter à l'adresse du PC sur le port 80. (Une connexion réseau [tcp ou udp] se caractérise par une adresse IP de destination et un numéro de port. Les serveurs web attendent des connexions sur le port 80. On dit qu'ils "écoutent" sur ce port.)
La personne souhaitant consulter une page va donc connecter son navigateur sur le port 80 de l'IP publique de notre routeur [généralement par le biais d'un nom de domaine]. Puisque la connexion réseau est démarrée depuis l'extérieur, le routeur ne peut utiliser la trace d'une connexion antérieure démarrée depuis un PC du LAN. Dans ce cas, le routeur ne sait donc pas du tout vers quel PC du LAN router le paquet entrant. Pourtant, il faut bien que ce paquet arrive au PC hébergeant le serveur web pour que l'utilisateur distant puisse voir s'afficher une page.
Pour permettre au monde extérieur d'accéder au serveur web, il faut donc, par configuration, définir explicitement une règle sur le routeur. Cette règle va s'exprimer ainsi: "tout paquet arrivé par le port 80 de l'interface WAN doit être routé vers le port 80 de l'adresse IP 192.168.1.5 sur le LAN."
Et là, tu dois reconnaître le genre de chose qui se paramètre sur les pages de configuration de ta Livebox, comme sur celles d'à peu près n'importe quel routeur.
C'est la redirection de port, ou port forwarding, ou encore port mapping. Pour qu'une connexion puisse être établie depuis internet, et à destination d'une machine située derrière un routeur, ce genre de paramétrage est nécessaire au niveau du routeur.
9 - On s'en fout, c'est pas de ça qu'on causait
Ouf. On en a fini avec la partie théorique. J'ai fait ce que j'ai pu pour essayer d'être bref et pas trop confus mais je ne sais pas ce que ça donne... Si c'était à peu près compréhensible, tu as maintenant toutes les armes en main pour répondre toi-même à tes propres questions. Allez, salut.
Nan, j'déconne... Bon, allez je vais mettre des lettres, maintenant, pour changer.
A - "Tous les routeurs ont un port WAN et des port ethernet normal pour le LAN ?"
Alors déjà, on dit "normaux". ;-)
Sur le fond, un routeur est vraiment juste un machin avec des interfaces réseau. Ce qui différencie le LAN du WAN, c'est simplement l'utilisation qu'on en fait (essayer de choper une IP publique depuis un modem côté WAN, le sens du port forwarding...). Et cette utilisation est définie par le firmware du routeur de type "boitier", ou par la configuration d'un PC utilisé en tant que routeur.
Le fait qu'on ait plusieurs ports côté LAN est simplement lié à l'incorporation dans le boitier d'une partie "switch", connectée de manière interne à l'interface LAN. De l'extérieur, on voit donc un boitier avec un port WAN et quatre ports LAN (ou plus..).
Précisons enfin qu'il existe des routeurs possédant plusieurs interface WAN, pour se connecter par exemple à deux modems avec deux lignes physiques derrière, pour faire de la redondance en cas de panne d'une des connexions (failover), ou répartir les connexions entre deux lignes ADSL (load balancing).
B - "La livebox, est-ce qu'il faut obligatoirement la brancher sur le port WAN ? Mais, si la Livebox n'est pas en mode modem simple, ca ne pausera pas des problèmes de la brancher sur un port WAN ? Qu'est-ce qui change exactement avec ce port ? Je pensais que c'était que pour brancher dessus directement un modem ADSL ?"
C'est pour cette question qu'il fallait comprendre tout le reste. Un routeur est une "machine à faire du NAT", avec côté LAN, des bécanes avec chacune leur adresse privée, mais qui sortent toutes par l'adresse du port WAN, l'IP publique, pour accéder à internet. Et quand les paquets reviennent, c'est le routeur qui se rappelle quel paquet renvoyer à quel PC.
En connectant un port LAN de la Livebox au port WAN d'un routeur, on va "empiler" deux couches successives de NAT. Avec les inconvénients que cela comporte, et les solutions qui vont avec. C'est surtout pour le wifi que ça va nous poser un petit problème.
On va commencer à y voir clair en écrivant les IP des machines du réseau:
[EDIT: ici j'avais fait un schéma réseau en mode texte mais il est illisible une fois le message posté.
Je posterai un lien vers un schéma en jpeg demain à la place. Désolé... mes explications sont déjà pas très claires, mais alors sans le schéma, ça devient franchement aride...]
C'est pas le plafond de la chapelle Sixtine, mais ça fera l'affaire.
Une nouveauté saute aux yeux: l'apparition dans le plan d'adressage d'un nouveau sous-réseau, avec des IP en 192.168.0.x.
(NB: j'ai pris "0" comme j'aurais pu prendre autre chose, tant que ça reste différent de 1 pour faire la distinction avec l'autre sous-réseau. L'IP publique 212.53.48.73 est imaginaire.)
En effet, pour que le routeur puisse faire son travail, ses différentes interfaces réseau doivent se trouver sur des sous-réseau différents. En simplifiant, disons qu'on ne peut pas avoir les mêmes plages d'adresses IP du côté LAN et du côté WAN d'un routeur.
On a donc besoin:
- que le LAN de la livebox et le WAN du routeur (connectés par un cable ethernet) soient sur un même sous-réseau, pour pouvoir communiquer.
- que le WAN et le LAN du routeur soient sur des sous-réseaux différents, pour que le routeur puisse router entre ces sous réseaux.
Le plan d'adressage présenté ci-dessus s'impose donc naturellement. Il permet de conserver les IP en 192.168.1.x déjà utilisées par les PC, et on ajoute juste le sous-réseau en 192.168.0.x pour que la livebox et le routeur puissent communiquer entre eux.
Du coup, les PC sont derrière deux couches de NAT successives. Un paquet qui part du PC en 192.168.1.5 arrive sur le routeur, qui le réémet vers la livebox comme s'il provenait de 192.168.0.2, qui à son tour le réémet sur internet comme s'il provenait de 212.53.48.73.
De la même manière, si on veut ouvrir le port 80 vers le PC en 192.168.1.5, il va falloir paramétrer une redirection de port sur la livebox ET sur le routeur:
- sur la livebox, on redirige le port 80 vers l'IP WAN du routeur, 192.168.0.2, qui se trouve sur le LAN du point de vue de la livebox
- sur le routeur, on redirige le port 80 vers le PC, en 192.168.1.5.
Une connexion depuis internet à destination du PC est donc redirigée deux fois successivement.
La zone démilitarisée (DMZ): l'idée de devoir systématiquement configurer ses redirections de ports deux fois n'est pas spécialement réjouissante. Il y a un remède à cela: la quasi totalité des routeurs (dont la livebox, je crois), permettent de définir une "zone démilitarise", ou "DMZ". Il s'agit en général d'une adresse IP du LAN vers laquelle sont systématiquement redirigés les paquets destinés à l'IP publique de la connexion. En gros, c'est une manière de rediriger en masse tous les ports vers un autre routeur en aval, en déléguant du coup toute la configuration réseau à celui-ci.
Dans notre cas, si on configure sur la livebox l'adresse 192.168.0.2 (WAN routeur) comme DMZ, tous les ports de la livebox seront ouverts et donneront sur l'adresse WAN du routeur. La configuration est alors grandement simplifiée. On oublie la livebox et tout se fait désormais sur le routeur. C'est le routeur et non plus la livebox qui joue le rôle de pare-feu, mais ça ne pose pas de problème particulier. Pour ouvrir un port vers un PC, on a seulement besoin de configurer la redirection sur le routeur. De ce point de vue, la livebox est devenue transparente pour le routeur, puisque celui-ci se trouve dans la DMZ.
Quid du nos histoires de paquet magique, dans tout ça?
1 - notre paquet de WOW arrive en unicast depuis internet, sur le port 9 du WAN de la livebox.
2 - une DMZ étant définie, la livebox route les paquets arrivant sur le port 9 (NB: UDP ou TCP ne change rien à l'affaire) vers l'adresse de DMZ, donc 192.168.0.2, c'est-à-dire le WAN du routeur.
3 - le paquet magique transite entre 192.168.0.1 et 192.168.0.2 et arrive sur le WAN du routeur, frais comme un gardon, comme s'il sortait tout droit d'internet
4 - si le routeur est capable de faire une redirection vers une adresse de broadcast, le PC doit se réveiller
NB: si on ne veut pas utiliser la DMZ, une redirection du port UDP 9 de la livebox vers le routeur fait aussi bien l'affaire.
T'es encore là? Zut, je pensais pouvoir aller pioncer. ;-)
Bon on a presque répondu à cette question. On a vu ce qui se passe en connectant un autre routeur en série, par son port WAN, derrière la livebox. Reste le début, "La livebox, est-ce qu'il faut obligatoirement la brancher sur le port WAN". Ben en fait non. Si on veut on peut connecter le routeur à la livebox par un de ses ports LAN. On oublie les histoires de sous-réseau en 192.168.0.x, on revient à ta configuration actuelle, avec juste une machine en plus, le routeur, avec une IP en 192.168.1.x. Les PC sont connectés à la livebox, ou au routeur qui sert alors de switch additionnel. Le routeur ne route plus du tout. Son port WAN est inutilisé. Il fonctionnera, tu pourras accéder à son interface web. Le problème est que s'il ne route pas, il va être incapable de rediriger un paquet magique. Un routeur ordinaire ne peut à priori appliquer une redirection que d'un paquet arrivé par le port WAN. Donc voila.
C - "Du coup, est-ce qu'il faudrait mieux que je choisisse un routeur Wifi parce que je ne pourrais plus utiliser le Wifi de la livebox ? Ou ca ne pause pas de problème, j'utilise le Wifi par l'intermédiaire de la livebox et les ordinateurs fixes son connectés à internet par l'intermédiaire du routeur ?"
On a évoqué un peu plus haut le pontage d'interfaces dans les routeurs wifi. Tout ce qu'il faut retenir, c'est qu'il faut considérer le wifi comme une extension du LAN, avec le même sous réseau.
Avec le plan d'adressage que j'ai décrit, tu pourras toujours te connecter au wifi de la Live box. Par contre tu recevras (ou paramétreras) une adresse du LAN de la livebox, dans le sous réseau 192.168.0.x, comme le port WAN du routeur. Par exemple, tu te retrouveras avec l'IP 192.168.0.3. Ta connexion internet fonctionnera. Tu pourras naviguer, etc... Par contre ça posera problème au niveau des communications entre le PC connecté en wifi (192.168.0.3) et les PC situés derrière le routeur (192.168.1.x). Pour les PC du LAN, le PC en wifi, situé de l'autre côté du routeur, donc du NAT, sera perçu comme une machine d'internet. Ca bloquerait par exemple des partages windows dans un sens, en empêcherait la découverte passive des machines dans le voisinage réseau. En fait cela poserait des problèmes pour tout ce qui se fait normalement sur un réseau local.
La réponse est donc: tu peux continuer d'utiliser le wifi de la livebox, la connexion internet fonctionnera parfaitement, mais cela gênera pas mal les communications entre d'une part les machines en wifi, d'autre part les machines connectées derrière le routeur. En se connectant en wifi directement au routeur, tous les PC seraient sur le même sous réseau et on éviterait ce problème.
D - "Est-ce compliqué d'installer un firmware dd-wrt ?"
Pas trop, non. C'est comme faire un upgrade de firmware sur un routeur: tu vas dans l'interface, tu choisis ton fichier et ça se fait tout seul. Si on ne fait pas n'importe quoi c'est sans douleur et on ne s'en occupe plus ensuite.
Si on se plante d'une manière ou d'une autre, on peut se retrouver à faire des reset du routeur pour restaurer sa config par défaut et le "retrouver". Ce n'est encore pas bien méchant. Et puis c'est vrai aussi avec le firmware d'origine.
Ca peut devenir pénible seulement si on arrive à le "briquer", par exemple en uploadant un mauvais firmware (version incompatible, fichier corrompu, problème de transmission réseau). Pour y arriver il faut soit avoir sciemment bricolé et essayé des trucs dont on était pas sur, soit avoir vraiment, mais alors vraiment pas de chance.
Et si ça arrive, déjà on peut toujours le renvoyer en maintenance et voir s'ils acceptent de prendre en charge (ça ne coûte rien d'essayer). Et dans le pire des cas, il existe parfois d'autres méthodes pour s'en tirer. Par exemple, on peut toujours récupérer un wrt54gl qui ne répond plus du tout en court-circuitant deux pattes d'un composant pour le mettre en mode upgrade, après quoi on uploade un nouveau firmware sain. Dit comme ça, ça a l'air barbare, mais j'ai réussi à le faire alors que je sais à peine tenir un tournevis...
Voila pour le scénario catastrophe, style liste des effets secondaires sur les notices de médicaments, mais en règle général, si on n'est pas trop chien fou, installer dd-wrt n'est l'affaire que de quelques clics.
E - Un truc auquel je viens de penser
Il y aurait bien la possibilité de ne brancher QUE le PC à réveiller derrière le routeur. On laisse les autres branchés sur la livebox, et tu utilises le wifi de la livebox. Tout le monde a une IP en 192.168.1.x, sauf le PC à réveiller, qui se retrouve sur un autre sous-réseau, avec le routeur entre la livebox et lui. La différence c'est que les problèmes de communication sur le LAN sont limités à une machine. Mais bon. C'est pas terrible non plus.
F - Linksys BEFSR41v3
Effectivement, ce modèle a l'air de savoir faire ce qui nous intéresse. Je n'ai pu trouver aucune documentation révélant si la variante en -FR portée au catalogue de LDLC en est capable aussi. A ta place, je n'en préjugerais pas.
Bon, j'espère que la lecture de ce post n'était pas trop pénible et que ça t'a appris deux trois trucs...
Houla. Bon ben il va falloir se taper un peu de théorie avant qu'on puisse répondre à tes questions. Je vais surement te dire pas mal de choses que tu sais déjà, mais ça permettra de poser des bases claires pour expliquer ensuite le principe du NAT et l'appliquer à notre cas. Si tu piges le fonctionnement du NAT, tu commenceras à voir clair dans ces sombres histoires de routeurs.
1 - Qu'est-ce qu'un routeur?
Définition Wikipédia: "Un routeur est un élément intermédiaire dans un réseau informatique. C'est un équipement de couche 3 du modèle OSI. Il a deux fonctions principales ; définir une table de routage et commuter des paquets d'une interface vers une autre."
Je présenterais les choses de cette manière, et c'est la définition dont on se servira pour la suite: un routeur est un ordinateur équipé d'au moins deux interfaces réseau, et programmé pour gérer le transit de paquets de données entre ces interfaces.
Chacune des interfaces est connectée à un réseau différent. Le routeur permet et gère les communications entre ces réseaux.
Un routeur peut prendre la forme d'un boitier incorporant carte mère, processeur, mémoire flash, et bien sur des ports réseau. Ce peut être également un PC ordinaire, sous linux ou windows, sur lequel sont montées plusieurs cartes réseau.
2 - Utilisation typique derrière un modem ADSL
Appliquons cette définition au cas classique d'un routeur branché derrière un modem ADSL, et destiné à partager une connexion internet entre les machines d'un petit réseau domestique.
Ce routeur possède deux interfaces distinctes connectées à deux réseaux distincts:
- d'une part internet, par le biais du modem. L'interface connectée à ce réseau est appelée interface WAN (Wide Area Network)
- d'autre part un réseau local, constitué d'un swicth et de quelques machines connectées en ethernet. L'interface connectée à ce réseau est appelée interface LAN (Local Area Network)
Ayant un pied dans chaque réseau, le routeur dispose naturellement de deux adresses IP. Une sur chaque réseau:
- l'interface WAN possède l'adresse internet mise à disposition par le fournisseur d'accès à internet. C'est l'adresse IP "publique" de la connexion. Cette interface est en mesure de communiquer avec tout internet.
- l'interface LAN possède une adresse IP "privée" sur le réseau local, librement définie par l'utilisateur dans certaines plages réservées. Pour la suite, On supposera que l'on a donné à l'interface LAN du routeur la très classique adresse IP privée 192.168.1.1. Cette interface est capable de communiquer avec des adresses IP de la forme 192.168.1.x. [je me limite au cas de masques de sous réseaux en 255.255.255.0, mais il est inutile de détailler cela dans l'immédiat.]
3 - Types de routeurs particuliers
Dans le cas des routeurs domestiques classiques, on a incorporé un switch 4 ports (ou plus) au boitier. Ce switch est connecté de manière interne à l'interface LAN. Je ne sais pas si cette explication est techniquement très juste mais c'est le principe. Cela répond à ta première question: les petits routeurs classiques ont effectivement un port WAN, et quatre ports switchés connectés à l'interface LAN.
Donc 5 ports au total, mais seulement deux interfaces réseau, et deux adresses IP. Il est essentiel de comprendre cela pour la suite.
Les modems routeurs sont des routeurs qui incorporent un modem du côté de l'interface WAN. C'est ce cas de ta livebox.
Les routeurs wifi sont un peu différents. Ils disposent d'une troisième interface réseau, l'interface wifi, dite WLAN, pour wireless LAN. En toute logique ils devraient donc utiliser une troisième adresse IP pour cette troisième interface. En pratique ce n'est pas le cas, car l'interface WLAN et l'interface LAN sont "pontées". Cela signifie qu'elles sont configurées pour se comporter comme si elles ne faisaient qu'une, avec une seule adresse IP. Pour les routeurs wifi, on considèrera donc en pratique que l'interface WLAN et les ports du switch ne forment ensemble qu'une seule interface LAN.
4 - Autre fonction classique des routeurs: DNS forwarding
Lorsque tu tapes "google.com" dans ton navigateur, ton PC a besoin de connaître l'IP publique correspondant à ce nom. Pour cela il contacte un serveur DNS (domain name server), généralement mis à disposition par le fournisseur d'accès à internet.
Lorsque la connexion se fait par un routeur, il est possible de configurer les PC du LAN pour qu'ils adressent la requête DNS non pas directement au serveur DNS du FAI, mais plutôt au routeur, qui se charge d'interroger le serveur DNS du FAI et de retransmettre la réponse au PC demandeur.
La seule utilité de ceci est de permettre une configuration centralisée de l'adresse IP du DNS du FAI, paramétrée uniquement sur le routeur, plutôt que sur chaque PC.
5 - Emission d'un paquet par un PC
Reprenons l'exemple du routeur derrière un modem ADSL.
Son adresse IP sur le LAN est 192.168.1.1.
Imaginons un PC du LAN. Sa configuration réseau est la suivante:
Adresse IP: 192.168.1.5
Masque de sous-réseau: 255.255.255.0 (indique que le PC est dans un réseau d'adresses IP en 192.168.1.x)
Passerelle par défaut: 192.168.1.1 (le routeur)
Serveur DNS: 192.168.1.1 (le routeur)
Supposons qu'un navigateur web sur le PC se connecte à google. Le PC commence par envoyer une requête DNS au routeur, qui transmet au DNS du FAI. Le DNS du FAI répond au routeur, et le routeur répond au PC.
Le PC connaît maintenant une IP publique correspondant à google. Il doit lui envoyer un paquet pour initier la connexion.
Quand le PC envoie un paquet à un autre PC du LAN, avec une adresse en 192.168.1.x, il peut l'envoyer sans se poser de question, et le paquet va être remis à destination par les switchs du LAN (en l'occurence la partie switch du routeur).
Par contre quand le PC doit contacter une adresse hors de la plage 192.168.1.x, celle de google par exemple, il doit explicitement l'envoyer à la "passerelle par défaut".
Notre PC envoie donc le paquet au routeur.
Le routeur, reçoit ce paquet dont l'adresse de destination finale (google) est une IP publique. Il compare cette IP de destination avec ses "tables de routage", qui lui permettent de déterminer que le paquet doit être renvoyé par l'interface WAN, vers internet. Il "route" donc le paquet arrivé par l'interface LAN vers l'interface WAN, et le paquet part sur internet à destination de google.
6 - Voyage sans retour: la nécéssité du NAT
Pour que la communication s'établisse, il faut alors que google soit en mesure de répondre au PC, pour envoyer des données au navigateur.
Un paquet comporte une entête (header), qui contient non seulement son IP de destination, mais également son IP d'origine.
Si l'on se tient à ce qui a été dit jusqu'ici, le PC a donc envoyé un paquet avec comme destination l'IP de google, et comme origine l'IP du PC, 192.168.1.5.
Et c'est ce paquet que reçoit google.
Mais voila, l'adresse 192.168.1.5 est une adresse privée, qui n'a de sens que sur le LAN du PC. Google ne peut répondre qu'à une IP publique. Un paquet envoyé dans ces conditions restera donc sans réponse.
Il manque quelque chose pour que tout fonctionne.
7 - Le NAT
Pour que ça marche, le routeur fait un truc en plus au moment du passage du paquet de l'interface LAN à l'interface WAN: au moment de réémettre le paquet sur l'interface WAN, il change l'adresse d'origine dans l'entête du paquet, pour mettre à la place l'adresse de l'interface WAN, c'est à dire l'IP publique de la connexion. Google reçoit le paquet ainsi transformé.
L'adresse d'origine du paquet étant maintenant une IP publique, google peut envoyer un paquet en réponse. Ce paquet a pour destination l'IP publique de la connexion et arrive donc par le modem, sur l'interface WAN du routeur.
Seulement le paquet de réponse ne comporte plus aucune référence à l'IP du PC. Le routeur effectue alors l'opération inverse: il a gardé dans une table la trace du paquet qui a été envoyé à google, et est capable de reconnaitre que le paquet revenant de google est bien une réponse à la demande de connexion précédemment formulée par le PC. Le routeur va donc écrire 192.168.1.5 comme nouvelle adresse de destination dans l'entête du paquet, et le router vers l'interface LAN. Le PC reçoit alors la réponse de google, la communication fonctionne dans les deux sens.
Il s'avère donc que tous les PC du LAN partagent l'adresse IP de l'interface WAN du routeur pour communiquer sur internet.
Ce mécanisme de réécriture des IP d'origine ou de destination du paquet s'appelle NAT, pour Network Address Translation, c'est à dire traduction d'adresses réseau (et non pas translation).
8 - Pourquoi doit-on rediriger des ports?
Comme on l'a déjà vu, quand un paquet arrive d'internet sur le port WAN du routeur, celui-ci sait vers quel PC router le paquet car il a gardé une trace de l'initialisation préalable de la connexion par le PC. Cela fonctionne bien lorsque c'est le PC qui a démarré la connexion (consultation d'une page web sur internet...).
Il n'en va pas de même dans le cas où quelqu'un tente de se connecter au PC depuis internet. C'est le cas lorsqu'on héberge un serveur web ou ftp chez soi. Ou quand on veut accéder au bureau de son PC depuis l'extérieur, avec vnc, tse ou autre chose. C'est parfois aussi nécessaire pour les jeux en ligne. Je resterai sur l'exemple d'un serveur web et comme par hasard on va dire que ce serveur web tourne sur le PC en 192.168.1.5.
Si on héberge sur un PC du LAN un serveur web ouvert sur internet, n'importe qui peut y accéder pour consulter une page web. Avec un navigateur, il suffit de se connecter à l'adresse du PC sur le port 80. (Une connexion réseau [tcp ou udp] se caractérise par une adresse IP de destination et un numéro de port. Les serveurs web attendent des connexions sur le port 80. On dit qu'ils "écoutent" sur ce port.)
La personne souhaitant consulter une page va donc connecter son navigateur sur le port 80 de l'IP publique de notre routeur [généralement par le biais d'un nom de domaine]. Puisque la connexion réseau est démarrée depuis l'extérieur, le routeur ne peut utiliser la trace d'une connexion antérieure démarrée depuis un PC du LAN. Dans ce cas, le routeur ne sait donc pas du tout vers quel PC du LAN router le paquet entrant. Pourtant, il faut bien que ce paquet arrive au PC hébergeant le serveur web pour que l'utilisateur distant puisse voir s'afficher une page.
Pour permettre au monde extérieur d'accéder au serveur web, il faut donc, par configuration, définir explicitement une règle sur le routeur. Cette règle va s'exprimer ainsi: "tout paquet arrivé par le port 80 de l'interface WAN doit être routé vers le port 80 de l'adresse IP 192.168.1.5 sur le LAN."
Et là, tu dois reconnaître le genre de chose qui se paramètre sur les pages de configuration de ta Livebox, comme sur celles d'à peu près n'importe quel routeur.
C'est la redirection de port, ou port forwarding, ou encore port mapping. Pour qu'une connexion puisse être établie depuis internet, et à destination d'une machine située derrière un routeur, ce genre de paramétrage est nécessaire au niveau du routeur.
9 - On s'en fout, c'est pas de ça qu'on causait
Ouf. On en a fini avec la partie théorique. J'ai fait ce que j'ai pu pour essayer d'être bref et pas trop confus mais je ne sais pas ce que ça donne... Si c'était à peu près compréhensible, tu as maintenant toutes les armes en main pour répondre toi-même à tes propres questions. Allez, salut.
Nan, j'déconne... Bon, allez je vais mettre des lettres, maintenant, pour changer.
A - "Tous les routeurs ont un port WAN et des port ethernet normal pour le LAN ?"
Alors déjà, on dit "normaux". ;-)
Sur le fond, un routeur est vraiment juste un machin avec des interfaces réseau. Ce qui différencie le LAN du WAN, c'est simplement l'utilisation qu'on en fait (essayer de choper une IP publique depuis un modem côté WAN, le sens du port forwarding...). Et cette utilisation est définie par le firmware du routeur de type "boitier", ou par la configuration d'un PC utilisé en tant que routeur.
Le fait qu'on ait plusieurs ports côté LAN est simplement lié à l'incorporation dans le boitier d'une partie "switch", connectée de manière interne à l'interface LAN. De l'extérieur, on voit donc un boitier avec un port WAN et quatre ports LAN (ou plus..).
Précisons enfin qu'il existe des routeurs possédant plusieurs interface WAN, pour se connecter par exemple à deux modems avec deux lignes physiques derrière, pour faire de la redondance en cas de panne d'une des connexions (failover), ou répartir les connexions entre deux lignes ADSL (load balancing).
B - "La livebox, est-ce qu'il faut obligatoirement la brancher sur le port WAN ? Mais, si la Livebox n'est pas en mode modem simple, ca ne pausera pas des problèmes de la brancher sur un port WAN ? Qu'est-ce qui change exactement avec ce port ? Je pensais que c'était que pour brancher dessus directement un modem ADSL ?"
C'est pour cette question qu'il fallait comprendre tout le reste. Un routeur est une "machine à faire du NAT", avec côté LAN, des bécanes avec chacune leur adresse privée, mais qui sortent toutes par l'adresse du port WAN, l'IP publique, pour accéder à internet. Et quand les paquets reviennent, c'est le routeur qui se rappelle quel paquet renvoyer à quel PC.
En connectant un port LAN de la Livebox au port WAN d'un routeur, on va "empiler" deux couches successives de NAT. Avec les inconvénients que cela comporte, et les solutions qui vont avec. C'est surtout pour le wifi que ça va nous poser un petit problème.
On va commencer à y voir clair en écrivant les IP des machines du réseau:
[EDIT: ici j'avais fait un schéma réseau en mode texte mais il est illisible une fois le message posté.
Je posterai un lien vers un schéma en jpeg demain à la place. Désolé... mes explications sont déjà pas très claires, mais alors sans le schéma, ça devient franchement aride...]
C'est pas le plafond de la chapelle Sixtine, mais ça fera l'affaire.
Une nouveauté saute aux yeux: l'apparition dans le plan d'adressage d'un nouveau sous-réseau, avec des IP en 192.168.0.x.
(NB: j'ai pris "0" comme j'aurais pu prendre autre chose, tant que ça reste différent de 1 pour faire la distinction avec l'autre sous-réseau. L'IP publique 212.53.48.73 est imaginaire.)
En effet, pour que le routeur puisse faire son travail, ses différentes interfaces réseau doivent se trouver sur des sous-réseau différents. En simplifiant, disons qu'on ne peut pas avoir les mêmes plages d'adresses IP du côté LAN et du côté WAN d'un routeur.
On a donc besoin:
- que le LAN de la livebox et le WAN du routeur (connectés par un cable ethernet) soient sur un même sous-réseau, pour pouvoir communiquer.
- que le WAN et le LAN du routeur soient sur des sous-réseaux différents, pour que le routeur puisse router entre ces sous réseaux.
Le plan d'adressage présenté ci-dessus s'impose donc naturellement. Il permet de conserver les IP en 192.168.1.x déjà utilisées par les PC, et on ajoute juste le sous-réseau en 192.168.0.x pour que la livebox et le routeur puissent communiquer entre eux.
Du coup, les PC sont derrière deux couches de NAT successives. Un paquet qui part du PC en 192.168.1.5 arrive sur le routeur, qui le réémet vers la livebox comme s'il provenait de 192.168.0.2, qui à son tour le réémet sur internet comme s'il provenait de 212.53.48.73.
De la même manière, si on veut ouvrir le port 80 vers le PC en 192.168.1.5, il va falloir paramétrer une redirection de port sur la livebox ET sur le routeur:
- sur la livebox, on redirige le port 80 vers l'IP WAN du routeur, 192.168.0.2, qui se trouve sur le LAN du point de vue de la livebox
- sur le routeur, on redirige le port 80 vers le PC, en 192.168.1.5.
Une connexion depuis internet à destination du PC est donc redirigée deux fois successivement.
La zone démilitarisée (DMZ): l'idée de devoir systématiquement configurer ses redirections de ports deux fois n'est pas spécialement réjouissante. Il y a un remède à cela: la quasi totalité des routeurs (dont la livebox, je crois), permettent de définir une "zone démilitarise", ou "DMZ". Il s'agit en général d'une adresse IP du LAN vers laquelle sont systématiquement redirigés les paquets destinés à l'IP publique de la connexion. En gros, c'est une manière de rediriger en masse tous les ports vers un autre routeur en aval, en déléguant du coup toute la configuration réseau à celui-ci.
Dans notre cas, si on configure sur la livebox l'adresse 192.168.0.2 (WAN routeur) comme DMZ, tous les ports de la livebox seront ouverts et donneront sur l'adresse WAN du routeur. La configuration est alors grandement simplifiée. On oublie la livebox et tout se fait désormais sur le routeur. C'est le routeur et non plus la livebox qui joue le rôle de pare-feu, mais ça ne pose pas de problème particulier. Pour ouvrir un port vers un PC, on a seulement besoin de configurer la redirection sur le routeur. De ce point de vue, la livebox est devenue transparente pour le routeur, puisque celui-ci se trouve dans la DMZ.
Quid du nos histoires de paquet magique, dans tout ça?
1 - notre paquet de WOW arrive en unicast depuis internet, sur le port 9 du WAN de la livebox.
2 - une DMZ étant définie, la livebox route les paquets arrivant sur le port 9 (NB: UDP ou TCP ne change rien à l'affaire) vers l'adresse de DMZ, donc 192.168.0.2, c'est-à-dire le WAN du routeur.
3 - le paquet magique transite entre 192.168.0.1 et 192.168.0.2 et arrive sur le WAN du routeur, frais comme un gardon, comme s'il sortait tout droit d'internet
4 - si le routeur est capable de faire une redirection vers une adresse de broadcast, le PC doit se réveiller
NB: si on ne veut pas utiliser la DMZ, une redirection du port UDP 9 de la livebox vers le routeur fait aussi bien l'affaire.
T'es encore là? Zut, je pensais pouvoir aller pioncer. ;-)
Bon on a presque répondu à cette question. On a vu ce qui se passe en connectant un autre routeur en série, par son port WAN, derrière la livebox. Reste le début, "La livebox, est-ce qu'il faut obligatoirement la brancher sur le port WAN". Ben en fait non. Si on veut on peut connecter le routeur à la livebox par un de ses ports LAN. On oublie les histoires de sous-réseau en 192.168.0.x, on revient à ta configuration actuelle, avec juste une machine en plus, le routeur, avec une IP en 192.168.1.x. Les PC sont connectés à la livebox, ou au routeur qui sert alors de switch additionnel. Le routeur ne route plus du tout. Son port WAN est inutilisé. Il fonctionnera, tu pourras accéder à son interface web. Le problème est que s'il ne route pas, il va être incapable de rediriger un paquet magique. Un routeur ordinaire ne peut à priori appliquer une redirection que d'un paquet arrivé par le port WAN. Donc voila.
C - "Du coup, est-ce qu'il faudrait mieux que je choisisse un routeur Wifi parce que je ne pourrais plus utiliser le Wifi de la livebox ? Ou ca ne pause pas de problème, j'utilise le Wifi par l'intermédiaire de la livebox et les ordinateurs fixes son connectés à internet par l'intermédiaire du routeur ?"
On a évoqué un peu plus haut le pontage d'interfaces dans les routeurs wifi. Tout ce qu'il faut retenir, c'est qu'il faut considérer le wifi comme une extension du LAN, avec le même sous réseau.
Avec le plan d'adressage que j'ai décrit, tu pourras toujours te connecter au wifi de la Live box. Par contre tu recevras (ou paramétreras) une adresse du LAN de la livebox, dans le sous réseau 192.168.0.x, comme le port WAN du routeur. Par exemple, tu te retrouveras avec l'IP 192.168.0.3. Ta connexion internet fonctionnera. Tu pourras naviguer, etc... Par contre ça posera problème au niveau des communications entre le PC connecté en wifi (192.168.0.3) et les PC situés derrière le routeur (192.168.1.x). Pour les PC du LAN, le PC en wifi, situé de l'autre côté du routeur, donc du NAT, sera perçu comme une machine d'internet. Ca bloquerait par exemple des partages windows dans un sens, en empêcherait la découverte passive des machines dans le voisinage réseau. En fait cela poserait des problèmes pour tout ce qui se fait normalement sur un réseau local.
La réponse est donc: tu peux continuer d'utiliser le wifi de la livebox, la connexion internet fonctionnera parfaitement, mais cela gênera pas mal les communications entre d'une part les machines en wifi, d'autre part les machines connectées derrière le routeur. En se connectant en wifi directement au routeur, tous les PC seraient sur le même sous réseau et on éviterait ce problème.
D - "Est-ce compliqué d'installer un firmware dd-wrt ?"
Pas trop, non. C'est comme faire un upgrade de firmware sur un routeur: tu vas dans l'interface, tu choisis ton fichier et ça se fait tout seul. Si on ne fait pas n'importe quoi c'est sans douleur et on ne s'en occupe plus ensuite.
Si on se plante d'une manière ou d'une autre, on peut se retrouver à faire des reset du routeur pour restaurer sa config par défaut et le "retrouver". Ce n'est encore pas bien méchant. Et puis c'est vrai aussi avec le firmware d'origine.
Ca peut devenir pénible seulement si on arrive à le "briquer", par exemple en uploadant un mauvais firmware (version incompatible, fichier corrompu, problème de transmission réseau). Pour y arriver il faut soit avoir sciemment bricolé et essayé des trucs dont on était pas sur, soit avoir vraiment, mais alors vraiment pas de chance.
Et si ça arrive, déjà on peut toujours le renvoyer en maintenance et voir s'ils acceptent de prendre en charge (ça ne coûte rien d'essayer). Et dans le pire des cas, il existe parfois d'autres méthodes pour s'en tirer. Par exemple, on peut toujours récupérer un wrt54gl qui ne répond plus du tout en court-circuitant deux pattes d'un composant pour le mettre en mode upgrade, après quoi on uploade un nouveau firmware sain. Dit comme ça, ça a l'air barbare, mais j'ai réussi à le faire alors que je sais à peine tenir un tournevis...
Voila pour le scénario catastrophe, style liste des effets secondaires sur les notices de médicaments, mais en règle général, si on n'est pas trop chien fou, installer dd-wrt n'est l'affaire que de quelques clics.
E - Un truc auquel je viens de penser
Il y aurait bien la possibilité de ne brancher QUE le PC à réveiller derrière le routeur. On laisse les autres branchés sur la livebox, et tu utilises le wifi de la livebox. Tout le monde a une IP en 192.168.1.x, sauf le PC à réveiller, qui se retrouve sur un autre sous-réseau, avec le routeur entre la livebox et lui. La différence c'est que les problèmes de communication sur le LAN sont limités à une machine. Mais bon. C'est pas terrible non plus.
F - Linksys BEFSR41v3
Effectivement, ce modèle a l'air de savoir faire ce qui nous intéresse. Je n'ai pu trouver aucune documentation révélant si la variante en -FR portée au catalogue de LDLC en est capable aussi. A ta place, je n'en préjugerais pas.
Bon, j'espère que la lecture de ce post n'était pas trop pénible et que ça t'a appris deux trois trucs...
13 mars 2018 à 19:16
23 mai 2021 à 19:55
Merci encore