Quand on héberge des services chez soi (selfhosting), une étape nécessaire est d’autoriser les connexions entrantes au niveau du routeur. Ma configuration réseau est celle d’un routeur directement en aval de la box de mon FAI (Livebox dans mon cas) ce qui augmente un peu la difficulté notamment selon la version du protocole IP.

En IPv4, c’est assez simple, une zone démilitarisée (DMZ) est paramétrée sur la livebox vers mon routeur perso qui s’occupe des ouvertures/redirections de ports vers les machines internes. Toutes les IP externes sont donc redirigées vers la seule IP du routeur qui fait son masquage et translation d’adresse.

En IPv6, c’est un peu plus compliqué, chaque machine du réseau va obtenir une adresse publique parmi celles du préfixe délégué par la livebox à mon routeur. Si vous avez suivi le billet précédent, vous savez que chez Orange, votre préfixe IPv6 est stable, c’est à dire qu’aucune garantie n’est faite sur la durée où il vous sera attribué.
Dans mon cas, j’ai eu le même préfixe pendant un peu moins d’un an mais il a changé quand j’ai basculé d’offre.
Les témoignages sur Internet semblent aller dans le même sens avec toutefois des cas où le préfixe change plus fréquemment si des travaux sont en cours au niveau de l’organisation du réseau.

Ouvrir des ports pour les machines du réseau nécessite donc de le faire pour chaque adresse, sachant qu’elles peuvent changer sans prévenir (et donc invalider la règle de pare-feu). Tout ça serait un peu fastidieux si mon routeur ne faisait pas tourner OpenWRT qui permet de créer des règles ciblant uniquement le suffixe d’une adresse IPv6 !

Rappel : une addresse IPv6 est composée d’un préfixe (première moitié) fourni par votre FAI et d’un suffixe (deuxième moitié) spécifique à la machine et que l’on peut fixer.

Une règle se présente de la façon suivante :

Forwarded IPv6 
From wan 
To lan
IP ::10:2/-64, port 80

La partie importante ici est le -64 qui signifie dans le vocable fw4 (le parefeu d’OpenWRT) qu’il faut ouvrir le port (ici 80) vers la machine donc le suffixe est ::10:2 (équivalent à :0:0:10:2) quel que soit le préfixe. IL n’y a donc plus besoin de changer la règle quand on change de préfixe !

Et la livebox dans tout ça ?

La livebox est concue pour le grand public et son interface reflète ce point, elle est assez limitée dans les options/capacités accessible depuis l’interface web.

Heureusement, il existe LiveboxMonitor, logiciel libre qui utilise directement l’API de la livebox et permet beaucoup plus de choses. En particulier, alors que l’interface web ne permet pas facilement de créer des règles vers des adresses arbitraires, LiveboxMonitor le permet.

Il permet aussi, et c’est plus intéressant, de créer des règles d’ouverture de protocole vers un ensemble d’adresse avec une syntaxe de la forme 2001:db8::/32 ; il suffit alors de trouver la plage d’ip allouée à Orange (2a01:c000::/19) et d’autoriser les protocoles TCP, UDP, ICMP à destination de l’ensemble des adresses de cette plage sur votre réseau et vous avez quelque chose qui ressemble à une DMZ et qui n’a pas à être modifiée quand vous changez de préfixe.

Fenêtre d'ouverture des protocoles de LiveboxMonitor