I have recently acquired a Beryl travel router, and so far I am happy with it! I have been wanting to setup WireGuard, but since my ISP is blocking/filtering traffic, I have resolved to use Tailscale on the stock OpenWRT of the Beryl. But whereas the router + clients are able ping/get pinged to/from other machines in the Tailscale network, I am not able to setup the router to use an Exit Node.
- Beryl Subnet: 192.168.8.0/24
- Beryl IP: 192.168.8.1
Tailscale on OpenWRT
As pointed in this post, there’s some policy incompatibility between Tailscale and mwan3. Thankfully, a fix was provided by Ryanc, and it helped me to rebuild a patched version of release 1.24.2 (mipsle).
Then, I uploaded the tailscale and tailscaled binaries to the /tmp folder of the Beryl. Inspired by this project.
Finally, I launched tailscaled, then tailscale from /tmp.
The application runs:
root@GL-MT1300:/tmp# ./tailscale-1.24.2_mipsle version 1.24.2 tailscale commit: dce2409b15837f30885405b8b1d27e7b7fd6bf7a-dirty go version: go1.18.1-ts710a0d8
Let’s connect from Beryl:
root@GL-MT1300:/tmp# ./tailscale-1.24.2_mipsle up --advertise-routes=192.168.8.0/24
Connection from RPi 4:
pi@raspberry$ sudo tailscale up --accept-routes --advertise-exit-node
Of course, configurations are approved and enabled in the Tailscale portal.
Beryl -> RPi 4
root@GL-MT1300:/tmp# ./tailscale-1.24.2_mipsle ping raspberrypi pong from raspberrypi (100.x.x.13) via 192.168.1.76:41641 in 4ms root@GL-MT1300:/tmp# ping 100.x.x.13 PING 100.x.x.13 (100.x.x.13): 56 data bytes --- 100.x.x.13 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss
RPi 4 -> Beryl
pi@raspberrypi:~ $ tailscale ping gl-mt1300 pong from gl-mt1300 (100.x.x.101) via 192.168.1.79:49724 in 4ms pi@raspberrypi:~ $ ping 100.x.x.101 PING 100.x.x.101 (100.x.x.101) 56(84) bytes of data. --- 100.x.x.101 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss
Connectivity with the router is lost (SSH + GUI) when trying to setup an Exit Node with Tailscale on the Beryl with stock OpenWRT. Hence, all traffic is interrupted and the purpose of having all Beryl clients Internet traffic routed to the RPi 4 is not met.
It happens when I am running the following command:
root@GL-MT1300:/tmp# ./tailscale-1.24.2_mipsle up --advertise-routes=192.168.8.0/24 --exit-node=100.x.x.13
Here’s a screen capture of the CLIs when the issue occurs after running the command above:
- Trying to set the Exit Node with tailscale.
- Instruction received by tailscaled.
- Unable to ping the Beryl machine after the command execution.
To restore the access to the router, I have to plug out the power-supply, then plug it in. I have also tried pressing the reset button once or for three seconds does not help. Pressing for 10 helps but I have to setup everything from scratch.
That’s all for the background explanation. If you have any questions, please let me know and I’ll try to answer as best I can
Does anybody have had that issue, and knows a fix maybe to have the Exit Node setup working?
Thank you very much!