1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fastjrun-ddns

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 22:33 70900c8

Основываясь на SDK от Alibaba Cloud, создаём DDNS

Этот инструмент позволяет в любое время проверять локальный общедоступный IP-адрес и текущий IP-адрес, соответствующий указанному доменному имени. Если они не совпадают, то можно перенаправить доменное имя на изменённый общедоступный IP-адрес. Инструмент основан на использовании Java и разработан с применением SDK от Alibaba Cloud.

Инструмент предназначен для тех, кто хочет развернуть интернет-сервисы, но сталкивается с проблемой отсутствия фиксированного общедоступного IP-адреса. Теоретически этот инструмент может заменить динамические службы доменных имён, такие как «корзина с дыней». По сравнению с предыдущей версией, основное отличие заключается в том, что теперь есть страница конфигурации параметров Alibaba Cloud SDK и DDNS, которые необходимо разрешить, а также поддерживается несколько DDNS.

Требования:

  • Доменное имя должно быть размещено на Alibaba Cloud;
  • На Alibaba Cloud должна быть включена служба доступа (Access Key);
  • Соответствующий сервер должен работать под управлением JDK 1.8 или более поздней версии либо среды выполнения Docker.

Использование

Приобретение доменного имени и включение службы доступа на Alibaba Cloud

Скачивание исходного кода и компиляция

git clone https://gitee.com/fastjrun/ddns.git
cd ddns
sh build.sh package_server

В каталоге output будет создан файл ddns.jar.

Развёртывание

Развёртывание на сервере

Поместите файлы ddns.jar и ddns.sh в тот же каталог на сервере, например /opt/ddns:

cd /opt/ddns
# Запуск в фоновом режиме
INIT=always nohup sh ddns.sh &
Контейнерное развёртывание

Также можно развернуть с помощью образа Docker pi4k8s/ddns:3.0. Этот образ можно использовать не только на обычных серверах x86, но и непосредственно на Raspberry Pi 4B.

docker run -itd --name ddns -p 8080:8080 pi4k8s/ddns:3.0

Использование

  • Настройка параметров

http:{ip}:8080/config.html

Нажмите кнопку «Остановить», чтобы остановить запланированное задание. Нажмите кнопку «Перезапустить», чтобы перезапустить запланированное задание с новыми настройками.

  • Настройка записей DDNS

http:{ip}:8080/ddns.html

На этой странице можно добавить записи DDNS. После добавления записей потребуется некоторое время для их активации. Здесь можно настроить несколько записей DDNS.

  • Просмотр записей об изменении IP

http:{ip}:8080/ip.html

Эта страница позволяет просматривать записи об изменениях общедоступного IP. Можно удалить указанные записи. Кроме того, автоматически запускается задача очистки по умолчанию, которая выполняется один раз в день и сохраняет не более 50 последних записей.

О переносе данных

Для пользователей версии 3.0, если вы запускаете с использованием Docker, необходимо учитывать перенос данных. Файлы базы данных находятся в пути контейнера /root/ddns-h2.mv.db.

  • Скопируйте данные из контейнера на хост-машину, затем можно удалить текущий контейнер.
  • Запустите последнюю версию контейнера, затем скопируйте данные обратно в контейнер.
  • Перезапустите контейнер, войдите в веб-консоль H2 и создайте таблицу ddns_ip_change_log.

Версия 3.x — версия 4.0:

  • Скопируйте данные из контейнера на хост-машину, затем можно удалить текущий контейнер.
  • Запустите последнюю версию контейнера, затем скопируйте данные обратно в контейнер.
  • Перезагрузите контейнер, вставьте запись в таблицу ddns_sys с помощью веб-консоли H2: insert into ddns_sys VALUES('type', 'A','解析类型(ipv6=AAAA,ipv4=A)');

Консоль

http:{ip}:8080/h2-console

Здесь можно получить общедоступные IP-адреса IPv4 и IPv6.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/fastjrun-ddns.git
git@api.gitlife.ru:oschina-mirror/fastjrun-ddns.git
oschina-mirror
fastjrun-ddns
fastjrun-ddns
master