OK it seems that itâs not possible to setup an IPFS private network across the internet. As far as I can see the same thing occurs in an ipfs-cluster.
Both of them have been designed for intranets and local organization networks, right?
Yes @leerspace these are the exact steps I follow. The whole idea of IPFS is to not making extra configuration of port forwarding, etc. Anyways, it seems that this kind of feature (private networking) is not that mature yet, Iâll have to look for another decentralized framework. However, thanks for you response!
While I donât agree that this is the whole idea of IPFS (but helps adoption and usability), using it with default settings generally doesnât require any additional configuration for most users. For the advanced (and currently experimental) case of setting up your own private network, I donât think itâs unreasonable to expect a little bit of configuration; and this case it seems to only be required because the bootstrap node doesnât have a public IP address thatâs reachable from the other node.
Even as private networking matures, Iâm not sure how it can possibly get around the fact that bootstrap nodes need to be reachable from the nodes trying to join the network.
I donât know if itâll do what your looking for, the configuration doesnât look as easy, and Iâm sure your nodes will still need to be able to reach each other over the network, but you might be interested in Camlistore â which is similar to IPFS in some ways but seems more geared towards personal storage. Hopefully you find something that works for your use case.
Hi @mariosk, your ipfs/ipfs-cluster nodes need to be able to reach each other across the internet for a private network.
The whole idea of IPFS is to not making extra configuration of port forwarding, etc
Thatâs not accurate. When you start an ipfs node, it will contact one of the public bootstrap servers which in turns figures out your nodeâs external IP and does some basic NAT hole punching for you. If you run a private network, you need to at least bring up a reachable bootstrap server for it.
In regards to ipfs-cluster, all peers in the cluster should be able to reach each others and will possibly work better if ipfs daemons in it can do so as well.
Iâm using IPFS in conjunction with tinc. Setting it up with the swarm.key and LIBP2P_FORCE_PNET=1, so far no issues. Also, not sure if swarm_key is a typo on your side, but mine is swarm.key, not swarm_key.
Hi
I am really interested in this discussion on âdo things need to be configuredâ to obtain a private network. I canât work out whether you got the question answered from above. Just curious.
Hi @ChristopherTownsend, well the response is that the private networking feature works fine for a real private and local network. If you want to make it work with public internet interfaces you should do manual configurations like port forwarding, NAT, etc.
Is there a formal definition of an IPFS bootstrap node? Or even just a 1 paragraph description of what such a node does (itâs role in an ipfs network).
I donât think the IPFS bootstrap nodes are a whole lot different than whatâs described in the relatively short bootstrapping node article on Wikipedia. My understanding of IPFS bootstrap nodes is that by default, any regular IPFS node can be a bootstrap node by helping nodes connecting to it find other peers in the swarm to connect to.
Yes, ipfs default bootstrap nodes are just regular ipfs daemons that the IPFS team keeps running and available. You can change the list of bootstrap nodes to other, they do nothing special, but peer discovery might take longer then. Also, ipfs does mDNS discovery on the local network so if there are other nodes running nearby, it might just connect without even needing an explicit bootstrap.
Thanks for the responses to my question (edit: and I hope Iâm not jacking this thread).
So am I understanding correctly that if I set up a private IPFS network, any node can act as a bootstrap node as long as itâs running? I donât need to do anything special other than run the IPFS daemon on it?