Unbound DNS server can be used for a VPN. It can cache and improve your network speed. And options can be added for security and removing things.
Here is a simple configuration of with some comments.
server: verbosity: 1 num-threads: 4 interface: 127.0.0.1 interface: ::1 interface: [vpn server ip] # Control access to the server (really just allow vpn access) access-control: 0.0.0.0/0 refuse access-control: 127.0.0.0/8 allow access-control: ::0/0 refuse access-control: ::1 allow access-control: ::ffff:127.0.0.1 allow access-control: [vpn server ip].0/24 allow # some security things hide-identity: yes hide-version: yes harden-short-bufsize: yes harden-large-queries: yes harden-glue: yes harden-below-nxdomain: yes # Don't resolve private addresses private-address: 10.0.0.0/8 private-address: 10.0.0.0/8 private-address: 172.16.0.0/12 private-address: 192.168.0.0/16 private-address: 169.254.0.0/16 private-address: fd00::/8 private-address: fe80::/10 private-domain: yourdomain.example # speed improvements prefetch: yes prefetch-key: yes # enable DNSSEC: auto-trust-anchor-file: "/var/lib/unbound/root.key"