Pas besoin d’ouvrir de port avec libp2p.
https://www.perplexity.ai/page/libp2p-communication-sans-port-DWZJ6z9ITJuhMU7yhESjEA
Pas besoin d’ouvrir de port avec libp2p.
https://www.perplexity.ai/page/libp2p-communication-sans-port-DWZJ6z9ITJuhMU7yhESjEA
Très bonne référence, j’ai beaucoup appris sur la doc libp2p, je la recommandais également dans ce message :
Et justement, voici les deux premières phrases :
Nodes on a peer-to-peer network can be categorized into two groups: public and non-public. Public nodes are those nodes that have unobstructed access to the internet, whereas non-public nodes are located behind some kind of firewall.
Ce que j’essaye de dire dans le fil Configuration réseau pour un bon fonctionnement pair à pair c’est qu’on a intérêt à ce qu’une partie non négligeable du réseau appartienne à la première catégorie : les nœuds publics.
Oui, il y a des mécanismes pour contourner les firewall et autres, mais il ne faut pas en abuser sous peine de limiter la connectivité et de donner trop d’importance aux nœuds publics. C’est vrai pour les nœuds de bootstrap mais pas seulement. Si on fait tomber tous les nœuds publics et qu’il ne reste que les nœuds privés, je ne donne pas cher de la capacité du réseau à maintenir une bonne synchro, et il sera impossible pour des nouveaux nœuds de rejoindre.
Par curiosité qu’as tu en local sur ton port 4001 ? C’est le port p2p par défaut pour IPFS.
Ça c’est probablement IPFS qui est responsable
Intéressant. Je n’ai pas de connaissances en réseau, mais je vois qu’il y a plusieurs classes d’adresses privées (Adresse IP — Wikipédia).
J’imagine que tu as bien vérifié que ta box et ta machine étaient d’accord sur l’adressage (ip a
) et que 10.0.0.61
correspond bien à la bonne machine, et que cette machine écoute bien sur 0.0.0.0:30333
.
Concernant mon nœud derrière ma box, je suis un peu réticent à exposer ce port manuellement.
Je n’étais pas encore sûr, mais j’ai des adresses IP4/6 dynamiques chez moi. Il faudrait que je mette en place un système de DynDNS ou que je vois avec mon FAI pour avoir des adresses statiques. Ceci afin de proposer un endpoint de boostrap RPC autrement ce sera inutile si les adresses IP changent.
Pour avoir un nœud avec le port p2p ouvert, je pense installer duniter-v2s_ynh
sur mon instance YunoHost, qui est dans un datacenter.
En effet merci. Ça correspond à IPFS quand il tourne avec ipfs daemon
.
J’observe qu’avec sudo lsof -i -P -n
, plusieurs connexions vers les ports de la libp2p
sont établies.
[…]
pasta.avx 2619 moul 14u IPv4 113106930 0t0 TCP 10.0.0.61:39028->77.192.134.71:30333 (SYN_SENT)
pasta.avx 2619 moul 15u IPv4 113096385 0t0 UDP 10.0.0.61:52864->8.8.8.8:53
pasta.avx 2619 moul 16u IPv4 113097013 0t0 UDP 10.0.0.61:58630->8.8.4.4:53
pasta.avx 2619 moul 17u IPv4 113104946 0t0 UDP 10.0.0.61:53970->8.8.4.4:53
pasta.avx 2619 moul 18u IPv4 113052535 0t0 UDP 10.0.0.61:52060->8.8.8.8:53
pasta.avx 2619 moul 19u IPv4 113096386 0t0 UDP 10.0.0.61:58421->8.8.8.8:53
pasta.avx 2619 moul 20u IPv4 113078215 0t0 UDP 10.0.0.61:52792->8.8.4.4:53
pasta.avx 2619 moul 21u IPv4 113099079 0t0 UDP 10.0.0.61:52118->8.8.4.4:53
pasta.avx 2619 moul 22u IPv4 113101050 0t0 UDP 10.0.0.61:53008->8.8.8.8:53
pasta.avx 2619 moul 23u IPv4 113098203 0t0 UDP 10.0.0.61:58929->8.8.4.4:53
pasta.avx 2619 moul 24u IPv4 113109169 0t0 UDP 10.0.0.61:63091->8.8.4.4:53
pasta.avx 2619 moul 25u IPv4 113096270 0t0 UDP 10.0.0.61:57556->8.8.8.8:53
pasta.avx 2619 moul 26u IPv4 113114285 0t0 UDP 10.0.0.61:49606->8.8.4.4:53
pasta.avx 2619 moul 27u IPv4 112694500 0t0 TCP 10.0.0.61:53316->104.26.8.125:443 (ESTABLISHED)
pasta.avx 2619 moul 28u IPv4 113096692 0t0 TCP 10.0.0.61:48474->51.83.14.92:30333 (SYN_SENT)
pasta.avx 2619 moul 29u IPv4 113066963 0t0 UDP 10.0.0.61:53308->8.8.4.4:53
pasta.avx 2619 moul 30u IPv4 113114217 0t0 TCP 10.0.0.61:35298->51.83.14.92:30333 (SYN_SENT)
pasta.avx 2619 moul 31u IPv4 113117358 0t0 UDP 10.0.0.61:52720->8.8.8.8:53
pasta.avx 2619 moul 32u IPv4 113068416 0t0 UDP 10.0.0.61:51687->8.8.4.4:53
pasta.avx 2619 moul 33u IPv4 113102609 0t0 UDP 10.0.0.61:55810->8.8.8.8:53
pasta.avx 2619 moul 34u IPv4 113098284 0t0 TCP 10.0.0.61:44832->82.67.70.129:30333 (SYN_SENT)
pasta.avx 2619 moul 445u IPv4 113066627 0t0 UDP 10.0.0.61:57897->8.8.8.8:53
pasta.avx 2619 moul 446u IPv4 113117406 0t0 TCP 10.0.0.61:42474->193.168.145.31:30334 (SYN_SENT)
pasta.avx 2619 moul 447u IPv4 113066628 0t0 UDP 10.0.0.61:51373->8.8.4.4:53
pasta.avx 2619 moul 448u IPv4 113117407 0t0 TCP 10.0.0.61:42478->193.168.145.31:30334 (SYN_SENT)
pasta.avx 2619 moul 449u IPv4 113117408 0t0 TCP 10.0.0.61:42494->193.168.145.31:30334 (SYN_SENT)
pasta.avx 2619 moul 450u IPv4 113096035 0t0 UDP 10.0.0.61:53364->8.8.8.8:53
[…]
Je note que beaucoup de connexions sont établies vers les DNS de Google (8.8.8.8
et 8.8.4.4
) Pourquoi ?
La machine qui héberge Duniter v2 a bien l’adresse locale 10.0.0.61
. Le conteneur écoute bien sur 0.0.0.0:30333
. Il faut que j’ouvre le port sur ma box et dans le firewall de firewalld
, ce qui est assez complexe. Puis, il faut que je teste que tout fonctionne bien avec ipfs swarm
.
Le bootstrap est uniquement p2p, et RPC doit reposer sur DNS (pour être utilisé dans les environnements navigateur en tout cas). Donc je ne comprends pas le sens que tu veux donner à “bootstrap RPC”.
Je crois que le seul risque est de changer d’adresse au redémarrage de la box. Mais tant que la box est allumée, je ne vois pas pourquoi l’opérateur changerait d’IP. Le seul truc chiant qu’il peut faire c’est partager les plages de ports, mais je ne sais plus s’il y a encore des opérateurs qui grattent là dessus pour économiser des IP.
Je suppose parce qu’un programme quelque part utilise ces DNS, ça a l’air d’être pasta.avx
. Sais-tu ce que c’est ? Je vois ceci : https://manpages.debian.org/testing/passt/pasta.avx2.1.en.html
Je sais qu’il y a des adresses de bootstrap ipfs dans la config par défaut du noeud, je les retire des datapods pour les remplacer par les notres, mais je n’ai jamais vu IPFS utiliser les DNS Google. @aya a fait les choses très prudemment en examinant systématiquement les connexions sortantes avant de les autoriser, donc on a vu exactement tout ce qui passait.
Oui, je me suis enmélé les pinceaux. Il me faut que je mette en place un endpoint p2p de boostrap basé sur le DNS, du fait des IP dynamiques.
Non. Mais ça semble venir de Duniter v2s, car ça partage le même PID.