在 wireguard 中无法访问某些 dns

在 wireguard 中无法访问某些 dns

我正在 Linux ubuntu20.04 服务器上使用 wireguard 实现 docker,正如其官方文档中所述https://github.com/linuxserver/docker-wireguard客户端无法访问某些网站,我收到以下错误:访问被拒绝您无权访问有谁知道为什么在官方 docker 的默认配置下会发生这种情况?

答案1

您需要PEERDNS=auto默认配置它使用主机的 DNS 服务器,但您可以尝试在其中输入公共 DNS,如 1.1.1.1

---
services:
  wireguard:
    image: lscr.io/linuxserver/wireguard:latest
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE #optional
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - SERVERURL=wireguard.domain.com #optional
      - SERVERPORT=51820 #optional
      - PEERS=1 #optional
      - PEERDNS=1.1.1.1 #optional
      - INTERNAL_SUBNET=10.13.13.0 #optional
      - ALLOWEDIPS=0.0.0.0/0 #optional
      - PERSISTENTKEEPALIVE_PEERS= #optional
      - LOG_CONFS=true #optional
    volumes:
      - /path/to/appdata/config:/config
      - /lib/modules:/lib/modules #optional
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

答案2

我尝试过使用不同的 DNS,无论是 1.1.1.1、8.8.8.8,甚至将值保留为自动,但我仍然无法通过 VPN 解析某些网站。我将留下一个无法加载的网站作为示例,以防有人想重现该错误:https://www.zara.com/这是我在 Ubuntu Server 20.04 和 22.04 环境中启动的配置,如 linuxserver 存储库中所示,其配置如下:

docker run -d
--name=wireguard
--cap-add=NET_ADMIN
--cap-add=SYS_MODULE #optional
-e PUID=1000
-e PGID=1000
-e TZ=Etc/UTC
-e SERVERPORT=51820 #optional
-e PEERS=1 #optional
-e PEERDNS=auto #optional
-e INTERNAL_SUBNET=10.13.13.0 #optional
-e ALLOWEDIPS=0.0.0.0/0 #optional
-e PERSISTENTKEEPALIVE_PEERS= #optional
-e LOG_CONFS=true #optional
-p 51820:51820/udp
-v /etc/wireguard/config:/config
-v /lib/modules:/lib/modules #optional
--sysctl="net.ipv4.conf.all.src_valid_mark=1"
--restart always
lscr.io/linuxserver/wireguard:latest

相关内容