dennis-tra / nebula

🌌 A network agnostic DHT crawler, monitor, and measurement tool that exposes timely information about DHT networks.
Apache License 2.0
294 stars 30 forks source link

Does this crawler support crawler the node behind the NAT? #23

Closed yourmoonlight closed 1 year ago

yourmoonlight commented 2 years ago

Hi guys, this crawler looks amazing. I am curious about how do we crawl the node behind the nat?

dennis-tra commented 2 years ago

Hi @yourmoonlight, thanks!

Generally, this crawler does not crawl peers behind NATs as they are usually not publicly reachable.

If peers detect that they are behind a NAT device they start operating in DHT-Client mode. However, only DHT-Server nodes end up in routing tables which Nebula uses to recursively enumerate the DHT. So, the current implementation does not allow systematic crawling of DHT-Client nodes.

Please note, if there was a systematic approach to enumerate DHT-Client peers there are NAT hole punching mechanisms. See this recent blog post:

https://blog.ipfs.io/2022-01-20-libp2p-hole-punching/

I hope this has answered your question :)

yourmoonlight commented 2 years ago

Oh I see,gracias~