-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
to investigate: discv5 and private IPs #1493
Comments
Could be a way to keep the routing tables cleaner (wdyt @kaiserd?), but wouldn't the current behaviour be that these gets removed from the routing table in any case if not pingable? I guess that nodes within that local network would continue keeping these unreachable addresses in their routing table, though... |
Correct me if I'm wrong but afaik an ENR can only have one IP field or? So not sure what you mean by selecting the most external, if the record just has one. An option could be to not even try to dial a peer containing a private ip in its multiaddress. |
By selecting the most external IP i mean to choose the which IP will go into the ENR to be advertised in discv5. This is probably a go-waku specific behavior: nodes can have multiple addresses. For example right now my desktop client has the following multiaddreses since i have UPnP enabled:
So to build the ENR from these multiaddresses i chose the most external one, which is the one represented by the last multiaddress. If i'm behind a firewall I have even more multiaddresses due to Circuit Relay:
Handling these circuit relay addresses is being discussed in #1491 |
@jm-clius is this issue still relevant to pick up for nwaku? |
Based on the work done here: nwaku/apps/wakunode2/internal_config.nim Line 87 in 3bbe234
|
Currently both nwaku and go-waku will dial to a peer using the IP information received from ENR. Although in go-waku I try to avoid this by selecting the most external address for the ENR record, it still could happen that some of these records might contain unreachable local network IPs. Should we filter the discovered records so only those that contain at least one external addresses are allowed? for local network discovery we could use instead mDNS discovery
(I'm not sure if this issue should have been opened here or in vacp2p/rfc)
The text was updated successfully, but these errors were encountered: