Peers in public cannot see each others

I am setting up an IPFS private network as below

  1. I have one bootstrap node on AWS
  2. Two computers on the same LAN and one public computer
  3. All (4 nodes) share the same swarm.key and disabled firewall
  4. 3 nodes directly connect to bootstrap node

My problem is:
Two/all nodes LAN can see each others BUT all peers in public cannot see each others (ipfs ping, ipfs swarm connect)

So is this IPFS limitation or my setup problem? Please help me on this

You can try holepunching, but it’s unlikely to work if your network is so small.

The DHT will also have issues because on small network it is important that most nodes can see each other.

1 Like

Hey mate, thank you for your reply.
I have tried hole punching and idea around that.

Currently I encounter an error name HOP_CANT_SPEAK_RELAY, do you have any information regarding this?

I set up an IPFS Private network with one replay server and 2 PCs (sharing the same swarm.key)
On relay server, i did
Swarm.RelayService.Enabled) => true
Swarm.RelayClient.Enabled) => false

On 2 PCs behind NAT (+ turned of firewall too), i did
Swarm.RelayService.Enabled) => false
Swarm.RelayClient.Enabled) => true

Server: 12D3KooWR9zzY5ZZnKyvwm5cKTxexPFQ4DZCypAtqZ1sHDm2GtqP
PC1: 12D3KooWGD5myqbSM1YQp7Sb3ot4UCAAF7wiEwcN24xC8B8pNJxe

On PC1 i did
ipfs ping /ip4/

Here is the error i got: HOP_CANT_SPEAK_RELAY
Full error message:
Ping error: failed to dial 12D3KooWFg9ApLqQiTdkaGhgFNTWFsiRMCSDGCQgZ1RuBwSMXAmS:

  • [/ip4/] error opening relay circuit: HOP_CANT_SPEAK_RELAY (270)
    Error: ping failed

aren’t you running an IPFS version that is too old and doesn’t have Circuit V2 support ?

Hi @Jorropo ,
My server is version 11 while 2 of my testing PCs are version 12. Which means they support Circuit V2.
I will try to upgrade my server to version 12.
But do you have any other ideas for my error?

no I do not sorry

(random things so I can go over the stupid 20 char limit)