我正在 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