我已经在同一个 VPS 上运行了 5 个容器:
容器 1 指向 traefik.xx.com(子域)。
容器 2 指向 cloud.&&.com(子域)。
容器 3 指向 api.xx.com(子域)。
容器 4 指向 xx.com(主域)
容器 5 指向 oauth.xx.com(子域)
第六个容器是 vpn.xx。com(子域)
当我的手机(在本例中是客户端或对等方)上的wireguard VPN 关闭时,我可以浏览这些域,并且可以从任何地方访问它们。
但是,一旦我开始在作为客户端或对等方的手机上运行 Wireguard VPN,这些域就无法访问,但我可以浏览其他网站,例如 google 和 youtube.Etc。我的域也可以在其他没有运行我的wireguard vpn的设备上访问。
我对 docker-compose.yml 的设置:
services:
wireguard:
image: linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
# - SERVERURL=wireguard.domain.com #optional
- SERVERPORT=51820 #optional
- PEERS=1 #optional
- PEERDNS=8.8.8.8, 8.8.4.4 #optional
- INTERNAL_SUBNET=10.13.13.0 #optional
volumes:
- ./config:/config
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
我尝试在主机网络上使用network_mode: host
docker 运行,它工作正常,我可以在运行 wireguard VPN 时访问上述域,但还有另一个问题是容器与主机中的 DNS 端口 53 冲突,并且登录wireguard 说
端口 53 已在使用中。
就我而言,上述工作是因为容器 DNS 无法工作,它必须改用主机 DNS。所以解决方案是使用iptables将容器的 DNS 转发到主机 DNS 并使主机 DNS 完全控制。
你能帮我解决这个问题吗?或者有人有解决方案吗?