Ваш первый публичный сайт. Выводим сервисы в интернет.

Ваши комментарии, вопросы, обсуждение ролика

compose.yaml для npm
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP

    # Uncomment the next line if you uncomment anything in the section
    # environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

4 лайка

Все круто, но вижу только один минус в архитектуре когда reverse proxy на vps, у меня dns-ом сейчас AdGuardHome, на нем сейчас 4 задачи:

  • кэширующий dns, балансировщик (ходит только к DoH, DoT)
  • режет рекламу, ежу понятно по спискам dns
  • сам является DoH dns для телефона когда я не дома (в iphone вроде это встроено, но я нормальный и у меня Android поэтому приложение Intra), т.е. трафик сначала идет домой там проходит фильтрацию, а уже потом на телефон
  • заворачивает трафик к моим ресурсам сразу на NPM который в доме, т.е. находясь в доме я даже не выхожу в большую сеть, особенно это касается телефонов, где в приложениях не всегда можно прописать несколько адресов, внешний и внутренний.
1 лайк

Расскажи пожалуйста поподробнее про “Intra”.

Ставите, прописываете DNS over HTTPS сервер, любой, включаете переключатель, всё!

Не до конца понимаю в контексте связки с AdGuardHome… Сам использую AGH в тех же сценариях как вы указали. Но у меня AGH используется перед роутером в домашней сети. У вас AGH публично доступен (как это сделать?), чтобы “является DoH dns для телефона когда я не дома (intra), т.е. трафик сначала идет домой там проходит фильтрацию, а уже потом на телефон”?

AGH регистрируется в NPM

Тут на скриншоте важна приписка что слева внизу

Тут же ниже прописываются сертификаты, выдираем из NPM что получали для AGH, как обновлять его на автомате я еще не придумал, поэтому делаю это вручную по напоминанию раз в два месяца.

В Intra прописываем свой сервер https://<домен до AGH>/dns-query

А и еще у меня AGH стоит в entware прям на роутере (keenetic) и он полностью подменяет встроенный в роутер dns, т.е. по 53 порту отвечает именно AGH
Но это вроде не должно влиять.

Класс! И все таки <домен до AGH> публично доступен? Как телефон, подключенный к сети мобильного оператора доберется до локального NPM? Или NPM все таки публичный на VPSке? У меня нет публичного домена. Для себя я вижу реализацию этой схемы так: подключаюсь к netbird сети на телефоне - попадая тем самым в свою домашнюю сеть. В этом случае AGH становиться для меня доступным по доменному имени через NPM. Ну и через схему как вы показали трафик будет ходить через домашний DNS AGH.

Поставил Intra на телефон. Но наверное все таки он мне не нужен. Как я понял, он поднимает VPN канал до необходимого DNS. При этом отваливаются все остальные vpn подключения (в том числе netbird). Публично доступного адреса до ADH у меня нет. Но при подключенном клиента Netbird у меня нормально резолвятся все мои локальные доменные адреса.

3 сообщения были перенесены в новую тему: VDS c AdGuard Home

Понравился ролик, я вот по привычке почему-то до сих пор использую Apahce а не NPM)
Но с подобной схемой есть нюанс, не для всех сервисов обратный прокси будет применим, для веб-интерфейсов да, а вот для Apache Guacamole например обратный прокси на VPS не взлетел, точнее взлетел, но через туннель пинг между сервером guacamole и VPS 10-15 мс и этого уже было достаточно чтобы картинка RDP сыпалась.
В итоге пришел к решению простого проброса портов, VPS условно слушает порт 1234 и перенаправляет запросы на сервер в домашней сети через тунель, а на том конце уже Tomcat с ssl-сертификатами, не знаю если честно насколько это безопасно, но работает прекрасно и нет дополнительной нагрузки на реверс прокси.

Отличный ролик, меня прям спас, огромное спасибо! У меня домашний сервер на truenas, были проблемы с установкой клиента wiregurd. Netbird по ролику встал легко, но теперь другая проблема - весь трафик моего домашнего сервера теперь идет через тунель нетбёрда на VPS сервер, а там ограничения по трафику. Можете рассказать как netbird устанавливать в теле другого контейнера? Чтобы в туннель netbird шел трафик только от этого контейнера.

Всем привет.
Хочу по данной инструкции настроить доступ к immich. Делаю по видосику, но столкнулся с проблемой установки nginx proxy manager.

Ошибка: “Container npm-app-1 Starting 9.9s
Error response from daemon: failed to set up container networking: driver failed programming external connectivity on endpoint npm-app-1 (87f4aab04ae6e9f44265b1b8848fa2217f6164870d90f5473adc73444e7e44a7): Bind for 0.0.0.0:443 failed: port is already allocated”

Догадываюсь, что ругается на занятый порт 443. На данном сервере использую Amnezia VPN Xray, который возможно и использует данный порт для маскировки. Что можно сделать, чтобы решить проблему с ошибкой?

Bind for 0.0.0.0:443 failed: port is already allocated”
Все верно, порт 443 уже используется, надо понять чем, выполните на сервере:
ss -tulnp | grep 443

Но скорее всего да, это амнезия.

root@hiplet-36936:~# ss -tulnp | grep 443
tcp   LISTEN 0      4096              0.0.0.0:443        0.0.0.0:*    users:(("docker-proxy",pid=1674,fd=7))   
tcp   LISTEN 0      4096                 [::]:443           [::]:*    users:(("docker-proxy",pid=1680,fd=7))   
root@hiplet-36936:~# 
root@hiplet-36936:~# docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED        STATUS                  PORTS                                             NAMES
29ef7e1adfad   louislam/dockge:1   "/usr/bin/dumb-init …"   12 hours ago   Up 12 hours (healthy)   0.0.0.0:5314->5001/tcp, [::]:5314->5001/tcp       dockge-dockge-1
87c206067375   amnezia-dns         "/unbound.sh"            2 weeks ago    Up 13 hours (healthy)   53/tcp, 53/udp                                    amnezia-dns
d408d4960e56   amnezia-xray        "dumb-init /opt/amne…"   2 weeks ago    Up 13 hours             0.0.0.0:443->443/tcp, [::]:443->443/tcp           amnezia-xray
532bc8a68e5b   amnezia-awg         "dumb-init /opt/amne…"   2 weeks ago    Up 13 hours             0.0.0.0:31239->31239/udp, [::]:31239->31239/udp   amnezia-awg
root@hiplet-36936:~#

Всем привет!

Расскажите как назначить порты в домашней сети?
Я так понимаю, должен быть один IP домашней сети, и у него на разные машины/контейнеры, назначены определённые порты. Что-то вроде NAT. Может видео есть готовое?

*так понимаю, что здесь нужно делать через pi-hole, или ad-guard

Так же создал тоннель netbird, но из VPS не пингуется домашняя сеть (192.168.1.ХХХ) указываю IP Роутера. [Между компуктерами и сервером через связь netbird есть] В чём может быть проблема?

Настроено

Группы:
remote - домашние устройства
home - домашний сервер
VPS - удалённый сервер
*к каждой группе привязаны соответствующие устройства

NETWORK ROUTES
VPS → HOME (192.168.1.0/24)
HOME → REMOTE (192.168.1.0/24)

POLICIES
VPS → HOME
HOME → REMOTE

Пока вопрос не понятен. Опишите своими словами, чего вы хотите получить на выходе?

Начните с того, что упростите правила, всем во все разрешите.
Если оно и так не работает - ищите дальше, если заработает - проверяйте Ваши правила, корректность сетей и прочего.

1 лайк

роутер подключен через openconnect к vps. С vps пинг до внутренней сети роутера проходит, телнет тоже проваливается. Но через npm до сервиса 504 Gateway Time-out. Куда копать?

На какой части у вас сидит npm - на vps или в сети роутера? В какой части у вас находится сервис на который вы ссылаетесь через npm? И пинги у вас ходят только в одну сторону? - с vps на роутер? А обратно трафик с роутера на vps ходит?

Ну и главное откуда вы идете на npm что бы получить доступ к сервисам?