Проблема с Linuxserver / Wireguard при доступе к моему собственному домену

У меня уже есть 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.Etc. Мои домены также доступны на других устройствах, на которых не работает мой 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

Я попытался запустить докер в сети хоста с помощью network_mode: host, он работает нормально, и я могу получить доступ к указанным выше доменам при запуске Wireguard VPN, но есть еще одна проблема, заключающаяся в том, что контейнер конфликтует с DNS-портом 53 на хосте и в журнале Wireguard говорится

Порт 53 уже используется.

Насколько я понимаю, вышеизложенное работает, потому что DNS-контейнер не может работать, и вместо этого ему пришлось использовать DNS-сервер. Таким образом, решение будет заключаться в игре с iptables, чтобы перенаправить DNS контейнера на хост DNS и сделать так, чтобы DNS хоста взял на себя полный контроль.

Не могли бы вы помочь мне с этим? Или есть у кого решение?


person user1733369    schedule 04.05.2020    source источник


Ответы (1)


Я обнаружил, что ufw блокирует соединение, поэтому мне пришлось посмотреть журнал ufw и посмотреть, какой интерфейс блокируется, и я просто разрешил интерфейс для входа и выхода на любой порт, и это устранило проблему.

person user1733369    schedule 05.05.2020