|
|
|
|
||||||
| fr.comp.reseaux.ip IP : Discussions techniques, protocoles connexes. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour.
Je dispose d'un petit LAN relié à Internet à travers un PC qui sert entre-autres de proxy multi-protocoles, et suivi d'un routeur type Netgear RP614 associé à une "Box" ADSL. Je cherche une astuce qui permettrait, lors des déplacements durables, d'arrêter le PC proxy, ne laissant en veille que le routeur, et de pouvoir réveiller ce PC à distance à travers Internet (on suppose donc que la connexion ADSL, gérée par le routeur, reste établie et que l'IP est connue de l'appelant). Donc si l'adresse MAC de la carte réseau du PC est connue, le but serait de faire rentrer un "magic packet" approprié. Le routeur intègre un firewall, mais il est possible d'ouvrir un port particulier associé à une IP fixe utilisée par le PC proxy. Je me dis alors que dans ces conditions, même si le PC proxy est arrêté, ce n'est pas vraiment le problème du routeur, et donc si un paquet se présente, destiné au port en question, il doit le laisser entrer. Et donc je me demande dans quelle mesure il est envisageable de faire entrer ainsi un paquet capable de déclencher un WOL... Est-ce que ça vous paraît un peu réalisable ? Merci, Cordialement, -- /***************************************\ * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe \***************************************/ |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
Salut,
Patrick 'Zener' Brunet a écrit : [...] > Donc si l'adresse MAC de la carte réseau du PC est connue, le but serait de > faire rentrer un "magic packet" approprié. > > Le routeur intègre un firewall, mais il est possible d'ouvrir un port > particulier associé à une IP fixe utilisée par le PC proxy. Je me dis alors > que dans ces conditions, même si le PC proxy est arrêté, ce n'est pas > vraiment le problème du routeur, et donc si un paquet se présente, destiné > au port en question, il doit le laisser entrer. > > Et donc je me demande dans quelle mesure il est envisageable de faire entrer > ainsi un paquet capable de déclencher un WOL... En complément de ma réponse, tu peux rechercher les discussions qui ont déjà eu à ce sujet ici ou dans fr.comp.reseaux.ethernet. Par internet, qui est un réseau de niveau 3, on ne peut envoyer directement une trame ethernet, de niveau 2. On doit passer par un protocole IP. Le plus simple est d'utiliser UDP pour envoyer le magic packet, parce que UDP, comme TCP, est bien géré par les routeurs même basiques et le contenu d'un paquet UDP est arbitraire alors que le contenu d'un paquet TCP de demande de connexion (SYN) est réglementé. Des utilitaires de WOL permettent d'encapsuler un magic packet dans un datagramme UDP. Ensuite, il faut créer sur le routeur une redirection du port UDP choisi vers l'adresse IP de... vers quelle adresse IP en fait ? C'est AMA le noeud du problème. A ce moment la machine cible est éteinte, elle n'a donc pas à proprement parler d'adresse IP. Si on crée une redirection vers l'adresse IP qu'elle est censée avoir, il va se passer la chose suivante. Le routeur reçoit sur sont interface WAN le datagramme UDP contenant le magic paquet. Il modifie l'adresse IP destination du datagramme et se prépare à le ré-émettre via son interface LAN. Avant cela, il doit déterminer l'adresse MAC ethernet correspondant à l'adresse IP destination afin de construire la trame ethernet qui contiendra le datagramme. A cet effet il émet une requête ARP sur le LAN. Mais comme la machine cible est éteinte, il n'aura jamais de réponse à sa requête. Par conséquent le routeur ne peut retransmettre le paquet UDP, et il devrait renvoyer un message d'erreur ICMP "host unreachable" à l'émetteur du paquet original. Comment contourner le problème de la résolution ARP ? Deux voies sont envisageables. 1) Ecrire "en dur" dans la table ARP du routeur une correspondance statique entre l'adresse IP de la machine et l'adresse MAC de son interface ethernet, si le routeur le permet. Cela aura pour résultat d'éviter l'émission d'un requête ARP. C'est l'équivalent de la commande "arp -s" d'OS comme Windows ou Linux. 2) Créer sur le routeur une redirection UDP vers l'adresse IP de broadcast du réseau local (soit 192.168.0.255 si le réseau est 192.168.0.0/24), toujours à condition que le routeur le permette. Ainsi le paquet sera réémis sur le réseau local avec l'adresse ethernet de broadcast, FF:FF:FF:FF:FF:FF, sans avoir besoin de connaître l'adresse MAC de la cible. *Toutefois* je n'ai pas la certitude que la fonction WOL de la carte fonctionne avec une trame ethernet dont l'adresse destination est l'adresse de broadcast, mais c'est à essayer si le routeur ne supporte pas la première solution. |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour.
Je réponds à Pascal@plouf <pascal@plouf.invalid> qui a écrit : > Salut, > > Patrick 'Zener' Brunet a écrit : > [...] >> Donc si l'adresse MAC de la carte réseau du PC est connue, le but >> serait de faire rentrer un "magic packet" approprié. >> > [...] Merci beaucoup Pascal. Effectivement, faisant relativement peu de réseau, j'avais râté cette conversation-là. J'ai donc maintenant tout un tas de points à vérifier par rapport à mon équipement. Un petit doute tout de même, quand vous dites : > Le routeur reçoit sur son interface > WAN le datagramme UDP contenant le magic paquet. Il modifie l'adresse > IP destination du datagramme et se prépare à le ré-émettre via son > interface LAN. Avant cela, il doit déterminer l'adresse MAC ethernet > correspondant à l'adresse IP destination afin de construire la trame > ethernet qui contiendra le datagramme. A cet effet il émet une requête > ARP sur le LAN. Mais comme la machine cible est éteinte, il n'aura > jamais de réponse à sa requête. Par conséquent le routeur ne peut > retransmettre le paquet UDP, et il devrait renvoyer un message > d'erreur ICMP "host unreachable" à l'émetteur du paquet original. Par définition si on fait un WOL, la machine cible est toujours éteinte ou en veille, mais par contre sa carte réseau est active. L'existence-même du mécanisme suppose qu'on puisse procéder soit par broadcast, soit par une IP fixe qui ne répond pas (encore). Ou alors si une réponse préliminaire est attendue, il faudrait que la carte réseau sache répondre toute seule, et dans ce cas il suffit qu'elle soit sous tension. Ceci est l'avis du demi-Candide donc... Même si je ne vais pas forcément utiliser cet utilitaire, je m'étais basé sur des informations telles qu'en fournit cette page : http://www.gknw.com/wol.html ============= Suite à tests : * Mon routeur n'accepte pas d'ouvrir un port vers une adresse IP de broadcast, uniquement vers une adresse IP ordinaire. * Il propose de définir des routes statiques, mais je ne crois pas que ça puisse faire avancer le schmilblick. * Dans sa liste des machines attachées, il ne présente pas le PC proxy, qui utilise une IP fixe et pas le serveur DHCP intégré, alors que ce PC est bien connecté puisque c'est par lui que je consulte le serveur d'administration du routeur ! En fait l'IP fixe en question n'apparaît nulle part sur le routeur. Problème de sémantique dans l'IHM j'imagine... Mais ça ne dit pas ce que la carte réseau sait faire toute seule quand le PC ronfle. * Seule possibilité en vue : dans la configuration du serveur DHCP, il y a une rubrique intitulée "Address Reservation" permettant d'associer des IP fixes à des adresses MAC + noms de machines. Ca veut peut-être dire qu'il est possible, en plus de les exclure de la plage du DHCP, de faire en sorte que le routeur utilise ces correspondances sans vérifier l'activité de la machine cible, ce serait donc conforme à votre solution n°1... Je crois qu'il ne me reste plus qu'à me débrouiller pour mettre en place une configuration d'essai... AMHA ça doit être possible en montant seulement une seconde machine sur le routeur côté interne. Merci, Cordialement, -- /***************************************\ * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe \***************************************/ |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
Patrick 'Zener' Brunet a écrit :
> > Un petit doute tout de même, quand vous dites : > >> Le routeur reçoit sur son interface >>WAN le datagramme UDP contenant le magic paquet. Il modifie l'adresse >>IP destination du datagramme et se prépare à le ré-émettre via son >>interface LAN. Avant cela, il doit déterminer l'adresse MAC ethernet >>correspondant à l'adresse IP destination afin de construire la trame >>ethernet qui contiendra le datagramme. A cet effet il émet une requête >>ARP sur le LAN. Mais comme la machine cible est éteinte, il n'aura >>jamais de réponse à sa requête. Par conséquent le routeur ne peut >>retransmettre le paquet UDP, et il devrait renvoyer un message >>d'erreur ICMP "host unreachable" à l'émetteur du paquet original. > > Par définition si on fait un WOL, la machine cible est toujours éteinte ou > en veille, mais par contre sa carte réseau est active. L'existence-même du > mécanisme suppose qu'on puisse procéder soit par broadcast, soit par une IP > fixe qui ne répond pas (encore). Ou alors si une réponse préliminaire est > attendue, il faudrait que la carte réseau sache répondre toute seule, et > dans ce cas il suffit qu'elle soit sous tension. Mais une carte ethernet même active est incapable de répondre d'elle-même à une requête ARP. ARP et IP sont au-dessus d'ethernet et du ressort de l'OS. > Même si je ne vais pas forcément utiliser cet utilitaire, je m'étais basé > sur des informations telles qu'en fournit cette page : > http://www.gknw.com/wol.html D'après cette page l'utilisation d'un broadcast ethernet pour le magic packet ne pose pas de problème, ce dont je n'étais pas sûr. > Suite à tests : > > * Mon routeur n'accepte pas d'ouvrir un port vers une adresse IP de > broadcast, uniquement vers une adresse IP ordinaire. Ça m'aurait étonné... > * Il propose de définir des routes statiques, mais je ne crois pas que ça > puisse faire avancer le schmilblick. Non, ce n'est pas ce dont nous avons besoin. Pas de table ARP statique ? Pas d'interface en ligne de commande par Telnet ou SSH qui donnerait accès à des options de configuration plus avancées que l'interface web ? > * Seule possibilité en vue : dans la configuration du serveur DHCP, il y a > une rubrique intitulée "Address Reservation" permettant d'associer des IP > fixes à des adresses MAC + noms de machines. Ca veut peut-être dire qu'il > est possible, en plus de les exclure de la plage du DHCP, de faire en sorte > que le routeur utilise ces correspondances sans vérifier l'activité de la > machine cible, ce serait donc conforme à votre solution n°1... Effectivement, ça vaut le coup d'essayer. Mais il n'est pas dit que le serveur DHCP et le module ARP causent ensemble... > Je crois qu'il ne me reste plus qu'à me débrouiller pour mettre en place une > configuration d'essai... AMHA ça doit être possible en montant seulement une > seconde machine sur le routeur côté interne. Bon courage, et tiens-nous au courant ! |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour.
Je réponds à Pascal@plouf <pascal@plouf.invalid> qui a écrit : > Patrick 'Zener' Brunet a écrit : >> [...] >> * Seule possibilité en vue : dans la configuration du serveur DHCP, >> il y a une rubrique intitulée "Address Reservation" permettant >> d'associer des IP fixes à des adresses MAC + noms de machines. Ca >> veut peut-être dire qu'il est possible, en plus de les exclure de la >> plage du DHCP, de faire en sorte que le routeur utilise ces >> correspondances sans vérifier l'activité de la machine cible, ce >> serait donc conforme à votre solution n°1... > > Effectivement, ça vaut le coup d'essayer. Mais il n'est pas dit que le > serveur DHCP et le module ARP causent ensemble... > >> Je crois qu'il ne me reste plus qu'à me débrouiller pour mettre en >> place une configuration d'essai... AMHA ça doit être possible en >> montant seulement une seconde machine sur le routeur côté interne. > > Bon courage, et tiens-nous au courant ! Je viens de faire un essai concluant, mais je ne sais pas s'il est équivalent... 1) Je dispose en ce moment d'une machine "invitée" que j'ai connectée directement sur mon routeur, et qui WOLe sans problème. Je lui ai attribué une IP fixe (ça permet aussi de la télé-opérer par VNC) et j'ai noté son adresse MAC (ainsi que son HostName, mais je ne sais pas si c'est utile). 2) Je configure mon routeur pour réserver l'adresse IP en question à la machine HostName ayant l'adresse MAC en question. 3) Je fais un port forwarding pour un port quelconque, disons 9999, en désignant l'adresse IP en question comme adresse de serveur. 4) J'arrête la machine de test. 5) Je lance un WOL par magic packet depuis mon PC proxy, mais en spécifiant l'adresse MAC de la machine cible, et comme adresse IP, l'adresse Internet en cours (je suis en ADSL) que le PC proxy ne connaît pas, puisque le routeur fait du NAT (et le masque à 0.0.0.0). 6) Et alors la machine cible se réveille. Selon moi, ce test est concluant, puisque le magic packet est forcément passé par le côté WAN du routeur, qui l'a renvoyé avec succès à la machine visée, éteinte à ce moment, sur la simple base de son adresse MAC, puisqu'il n'avait rien d'autre. Je ne crois pas que le magic packet ait pu être routé simplement côté LAN, puisque l'adresse de destination spécifiée n'était pas une adresse LAN. Et donc en principe, le même magic packet aurait pu venir réellement de l'extérieur avec comme destinataire l'adresse IP externe (supposée connue), et spécifiant le port ouvert pourque le firewall du routeur ne le bloque pas. Qu'en pensez-vous ? (Evidemment si je disposais d'une vrai service d'echo à l'extérieur, j'aurais pu faire le test nominal, mais je n'ai pas encore eu le temps de m'intéresser aux proxies "anonymiseurs"...) Merci, Cordialement, -- /***************************************\ * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe \***************************************/ |
|
![]() |
| Outils de la discussion | |
|
|