UPNP logo

Ouvrir les ports d’un routeur avec l’UPNP

Posted by

J’ai un serveur de développement dans mon appartement qui n’est pas accessible depuis Internet. Je voulais montrer un de mes projets à un ami, sans modifier la configuration de mon routeur. La façon la plus simple d’ouvrir et rediriger les ports vers ma machine était d’utiliser une commande UPNP.

Le serveur tourne sur Ubuntu Focal, mais cela devrait fonctionner aussi sur Debian. Avant tout, nous allons installer le paquet miniupnpc.

sudo apt update
sudo apt install miniupnpc -y

Mon IP locale est 192.168.42.9 et j’utiliserai le port 4443 afin d’éviter les bots qui scannent aléatoirement les IP à la recherche de serveurs HTTP(S).

upnpc -a 192.168.42.9 443 4443 tcp

upnpc : miniupnpc library test client, version 2.1.
 (c) 2005-2019 Thomas Bernard.
Go to http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
for more information.
List of UPNP devices found on the network :
 desc: http://192.168.42.1:5000/Public_UPNP_gatedesc.xml
 st: urn:schemas-upnp-org:device:InternetGatewayDevice:1

Found valid IGD : http://192.168.42.1:5000/Public_UPNP_C3
Local LAN ip address : 192.168.42.9
ExternalIPAddress = XX.XX.XX.XX
InternalIP:Port = 192.168.42.9:443
external XX.XX.XX.XX:4443 TCP is redirected to internal 192.168.42.9:443 (duration=0)

Le port est maintenant ouvert et dirigé. Si vous désirez que cette action se fasse au démarrage vous devriez ajouter un service dans Systemd. Pour garder le port ouvert vous devriez aussi ajouter un cron dans /etc/cron.d, afin d’ouvrir à nouveau le port en cas de redémarrage du router.

Mon fichier dans /etc/cron.d/, à adapter suivant vos besoins.

*/5 * * * * root upnpc -a 192.168.42.9 443 4443 tcp

Pour supprimer la redirection lorsque celle-ci n’est plus nécessaire.

upnpc -d 4443 tcp

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *