Skip to content
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

ERROR: Failed to find any peer in table #25

Closed
aabbtree77 opened this issue Aug 21, 2022 · 5 comments
Closed

ERROR: Failed to find any peer in table #25

aabbtree77 opened this issue Aug 21, 2022 · 5 comments
Labels

Comments

@aabbtree77
Copy link

Somehow I cannot get this work even locally, perhaps I am missing something trivial:

PCA:

tokyo@tokyo-Z87-DS3H:~/edgevpn$ sudo IFACE=edgevpn0 ADDRESS=10.1.0.3/24 EDGEVPNCONFIG=config.yaml ./edgevpn
INFO edgevpn Copyright (C) 2021-2022 Ettore Di Giacinto
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.
INFO Version: v0.15.3 commit: 9307c34
INFO Starting EdgeVPN network
INFO Node ID: 12D3KooWJmkQSCRmbUBuRMjSe34Ugx51ZgDGkv2AEX62cf1qodVp
INFO Node Addresses: [/ip4/192.168.1.105/tcp/40471 /ip4/127.0.0.1/tcp/40471 /ip6/::1/tcp/32857]
INFO Bootstrapping DHT
ERROR failed to find any peer in table
2022/08/21 13:13:51 failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details.

PCB:
yoko@yoko:~/edgevpn$ sudo IFACE=edgevpn0 ADDRESS=10.1.0.4/24 EDGEVPNCONFIG=config.yaml ./edgevpn
INFO edgevpn Copyright (C) 2021-2022 Ettore Di Giacinto
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.
INFO Version: v0.15.3 commit: 9307c34
INFO Starting EdgeVPN network
INFO Node ID: 12D3KooWGUNFWqw6yHug1vSkrue7bWnQukFaU9oJSYDtukPFLFWj
INFO Node Addresses: [/ip4/192.168.1.106/tcp/34943 /ip4/127.0.0.1/tcp/34943 /ip6/::1/tcp/40675]
INFO Bootstrapping DHT
ERROR failed to find any peer in table
2022/08/21 13:14:07 failed to sufficiently increase receive buffer size (was: 160 kiB, wanted: 2048 kiB, got: 320 kiB). See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details.

Prior to these runs I generated the file config.yaml with "edgevpn -g > config.yaml" on PCA and then sent myself this very same config file to PCB via email and copied it into PCB's edgevpn folder from which I run the program (exactly the same config file sits on both PCs).

Both nodes have been running without further progress over 30 minutes. PCB is a very old 2GB RAM 32 bit machine running Ubuntu 18.04 (Mate), while the config I generated on PCA which is 16GB RAM on a 64 bit Ubuntu 22.04.

I might test this with hyprspace and report back. The motivation to use edgevpn over hyprspace was that you provided 32bit binaries, kudos for that, which I could not get for hyprspace, but I will try compiling the latter manually and will report back if there is a progress.

@mudler
Copy link
Owner

mudler commented Aug 21, 2022

Hi @aabbtree77, thanks for opening an issue!

Can you try to catch logs with log-level set to debug? from a first sight it looks like it's not able to connect to the bootstrap servers. Also trying to increase the UDP Receiver Buffer size before running edgevpn as described in https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size should help as well.

That being said, I've been running this on armv7 just fine (32bit arm, rpi2), connecting it also with 64bit PCs

@aabbtree77
Copy link
Author

It all works, thank you for your excellent work. I simply ran

sudo IFACE=edgevpn0 ADDRESS=10.1.0.3/24 EDGEVPNCONFIG=config.yaml ./edgevpn --log-level debug

and was able to see that this is the program continuously running with its debug/info stdout being spit into the same terminal which confused me at first without that log-level debug. I would previously run hyprspace which goes into daemon mode upon connection and allows ping/ssh in the same window. So in this case I simply opened another terminal window and let my ping/ssh run there, et voila. The case of standard vs daemon mode.

Please do not close this issue yet as next week I am planning to test the hole punching capacity of edgevpn on a hard NAT case that I have. The situation at the moment is as follows:

  • LAN: ping and ssh work fine.
  • PCA is on a mobile hotspot from "telia.lt wireless ISP", PCB - "skynet.lt wired ISP": Perfect.
  • PCA on "telia.lt wireless ISP", PCB - "mezon.lt wireless ISP": Tough case, to be tested within a few days, could not get this work with hyprspace today.

I could also mention for someone new like me here that a lot goes on under the hood in this software (static relay discovery? bootstrap nodes? dial/self dial?), there is quite a list of concepts/flags/parameters to follow.

Running edgevpn without --log-level debug is somewhat confusing as it spits that initial error and does not display much else afterwards, which is psychologically devastating :), while in the debug mode one sees a full program flow: It goes on with multiple tries and connects to some bootstrap nodes and all the nodes announce their presence/reachability with a success not seen in the non-debug mode which just ends its stdout with: (i) an error which is just a normal program behavior, and (ii) a warning about some parameter of a minor/secondary effect it seems.

One difference that I can observe with hyprspace is that the duration of the initial phase (establishment of the P2P connection within a VPN) in my case may take 1-2 minutes with the edgevpn while it takes about 20s. with hyprspace, though this hardly matters. I would tolerate a much longer P2P establishment time provided the code can punch through more difficult cases.

@mudler
Copy link
Owner

mudler commented Aug 21, 2022

thanks @aabbtree77 those are valid point indeed, I'd move the issue to the UX category.

UX needs quite some polishment - I'd suggest https://github.com/mudler/edgevpn-gui or browse the webui ( you need to run it with the --api flag ) at http://localhost:8080 after you run it.

Let me know how it goes with your experiments, I'm very curious! I've been using it successfully with chained NAT network, and also behind QEMU user network mode as well with success, without the need to tweak the default settings.

@mudler mudler added the ux label Aug 21, 2022
@aabbtree77
Copy link
Author

I can attest that EdgeVPN works in all my cases:

  • LAN: ping and ssh.
  • PCA is on a mobile hotspot from "telia.lt wireless ISP", PCB - "skynet.lt wired ISP".
  • PCA on "telia.lt wireless ISP", PCB - "mezon.lt wireless ISP".

The last one is an unusual network, the ISP assigns a temporal IP address from some place much further away from where I reside, after an established connection (via EdgeVPN) pinging shows very long ETA values for the 64 byte packets, like 1500-1700 ms. or even bigger values. That mezon.lt node provides some MB/s speed, but the VPN connection becomes that slow, albeit usable, for me.

It is to be noted that I could not get Remmina with port forwarding connect to anything there for months, nor hyprspace could do the job in this hard case (changed its port numbers to no avail and that's it). EdgeVPN established the connection and I could ssh remotely and run Ubuntu commands via this VPN. It can be slow, but it punches through, hats off.

@mudler
Copy link
Owner

mudler commented Aug 22, 2022

Awesome, glad to hear! if you like the project, please support it by giving it a star , thanks !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants