Tailscale on XE3000 to route all traffic through remote MT3000 running tailscale

Same, it works but is excruciatingly slow.

Maybe mine is going through relays too? How can you tell? That would explain slow speeds.

You can do a traceroute / tracert from one device to the other and check the hops

Looks like mine is direct:

traceroute to 192.168.7.1 (192.168.7.1), 64 hops max, 52 byte packets
1 192.168.8.1 (192.168.8.1) 8.138 ms 2.926 ms 2.631 ms
2 192.168.7.1 (192.168.7.1) 110.967 ms 116.206 ms 114.027 ms

Not sure what has changed but now I am getting about 2/3 of my exit nodes bandwidth. I would expect close to 100% but I will take 2/3 if it stays at that. Yesterday I was only about ti get 1/7th.

I found a solution on the Reddit forums that works for me.

First setup your tailscale remote subnet router on the Mt3000 as usual. Thenā€¦

On the MT3000 Admin Panel
Under menu item System->Advanced
Go into the LUCI admin panel then select Network ā†’ Firewall.
By default, below you will see 3 zones:
- lan > wan
- wan > REJECT
- guest > wan
Click on ā€œEDITā€ on the second one ( wan > REJECT)
Then click on the second top tab ā€œAdvanced Settingsā€ and in the covered devices dropdown select tailscale0. Save, Save and apply.

Now you should be able to route your Mt3000 Wan traffic to the designated Tailscale exit node, and the devices on the MT3000 Lan will also be accessible to devices running on the Tailscale net

One slight bug. On the wan side you will not be able to reach the admin console of the MT3000 via tailscale even though it is included in the subnet routing address you setup And you will not be able to access the admin console of the MT3000 on the lan side unless you turn off Tailscale on your local lan device, which is fine since all traffic on the lan side is now going over the tailscale net to the exit node anyway.

4 Likes

Hi eveyone!

This mod worked for me, but I had to downgrade my Beryl AX to firmware version 4.45
The gl_tailscale file of current firmware versions is significantly different.

With current versions, like,

openwrt-mt3000-4.6.0-0524-1716546849.tar
openwrt-mt3000-4.6.0-op24-0607-1717745322.bin

I tried to modify the gl_tailscale file like this:


	if [ -n "$routes" ]; then
		param="--advertise-routes=$routes"
	else
		param=""
	fi
	
	if [ -n "$exit_node_ip" ];then
		add_exit_node_rule
		param="$param --exit-node-allow-lan-access --exit-node=$exit_node_ip"
	fi

	[ -n "$lan_ip" ] && add_policy_route $lan_ip

	[ -n "$wan_ip" ] && add_policy_route $wan_ip

	[ -n "$secondwan_ip" ] && add_policy_route $secondwan_ip

	[ -n "$wwan_ip" ] && add_policy_route $wwan_ip

	[ -n "$tethering_ip" ] && add_policy_route $tethering_ip

	add_guest_policy_route
	
	while [ -n "$(ip rule show priority 1)" ]
	do
		ip rule del priority 1
	done
	ip rule add from all to 192.168.8.0/24 lookup 55 priority 1  # 192.168.8.0/24 is your xe3000 lan ip                                                                                                                                                                                                                     
	timeout 10 /usr/sbin/tailscale up --advertise-exit-node --reset --accept-routes $param --timeout 3s --accept-dns=false > /dev/null
else
	while [ -n "$(ip rule show priority 1)" ]
	do
		ip rule del priority 1
	done                                                                                                                
	/etc/init.d/tailscale stop
fi

modify_dns_resolv $enabled

fi

No dice ...

Perhaps dengxinfa can help those of us not Linux versed (and me) posting a current version of his mod?

Thank you.