Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

What's the recommended way of dealing with node connectivity/identity issue caused by IP reused in a private network? #5015

Closed
ghost opened this issue Feb 20, 2020 · 2 comments

Comments

@ghost
Copy link

ghost commented Feb 20, 2020

Hi,

What's the recommended way of dealing with connectivity/identity issue caused by IP reused in a private network such as Kubernetes?

For example, given two Substrate nodes alice and bob running and talking to each other, then bob goes away, then a new node charlie comes in using bob's old IP address, but alice will refuse to talk to charlie because the IP address was associated with bob's peer ID, not charlies.

This is a potential issue in Kubernetes as when pods or the underlying machines get restarted, they may get assigned such an IP that will trigger this issue. What's the recommended way of dealing with this?

Thanks.

@tomaka
Copy link
Contributor

tomaka commented Feb 21, 2020

There shouldn't be any problem caused by bob and charlie sharing the same IP.

What probably happen in your situation is that according to alice, charlie doesn't exist.
alice continues to try to contact bob and finds a man-in-the-middle (charie) instead, but she isn't smart enough to realize that this man-in-the-middle (charlie) should also be part of the network.
If, however, she learned about charlie's existence through the discovery process, then she would connect to it.

Alternatively, might also be a duplicate of #4272

@ghost
Copy link
Author

ghost commented Feb 23, 2020

I can confirm charlie was part of the network initially but restarted and received bob's old IP, looks to be a duplicate of #4272 indeed based on the behavior observed. I'll add some info to that issue instead, thanks.

Duplicate of #4272

@ghost ghost closed this as completed Feb 23, 2020
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant