-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
The Autonat manager should test the public IP with the tcp/udp listen ports #789
Comments
https://github.com/libp2p/go-libp2p-autonat-svc/issues/34 (but your issue is better) |
You cannot access the open port 4001 under non-public network nodes.
If other pc want to connect your pc. So this should only be detected when the Router or YourPC is on the public network |
ipfs id Now, besides setting announcement, are there any other methods that can be added actively? I don't want to give up address autodiscovery |
Reproducing ipfs/kubo#7621 here. I got the port forwarding set on the router, but libp2p made up its own. Not a big deal except for, well, the fact that it's random (so people can't remember my node or something) when I got a perfectly fixed one. Announce somehow figured out the manually set 4001 UDP, but not the 4001 and 4002 TCP. Bummer. Oh and I don't have a static public ip nor do I have DDNS. |
@Artoria2e5 This will be fixed soon (in a couple of months). The team is now working on a new address pipeline (#2229), which will include AutoNAT v2 (libp2p/specs#503). |
Opening based on the memory of a convo with @Stebalien a couple of weeks ago.
Currently running a libp2p host on "/ip4/0.0.0.0/tcp/4001" inside a NAT with Autonat enabled does not automatically detect that the router port may have been manually open. The "/ip4/public_address/tcp/4001" addressed is becomes only part of the current host
Addresses
only after it has received several successful connections to it, however, since it is never among the official addresses provided on dhts or exchanged in Identify, that is unlikely to happen.For the history of p2p (eMule, Bittorrent, some multiplayer games...), users have simply gone and opened the necessary ports on the routers, rather than relying on upnp etc.. However libp2p autonat components do not check at all if the peers are reachable on the public IP+default listen port, which is actually likely.
What is also very easy is to tell users with NAT problems that they should just open port 4001 in their routers and things will work. We cannot tell them this at the moment and that sucks for them and for us.
The current workaround is to manually set the announce addresses, but that prevents the parts of the address-autodiscovery that work (i.e. LAN interfaces etc).
The text was updated successfully, but these errors were encountered: