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 @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.
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?