Configuration noeud public Duniter

Bonjour,

J’essaie de mettre en ligne un noeud duniter.

Le serveur se trouve connecté directement à Internet sur une IP dynamique (v4 et v6) mais avec un nom de domaine fixe.

J’aimerai rendre mon noeud public pour que des clients Cesium puisse l’utiliser (BMA) et aussi d’autres noeuds duniter (W2SP). Mais quelle galère…

Je ne comprend pas pourquoi duniter se trimballe tant d’adresse IP hardcodées dans sa config. L’IP v4 et v6 étant dynamiques chez moi, ca n’a aucun sens. Pourquoi ne pas laisser le choix de juste annoncer une nom de domaine et un port ? Mettre en écoute sur un port local et laisser nginx rendre public ce service en ipv6/ipv4

Actuellement c’est incompréhensible.

On peut casser sa config si il manque une adresse qui n’est pas renseignée. A ce moment là le démarrage de duniter plante.

3 Likes

Voici mon tuto pour installer Duniter avec proxy Nginx sans mettre d’IP publiques dans la config duniter
https://tuxicoman.jesuislibre.net/2019/03/configuration-du-serveur-duniter-avec-proxy-nginx.html

2 Likes

Salut Tuxicoman (je t’ai répondu sur le tchat de normandie-libre.fr mais tu n’étais plus connecté. Il s’agit bien d’un tchat XMPP/Jabber ^^)

Je me suis toujours posé cette question :wink:

2 Likes

J’ai eu le même problème avec mes 3 nœuds qui sont sur mon réseau local : même adresse IP mais adresses DNS différentes… eh bien ça avait l’air de marcher mais en fait non… duniter s’emmêlait les pinceaux jusqu’à ce que je mette un port différent pour chaque nœud, là on dirait que ça passe mieux. Pas terrible, mais mieux que rien.

ça ne me paraît pas déconnant d’être obligé de mettre des ports différents. Ce serait la même problématique, à mon avis, si tu avais plusieurs serveurs MYSQL à servir. Après tu peux mettre les mêmes ports sur les différents serveurs/hôtes mais des redirections de port différentes pour chacun dans les règles NAT de ta passerelle internet. Mais c’est ptete déjà ce que tu as fait :wink:

Avec nginx ou apache, tu peux rediriger en fonction du nom DNS qui a été demandé, pas seulement avec le numéro de port. Genre avec apache:

<VirtualHost *:443>
	ServerName g1a.jytou.fr
	ProxyPass /ws2p ws://192.168.0.81:9004/ws2p/
	ProxyPassReverse /ws2p ws://192.168.0.81:9004/ws2p/
	ProxyPass / http://192.168.0.81:9005/
	ProxyPassReverse / http://192.168.0.81:9005/
	ErrorLog ${APACHE_LOG_DIR}/redir_error.log
	CustomLog ${APACHE_LOG_DIR}/redir_access.log combined
	Include /etc/letsencrypt/options-ssl-apache.conf
	SSLCertificateFile /etc/letsencrypt/live/me.jytou.fr/fullchain.pem
	SSLCertificateKeyFile /etc/letsencrypt/live/me.jytou.fr/privkey.pem
</VirtualHost>
<VirtualHost *:443>
	ServerName g1b.jytou.fr
	ProxyPass /ws2p ws://192.168.0.85:9004/ws2p/
	ProxyPassReverse /ws2p ws://192.168.0.85:9004/ws2p/
	ProxyPass / http://192.168.0.85:9005/
	ProxyPassReverse / http://192.168.0.85:9005/
	ErrorLog ${APACHE_LOG_DIR}/redir_error.log
	CustomLog ${APACHE_LOG_DIR}/redir_access.log combined
	Include /etc/letsencrypt/options-ssl-apache.conf
	SSLCertificateFile /etc/letsencrypt/live/me.jytou.fr/fullchain.pem
	SSLCertificateKeyFile /etc/letsencrypt/live/me.jytou.fr/privkey.pem
</VirtualHost>

Du coup, il est parfaitement faisable de garder le même port avec des adresses DNS différentes et rediriger vers des machines différentes en interne pour peu qu’elles communiquent toujours leur nom DNS et jamais leur adresse IP, ce que duniter ne semble pas vraiment être capable de faire correctement.

1 Like

Avec mon tuto, j’ai quand meme ce message dans le GUi de duniter “Your configuration has changed and your node is no more reachable from the network. You should reconfigure it to have a functional node. If this message appears again, you should manually configure the network settings. Often, selecting only IPv6 interface (disabling IPv4) solves the problem.”

Alors que tout fonctionne…

Oui c’est perturbant. Mais au final le nœud fonctionne.
Sans%20titre
Tu navigues dans le GUI, tu reviens sur l’écran et le message n’est plus là (enfin en ce qu’il me concerne). Je suis d’accord qu’il y a sûrement un truk à améliorer. Une issue à créer @cgeek ?