Neuro Automata

Автоматизация процессов и нейросети.

Установка DuckDNS. Сервис динамических DNS.

Установка DuckDNS

Инструкция к видео: YOUTUBE
Установка DuckDNS вручную, через терминал.

1) Проверяем вернет ли что-либо команда:

ps -ef | grep cr[o]n

Где (ps -ef) — показывает все процессы
(grep cr[o]n) — Ищет процесс cron

Если cron не установлен, то установить можно командой:

sudo apt install cron
sudo systemctl enable cron
sudo systemctl start cron

2) Проверяем, установлен ли curl

curl

Если выводится — command not found, curl установить можно командой:

sudo apt install curl

Если выводится: curl: try ‘curl —help’ or ‘curl —manual’ for more information — значит все в порядке.
Для чего? Curl делает HTTPS-запрос к серверу DuckDNS, чтобы обновить IP

3) Создаём папку и файл скрипта, переходим в этот каталог, открываем в редакторе nano:

mkdir duckdns
cd duckdns
nano duck.sh

4) Вставляем в редакторе основной код обновления и подставляем свои данные:

echo url="https://www.duckdns.org/update?domains=VASHDOMEN&token=VASHTOKEN&ip=" | curl -k -o ~/duckdns/duck.log -K -

Где: «VASHDOMEN» — ваш домен, например vasyapupkin.duckdns. org Если используете несколько доменов, то через запятую.
«VASHTOKEN» — Ваш токен с сайта duckdns org

5) Сохраняем файл и выходим. Ctrl+O => Enter, Ctrl+X

6) Делаем файл исполняемым на сервере:

chmod 700 duck.sh

7) Добавляем задачу в cron. Переходим в редактор:

crontab -e

Добавляем строчку:

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Где: */5 — каждые 5 минут каждый день, каждого месяца

Данная строчка (>/dev/null 2>&1) Нужна, чтобы cron не засыпал вас email уведомлениями. Отключает вывод ошибок.
Сохраняем и выходим: Ctrl+O => Enter, Ctrl+X

8) Проверяем работоспособность:
Запускаем вручную:

./duck.sh

Открываем Лог

cat duck.log

Если все работает, будет OK,
если ошибка — KO (проверьте правильность токена и домена)

По итогу:
Каждые 5 минут:
Скрипт делает HTTPS запрос к DuckDNS
DuckDNS обновляет IP вашего домена
Ваш домен всегда указывает на актуальный IP

Установка DuckDNS через Docker / Стек в Portainer

1) Подставьте свои значения в код стека в строчки SUBDOMAINS и TOKEN:

version: '3'
services:
  duckdns:
    image: linuxserver/duckdns
    environment:
      - PUID=1000
      - PGID=1000
      - SUBDOMAINS=ваш_домен
      - TOKEN=ваш_токен_DuckDNS
    restart: unless-stopped

В Nginx Proxy Manager добавьте SSL сертификат:
Добавьте Proxy Host:

Domain Name: ваш_субдомен.duckdns.org
Scheme: http
Forward Hostname/IP: IP сервера (например 192.168.0.75)
Forward Port: 5678
✅ Block Common Exploits
✅Weblockets Support

Включите SSL (Let’s Encrypt), на вкладке SSL:
✅Force SSL
✅HTTP/2 Support

Не забудьте открыть на роутере порты:
80 — HTTP
443 — HTTPS

Добавить комментарий