Hi and thanks for your help.
I have a pretty besic router, so I can not install a VPN on the router itself.
I have a docker instance, that is running PiHole. The PiHole is configure as the networks DNS, while the router does DHCP.
Now instead of installing a VPN client on every of my devices I thought of deploying a VPN client on that docker instance and route all external traffic through the VPN like this: Client -> DNS -> VPN -> Router -> Internet
Is that even possible from a technical point? What do I need?
Could you get a different router as others have said? It would certainly give you more options.
I use a ubiquiti edgerouter lite and use either wireguard or the built in l2pp vpn, both on the router itself.
Not offering the perfect solution you were looking for, but if you’re still using the ISP router it might be worth it to upgrade that to something you can install custom firmware on that’s also relatively cheap like an asuswrt-merlin compatible device (I personally use an ASUS RT-AX86S).
That would allow you to have a guest wifi using YazFi that routes everything through a VPN of your choice and it would leave your regular wifi untouched. You can even use the DNS director to intercept all traffic on port 53 and reroute it to your pihole, including queries going out to 1.1.1.1 or other public DNS servers from apps trying to circumvent DNS blocks.
If I was to buy a new router, I’d buy something compatible with openwrt and install a openvpn client on that one. But I was wondering, if there was a way around that with my current hardware.
I essentially do this, though maybe not as complex as what you are looking for, with an ASUS router. I have NordVPN and some ASUS routers come with openvpn client installed out of the box; no custom firmware flash installed. I just generate a service token on the Nord website (it gives instructions on there), do a little configuring on the router based on their tutorials and boom- done.
Now every device that connects to the net via that router is automatically on the VPN.
I use Tailscale setup in a virtual machine for remote access to my LAN. They have really good documentation on their website for subnet routers.
I initially said the same thing but realized he wanted to send all his Internet traffic out of his network via a VPN. Not access his Internet from a VPN.
Spin up tailscale on whatever is hosting your pihole instance