DNS over Wireguard not working

Hi, i have trouble to become DNS working with the lsio wireguard container.

In detail. After a successful handshake with the wireguard container. I am not able to reach any Website from the client via Browser. If i try to reach any internal services e.g. Adguard Admin Site via IP-Adress that works. That brings me to the conclusion i have a DNS Problem.

Here is my docker-compose file:

version: "3.6"
services:
  wireguard:
    image: ghcr.io/linuxserver/wireguard:latest
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=13000
      - PGID=13000
      - TZ=Europe/Berlin
      - SERVERURL=[replaced with real url]
      - SERVERPORT=51820
      - PEERS=5
      - PEERDNS=auto
      - LOG_CONFS=false
      - INTERNAL_SUBNET=10.0.2.0/24
#      - ALLOWEDIPS=0.0.0.0/0 #optional
    volumes:
      - /home/wireguard/config:/config
      - /lib/modules:/lib/modules
    ports:
      - 13000:51820/udp
#    sysctls:
#      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

Additional information:

  • I running a adguard container on the same host. My router is configured to handle the DNS queries over that container.

What i have done so far:

  • Playing with the PEERDNS Parameter. Setting it to the host IP, container IP of the adguard container and to the IP of my router.
  • Patching the resolv.conf via volume to the wireguard container. The same resolve.conf from the host, where DNS is working fine.

I’am running out of ideas. Maybe someone has some ‘hint’?

I would suggest to analyse dns traffic request & response by taking tcpdump. Both in container as well as in host.