9 mai 2021
Si vous hébergez votre serveur derrière une "box" fournie par votre fournisseur d’accès internet, voici comment procéder pour avoir votre serveur accessible depuis internet
hosts:
- 192.168.1.43
- 176.190.83.229
Rechargez la configuration : ejabberdctl reload_config
Vérifiez que la modification est prise en compte : ejabberdctl registered_vhosts
root@raspberrypi:/home/poivron# ejabberdctl registered_vhosts
192.168.1.43
176.190.83.229
Créez votre compte sur ce nouveau serveur :
root@raspberrypi:/home/samuel# ejabberdctl register poivron 176.190.83.229 TomateSecrete
User poivron@176.190.83.229 successfully registered
Vérifiez que l’utilisateur est créé
ejabberdctl registered_users 176.190.83.229
poivron
Comprenez bien que votre "IP Externe" est l’IP de votre routeur. En l’état, toute connexion arrivant à cette adresse reste bloquée sur le routeur.
Maintenant il faut configurer le transfert de ports de votre routeur.
Configuration du modem, liste des ports à reconfigurer :
– 5222 : port pour les connexions sécurisés entre les clients et le serveur
– 5223 : port pour les connexions non sécurisés entre les clients et le serveur
– 5269 : port pour les connexions entre deux serveurs
Ces ports doivent rediriger vers les même ports mais sur votre Rapsberry Pi / serveur local
Avec votre client XMPP, créez un nouveau compte en utilisant votre IP publique : poivron@176.190.83.229
Vous devriez arriver à vous connecter et voir ceci dans les logs.
[info] <0.366.0>@ejabberd_listener:accept/7:273 (<0.1051.0>) Accepted connection [::ffff:80.214.144.252]:20442 -> [::ffff:192.168.1.43]:5222
[info] <0.1051.0>@ejabberd_c2s:process_auth_result/3:268 (tls|<0.1051.0>) Accepted c2s SCRAM-SHA-1 authentication for poivron@176.190.83.229 by mnesia backend from ::ffff:80.214.144.252
[info] <0.1051.0>@ejabberd_c2s:bind/2:442 (tls|<0.1051.0>) Opened c2s session for poivron@176.190.83.229/Conversations.j5g6
Si vous ne voyez rien dans les log, même pas la première ligne, c’est que votre routeur est mal configuré. Si vous voyez la première ligne c’est que la connexion arrive jusqu’à votre serveur.