Tailscale exit node with PiHole works on Windows but not Linux

I have tailscale set up on a device with pihole that is in charge of dns resolution for my services. I have 2 other tailscale devices, a windows machine and a linux machine. I’ve made sure to have my pihole’s tailscale ip be the global nameserver, and have “Override local dns” turned on. Also made sure to advertise the proper routes. Everything works fine on my Windows machine: the dns resolves properly and stuff. But for some reason, it doesn’t work on my linux machine. The dns resolves, but it seems like I can’t get any information from my network. It never returns anything. I’ve tried the ip addresses directly, and those don’t work either, which means that it’s not a dns lookup issue, but perhaps an exit node issue?