dvpn-node icon indicating copy to clipboard operation
dvpn-node copied to clipboard

EOF on Speedtest when starting node

Open MathNodes opened this issue 2 years ago • 1 comments

Describe the bug A few users are experiencing issues with exactly one of their nodes after stopping it and restarting it. The error is an EOF immediately after beginning the Speedtest with speedtest.net

To Reproduce Run the node

$ docker run --rm     --interactive     --tty     --volume ${HOME}/.sentinelnode:/root/.sentinelnode     --volume /lib/modules:/lib/modules     --cap-drop ALL     --cap-add NET_ADMIN     --cap-add NET_BIND_SERVICE     --cap-add NET_RAW     --cap-add SYS_MODULE     --sysctl net.ipv4.ip_forward=1     --sysctl net.ipv6.conf.all.disable_ipv6=0     --sysctl net.ipv6.conf.all.forwarding=1     --sysctl net.ipv6.conf.default.forwarding=1     --publish 52618:52618/tcp     --publish 20640:20640/udp     sentinel-dvpn-node process start
2022-09-20T04:22:44Z INF Reading the configuration file path=/root/.sentinelnode/config.toml
2022-09-20T04:22:44Z INF Validating the configuration data={"chain":{"gas":200000,"gas_adjustment":1.05,"gas_prices":"0.1udvpn","id":"sentinelhub-2","rpc_address":"https://rpc.mathnodes.com:443","simulate_and_execute":true},"handshake":{"enable":true,"peers":8},"keyring":{"backend":"file","from":"PoincarePostulate"},"node":{"interval_set_sessions":120000000000,"interval_update_sessions":6900000000000,"interval_update_status":3300000000000,"listen_on":"0.0.0.0:52618","moniker":"Poincaré Postulate","price":"1261247udvpn,728ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518,53427ibc/B1C0DDB14F25279A2026BC8794E12B259F8BDA546A3C5132CCAEE4431CE36783,65ibc/A8C2D23A1E6F95DA4E48BA349667E322BD7A6C996D8A4AAE8BA72E190F3D1477,902ibc/31FEE1A2A9F9C01113F90BD0BBCCE8FD6BBB8585FAF109A2101827DD1D5B95B8","provider":"","remote_url":"https://poincare.mathnoders.com:52618"},"qos":{"max_peers":250}}
2022-09-20T04:22:44Z INF Creating IPv4 pool CIDR=10.8.0.2/24
2022-09-20T04:22:44Z INF Creating IPv6 pool CIDR=fd86:ea04:1115::2/120
2022-09-20T04:22:44Z INF Initializing RPC HTTP client address=https://rpc.mathnodes.com:443 endpoint=/websocket
2022-09-20T04:22:44Z INF Initializing keyring backend=file name=sentinel
Enter keyring passphrase:
2022-09-20T04:22:45Z INF Querying account address=sent1j5x0k2kzuq87sjg2vs66drkyl8zyc3tgx3sj8r
2022-09-20T04:22:46Z INF Fetching GeoIP location info...
2022-09-20T04:22:46Z INF GeoIP location info city=Paris country=France
2022-09-20T04:22:46Z INF Performing internet speed test...
Error: EOF
$

Expected behavior For the Node to run as prior to restarting it. It seems there is a problem Fetching the servers in utils/speedtest.go This might be a speedtest thing, but I dunno, since it works on all other nodes. It could be a host problem on our end.

Desktop (please complete the following information):

  • OS: Ubuntu 20.04
  • Version: v0.3.2

Additional context I successfully spun up a new node and everything worked. It is just on exactly one node for many users. I downloaded the speedtest CLI by Okala and that did work.

MathNodes avatar Sep 20 '22 04:09 MathNodes

any news?

kfmg avatar Oct 07 '22 13:10 kfmg

Same for me since a few months. Config: Debian 11 My only node get stuck. I tried to reinstall it from scratch and it does not improve. It seems it is only for French nodes.

0xc00c avatar Jan 20 '23 05:01 0xc00c

I think this is an issue with speedtest-cli software since the dVPN node software uses it.

I tried to use the speedtest-cli (pip install speedtest-cli or sudo apt install speedtest-cli) on a server that is located in France and it didn't work. Said it couldn't connect to speedtest.net server. I think this issue is directly isolated to nodes in France.

The github https://github.com/sivel/speedtest-cli says that they will not fix any issues any more. Maybe adopt the speedtest.net CLI in future dVPN node releases??

MathNodes avatar Jan 20 '23 05:01 MathNodes

Yes, that is what they told me this summer but no fix since then :-(

0xc00c avatar Jan 20 '23 05:01 0xc00c

Maybe we should ping them on twitter: https://twitter.com/speedtest

MathNodes avatar Jan 20 '23 05:01 MathNodes

The CLI works for me. I installed it using

sudo apt-get install curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest

0xc00c avatar Jan 20 '23 05:01 0xc00c

Yeah Sentinel should use this one going forward. I think (not sure though), they are are using that github speedtest-cli version

MathNodes avatar Jan 20 '23 05:01 MathNodes

Figured it out. It's a IP ban from speedtest.net -

IN speedtest-cli at line 1447 it calls a routine to get the servers from speedtest.net which can be traced back to line 1261 where it requests the server information to preform a speedtest from the url http://c.speedtest.net/speedtest-servers-static.php

running curl http://c.speedtest.net/speedtest-servers-static.php from any of my three Paris, France servers gives the same response:

$ curl http://c.speedtest.net/speedtest-servers.php
<html><head><title>Too Many Requests</title></head><body><h1>429 Error - Too Many Requests</h1><p>Your IP address is making too many requests. We ask that you limit requests to no more than 1 per second.</p><p>We make an attempt to be flexible, allowing small bursts in traffic. You have exceeded this threshold however and have been blocked.</p><p>Please reduce the speed at which your requests are made and try again after a while. If you feel you have reached this message in error, please contact us at noc @ speedtest.net and reference this error code.</p><p>Thank you</p></body></html>

I'm going to e-mail speedtest as they provided me their e-mail on twitter.

MathNodes avatar Jan 21 '23 06:01 MathNodes

Same error from my node. I get a correct list from another country. So they blocked all French IPs it seems.

0xc00c avatar Jan 21 '23 06:01 0xc00c

Sentinel uses https://github.com/showwin/speedtest-go/ And in https://github.com/showwin/speedtest-go/blob/e55185e1a09e7a176b9a545fcf619246c99f24fc/speedtest/server.go#L20 they use https://www.speedtest.net/speedtest-servers-static.php

0xc00c avatar Jan 21 '23 06:01 0xc00c

Solved with last release! 2023-01-30T17:10:50Z INF GeoIP location info city=Paris country=France 2023-01-30T17:10:50Z INF Performing internet speed test... 2023-01-30T17:10:57Z INF Internet speed test result data={"download":"108769596","upload":"62890154"}

0xc00c avatar Jan 30 '23 17:01 0xc00c

Yes. This was fixed in 0.4.0. I will close it now. Good work!!!

MathNodes avatar Feb 02 '23 03:02 MathNodes