dvpn-node
dvpn-node copied to clipboard
EOF on Speedtest when starting node
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.
any news?
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.
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??
Yes, that is what they told me this summer but no fix since then :-(
Maybe we should ping them on twitter: https://twitter.com/speedtest
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
Yeah Sentinel should use this one going forward. I think (not sure though), they are are using that github speedtest-cli version
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.
Same error from my node. I get a correct list from another country. So they blocked all French IPs it seems.
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
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"}
Yes. This was fixed in 0.4.0. I will close it now. Good work!!!