У меня уже есть 5 контейнеров, работающих на одном VPS:
Контейнер 1 указывает на traefik.xx.com (субдомен).
Контейнер 2 указывает на облако. &&. Com (субдомен).
Контейнер 3 указывает на api.xx.com (субдомен).
Контейнер 4 указывает на xx.com (основной домен)
Контейнер 5 указывает на oauth.xx.com (субдомен)
Шестой контейнер будет vpn.xx. com (субдомен)
Когда на моем телефоне, который в данном случае является клиентом или одноранговым узлом, отключена Wireguard VPN, я могу просматривать эти домены, и они доступны из любого места.
Однако, как только я запускаю Wireguard VPN на своем телефоне, который является клиентом или одноранговым узлом, эти домены недоступны, но я могу просматривать другие сайты, например google и youtube.Et c. Мои домены также доступны на других устройствах, на которых не запущен мой VPN-сервис Wireguard.
Мои настройки для 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
Я пытался запустить docker в сети хоста, используя network_mode: host
, он работает нормально, и я могу получить доступ к указанным выше доменам при использовании Wireguard VPN, но есть еще одна проблема, заключающаяся в том, что контейнер конфликтует с DNS-портом 53 на хосте, а в журнале Wireguard указано
Порт 53 уже используется.
Насколько я понимаю, вышеупомянутое работает, потому что DNS-контейнер не может работать, и вместо этого ему пришлось использовать DNS-сервер. Таким образом, решение будет заключаться в игре с iptables для перенаправления DNS контейнера на хост DNS и обеспечения полного контроля хоста DNS.
Не могли бы вы помочь мне с этим? Или есть у кого решение?