My daily work requires a better network connection to overseas resources, like Microsoft Azure global, Intune, Citrix etc. which do not have datacenters in the mainland China and whose performance can be affected quite easily by the network congestion around the border between the country and overseas, so a dedicated line or a virtual private network to somewhere outside China before hitting these resources is quite important to me, especially when I work from home. I have been trying to find out a better solution, most of which focuses on the endpoint client side, like Windows PC, Mac or mobile devices, but last year I heard about the support of Astrill on routers, like DD-WRT routers, I thought maybe I can give that a try.
Time flies and a few months passed before I could really start investigating the possibility of setting up a DD-WRT router with Astrill applet installed to provide better network performance to overseas resources. Last month I bought a second hand small x86 machine with 4 Ethernet ports and put inside a 32 GB hard drive and 8 GB RAM I took out from some previous machines. Then I went to the DD-WRT website DD-WRT and read through the instructions on how to install the firmware and configure the router. It was not that complicated for the installation and configurations, mainly finding the compatible firmware image and the upgrade file and then setting up the basic network configurations after the installation, quite straightforward. I got the router running and could do the normal network surfing just like when I connected to any other routers.
So the next step is the Astrill applet and that’s when things started getting complicated. I followed the instructions from Astrill on how to install the applet on DD-WRT and got it installed successfully, but when I tried to connect from DD-WRT, I got the error like this:
Hmm, the error message does not make much sense to me and I did some searches from both Google and the DD-WRT forum and still could not get a clue of the root cause and how to fix it, so I reached out to the Astrill support and Astrill support said it’s because of my hardware does not support DD-WRT. It’s true that I can not find this specific hardware/router model from the list of supported routers in DD-WRT website, but I think when it comes to x86, most of the use cases are from intel based machines, instead of real routers, maybe even just personal computers with more than one Ethernet card and I already got it working on my machine. I didn’t get much helpful information from Astrill support, so I need to figure it out myself before giving up.
For the past two weeks, I did some more searching from different forums and thought it might be because of the firmware version as some other DD-WRT users mentioned. I installed the latest firmware but it seems Astrill development team is not updating their product to support the newer versions very proactively. OK, let’s try it!
I downloaded a version from 2021 which some other DD-WRT users confirmed working with Astrill applet and upgraded the firmware of my x86 machine to that version, but I made a mistake by installing Astrill applet before installing the webupgrade bin file for this older version firmware and the router won’t boot successfully any more. It does not provide network services to the Lan ports and itself is not functioning normally as it can not resolve any addresses and has no internet access at all as ping is not working either. Hmm, something I didn’t want happened…
I tried some troubleshooting steps by accessing the console directly and it didn’t help much. So I guess the only option for me is to reinstall the firmware from fresh start. I ordered the reader of msata drives which is the one I put to this x86 machine and will try to install the firmware freshly new when I receive that reader and see how it works.