Hello!
Thank you very much for your detailed response. I have been checking everything you and the others have said, and seems like my naivety was the problem all along.
TLDR: Hosting (Hostiko) does shady practices and limits server bandwidth
Before getting to the solution, let me enumerate a list of things my friend who I work with and I have done over the past week:
Checked tor logs, hoping to find some error that told me that something was wrong with my tor setup (nothing was found!)
Checked zabbix metrics, but nothing out of the ordinary (also worth to mention that this was setup after the drop in consensus weight)
Tried to install vnstat from source and failed miserably, about 15 minutes into the "make install" it threw an error. I cleaned everything that was made (or so I thought) and installed it with pkg because I was too lazy to make the compilation work. Spoiler alert: I was getting tons of permission errors and similar with everything related to vnstat. I just let it be and assummed that zabbix would get me the same values that vnstat would.
Updated FreeBSD to the latest version (downloading everything was rather slow, hmm...)
Updated my tor relay to 0.4.8.11
Nothing worked, so as a last resort I checked the server bandwidth once more (this was already checked when I first got the server, and it was fine).
Speedtest reported around 3 Megabits per second. My friend also ran iperf and we got a similar result.
Anyway, I log into the customer area of the hoster and open a live chat. My message was the following:
> Hello! I am having issues with my server bandwidth. I should have something close to 200 mbit but I seem to be getting 3 mbit max
After a few minutes they get back to me with this response:
> Your server's speed has been limited because it is being used for traffic proxying. According to our policy, we restrict VPS that are used to hide the real address or to utilize our DDoS protection.
This message seemed a bit weird, mostly because I didn't really understand how did the know what I am using this server for. I am aware that there are several methods (checking the relay search, duh), but on their side I just supposed that they would see traffic from the port 443 and assume that I am hosting a website or something.
Then I remembered something strange that happened around the time that the consensus weight dropped.
My friend had setup an alert on every login on the system, and we got one at Thursday 0:33 (We both work, so at that time we are usually asleep already)
This login stood up a lot, but not because it was a root login (we only login with our users), but because of that specific IP, 178.250.189.20. A simple lookup tells us that it's related with the hosting. The ISP is MDCloud and the organization is Hostiko.
At the time we assumed that this happened because the server restarted and some service triggered the login alert.
Anyway, fast forward again to today, and I checked the root user command history and this is what we found:
The command history was disabled, then history was run again (I guess after whoever got into the server ran some commands) and exited.
This is extremely shady. I checked every log in the system, even the system mail where apparently I get daily and weekly security digests (which is just a log of failed logins and some updates recommendations) and could not find anything in that specific timeframe, it's like it never happened and it's all in my head.
Anyway, I'm not much of a confrontational person, so I just asked more about that limitation and how can it be. Unless I am missing something, their ToS has nothing against them. Their response:
> We do not prohibit VPNs or Tor middle nodes, but we limit network speed once the traffic exceeds the acceptable amount for your plan. In your case, we noticed that the server was used solely for proxying and exhibited an unnaturally consistent level of traffic (almost the same 24/7), so we have limited it.
Since we use more expensive DDoS protection in Germany and Poland, we are forced to take stricter measures. You can use our services in Ukraine, where we can apply more lenient policies. If this is unacceptable to you, we can also offer you a refund. We apologize for the inconvenience.
They offered a refund, and even for the whole three months. I already gave them my details, hopefully they keep their word on this at least.
I have backed up my relay keys, even though I'm not sure if I can trust them anymore. My next step currently would be to decide on a new hosting provider.
I will also try to update the Good Bad ISP table.
Thank you very much again!
Regards.