We are running geth on Ubuntu in virtualBox on Windows for all hosts. We are all relative NOOBS on this although have successfully set up and transacted remotely already.
I have set up private blockchains on a local network and transacted between nodes. I also managed to get a private blockchain running between 2 remote hosts and was able to transact between these nodes. I've now extended the peers to 3 remote hosts and have started to run into problems. The node in London is able to recognise all peers. There are 2 nodes in Poland (on the same local network) these can all connect to London node and their local node. There are 2 nodes in NY on seperate machines and these can connect to London but not to anyone else.
The custom genesis blocks are the same across all peers. They are all synced with the blockchain so show the same blockNumber. We've tried launching the remote nodes with
--bootnode pointing to the london host and all are launching without
--nodiscovery so should be able to get the peers from the London host.
I think the issue is with the public port and listening port ids. My London host goes through a virgin router that only allows remote connection through port 8443 so I also set my listening port to 8443 when I launched geth. The remote peers generate a different port id within their remote addresses each time they connect to London which I think is related to their router set ups. see below for the remoteAddress peer information from London node. N.B. from the remote hosts the London remoteAddress is always 77.999.999.19:8443
we've tried admin.addPeer on the remote nodes with different port combinations
enode://pubkey1@ip1:port1?discport=remoteAddressPort without success. We've also tried using different listening ports on the remote nodes.
We've tried resyncing the clocks in the remote hosts to London timezone.
We've tried using
--extip when launching geth from the remote peers.
Why does the Listening port on the remoteAddress change when non London nodes connect to the London node.
How do we get the non London nodes able to recognise the other non London nodes.