Как настроить динамический DNS

Что такое динамический DNS?

Давайте рассмотрим общий пример настройки DNS. Ваш домен есть example.com, и у вас есть " A" записи для server1.example.comи server2.example.com. Сервер1 размещен в Vultr, но сервер2 размещен в локальной сети, например, внутри вашего предприятия или как компьютер для разработки у вас дома. Как правило, эти типы локальных сред имеют общедоступные IP-адреса, которые динамически назначаются поставщиком услуг Интернета, и они могут неожиданно измениться. Это может привести к тому, что server2 внезапно укажет на неправильный IP-адрес, что может серьезно повлиять на обслуживание. В этой статье будет показано, как настроить собственную службу динамического DNS, которая работает на локальном компьютере и может автоматически обновлять запись для server2 в Vultr DNS после изменения общедоступного IP-адреса.

Хотя клиенты любят ddclientи inadynбудут работать с некоторыми провайдерами DNS, Vultr в настоящее время не поддерживает их и вместо этого использует собственный настраиваемый API. Эта служба будет работать локально на вашем компьютере и использовать запросы GET и POST вместе с вашим ключом доступа.

Предпосылки

  • Доступ к вашей учетной записи Vultr для настройки DNS и управления ключами доступа.
  • Возможность подключения к локальной машине, которая имеет динамический IP-адрес (или доступ к другой машине в той же сети).

Установка и настройка

Настройка вашего домена для использования службы Vultr DNS

  • Если вы не используете службу DNS Vultr для своего домена, следуйте этой статье, чтобы изменить свои серверы имен для использования с Vultr.
  • После настройки Vultr DNS перейдите на страницу управления DNS в разделе «Серверы -> DNS -> [имя вашего домена]».
  • Здесь вы найдете все записи, настроенные для вашего домена. Запишите, какие записи вы хотите изменить, так как вам это понадобится позже.
    • Только " A" записи поддерживаются этой утилитой. Если у вас есть несколько " A" записей, которые вы хотите обновить до одного и того же IP-адреса, измените их на " CNAME" записи и укажите их на одну " A" запись. Это упростит для вас вещи в долгосрочной перспективе и считается правильным способом настройки DNS.

Установка необходимых инструментов

  • Подключитесь к вашему локальному серверу. Это может быть напрямую или через SSH.
  • Для этого инструмента требуется Python 3. Большинство дистрибутивов Linux включают в себя предварительно установленный Python. Если он не установлен в вашей среде, инструкции доступны на официальной вики Python здесь:
  • Этот процесс также требует Git, который вы можете установить с инструкциями ниже:

Загрузка динамического DNS-клиента

Используйте Git для клонирования репозитория, содержащего клиент Python DDNS. Вы должны сделать это в безопасном каталоге, к которому у вас есть полный доступ. Ваша домашняя папка должна быть достаточной. Запустите следующую команду:

git clone https://github.com/andyjsmith/Vultr-Dynamic-DNS.git vultrddns && cd vultrddns

Генерация токена личного доступа

Создайте личный токен доступа в Vultr. Это можно сделать в разделе «Аккаунт -> API -> Токен личного доступа». На этой же странице вам нужно будет зайти в «Контроль доступа» и нажать кнопку «Разрешить все IPv4», поскольку вы не будете каждый раз знать IP вашего локального сервера, отсюда и точка динамического DNS.

Настройка инструмента для вашего сервера

  • Прочтите config.json.exampleфайл, чтобы посмотреть, как должен выглядеть ваш файл конфигурации.
  • Откройте config.jsonфайл, используя ваш любимый текстовый редактор, и заполните значения в зависимости от настроек вашего сервера.
  • Файл должен содержать следующее:

    {
        "api_key": "",
        "domain": "",
        "dynamic_records": [
        ""
        ]
    }
    
  • Введите свой токен доступа в поле api_key.

  • Введите свой базовый домен в domainполе. Например, example.com.
  • Теперь введите " A" записи, которые вы хотите изменить в dynamic_recordsполе. Используя предыдущий пример, вы вводите server2для автоматического изменения server2IP-адреса. Вы можете ввести несколько поддоменов. Если вы хотите изменить базовую " A" запись для своего домена (обычно называемую как @запись, которая отвечает, когда вы переходите прямо к ней example.com), просто оставьте пустые кавычки.
  • Правильный файл конфигурации может выглядеть следующим образом, где вы хотите динамически изменить IP для example.comи server2.example.com:

    {
        "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "domain": "example.com",
        "dynamic_records": [
        "",
        "server2"
        ]
    }
    
  • Теперь сохраните эти изменения, и ваш файл должен быть готов к работе!

Протестируйте свою конфигурацию

  • Проверьте скрипт и конфигурацию, запустив python3 ddns.py. Если это не возвращает никаких ошибок, ваша конфигурация является номинальной, и вы можете запустить процесс автоматизации.

автоматизация

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

Linux и Mac OSX

В Linux и Mac cronуже установлена ​​утилита, которая позволяет указывать сценарии для запуска по заданному расписанию.

  • Найдите полный путь к ddns.pyфайлу, используя realpath ddns.pyеще в vultrddnsкаталоге.
  • Запустите crontab -eдля редактирования вашего crontab.
  • Добавьте следующую строку в конец файла, добавив реальный путь к ddns.pyфайлу:

    */30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
    
  • Это будет запускать скрипт каждые 30 минут и перенаправлять весь его вывод в /dev/null.

  • Сохраните и выйдите из текстового редактора. Файл crontab будет установлен автоматически, а ваш IP-адрес будет автоматически обновлен.

Windows

Создайте задачу в планировщике задач для запуска каждые 30 минут. Следуйте руководству Microsoft для создания основных задач.

  • Откройте планировщик задач и нажмите «Создать задачу ...».
  • Дайте ему имя и создайте новый триггер.
  • Нажмите «Ежедневно». В разделе «Дополнительные настройки» нажмите, чтобы повторять задание каждые 30 минут и измените «на время» на «Неограниченно».
  • Добавьте новое действие для запуска программы и перейдите к своему исполняемому файлу Python. Добавьте ddns.pyсценарий в качестве аргумента.


Leave a Comment

Настройка NFS Share на Debian

Настройка NFS Share на Debian

NFS - это сетевая файловая система, которая позволяет компьютерам получать доступ к файлам через компьютерную сеть. Это руководство объясняет, как вы можете выставлять папки через NF

Установка и настройка ZNC в Ubuntu

Установка и настройка ZNC в Ubuntu

ZNC - это усовершенствованный вышибал IRC-сети, который постоянно подключен, чтобы IRC-клиент мог отключиться или восстановить соединение без потери сеанса чата.

Настройка DHCP-сервера в Windows Server 2012

Настройка DHCP-сервера в Windows Server 2012

DHCP - это протокол, используемый для динамического выделения IP-адресов компьютерам в вашей сети. Windows Server 2012 может быть не только DNS-сервером или доменом.

Установите MailCatcher на Ubuntu 14

Установите MailCatcher на Ubuntu 14

Введение MailCatcher - это инструмент, который позволяет разработчикам легко просматривать электронные письма, отправляемые их прилож��ниями, не дожидаясь

Как установить PiVPN на Debian

Как установить PiVPN на Debian

Введение Простой способ настроить VPN-сервер в Debian - это PiVPN. PiVPN - это установщик и оболочка для OpenVPN. Это создает простые команды для вас т

Настройка VPN на Windows Server 2012

Настройка VPN на Windows Server 2012

Настройка VPN на Windows Server относительно проста. С помощью VPN вы можете общаться с другими компьютерами, подключ��нными к VPN. Вы также можете подключиться к

Настройка BGP на Vultr

Настройка BGP на Vultr

Функция Vultrs BGP позволяет вам использовать свое собственное IP-пространство и использовать его в любом из наших мест. Начало работы Для использования BGP вам потребуется: развернутый Vult

Простая конфигурация IPTables и примеры в Ubuntu 16.04

Простая конфигурация IPTables и примеры в Ubuntu 16.04

Введение iptables - мощный инструмент, используемый для настройки встроенного межсетевого экрана Linux-ядер. Однако он предустановлен в большинстве дистрибутивов Ubuntu.

Простой почтовый сервер с Postfix, Dovecot и Sieve On CentOS 7

Простой почтовый сервер с Postfix, Dovecot и Sieve On CentOS 7

Из этого туториала Вы узнаете, как получить простой почтовый сервер на CentOS 7 с Postfix в качестве MTA, Dovecot в качестве MDA и Sieve для сортировки почты - по всему шифрованию.

Присоединение к домену Active Directory для клиентов Windows

Присоединение к домену Active Directory для клиентов Windows

После настройки сервера Active Directory вы будете готовы присоединиться к домену Active Directory. Это можно сделать на клиентах Windows, которые будут

Vultr Firewall

Vultr Firewall

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

Установите MailCatcher на CentOS 7

Установите MailCatcher на CentOS 7

Введение MailCatcher - это инструмент, который позволяет разработчикам легко просматривать электронные письма, отправляемые их приложениями, не дожидаясь

Высокая доступность на Vultr с плавающим IP и BGP

Высокая доступность на Vultr с плавающим IP и BGP

Vultr позволяет объединить две наши функции (плавающие IP-адреса и BGP) для достижения высокой доступности. Настройка Вам понадобятся два экземпляра в СЭМ

Установка OpenVPN на Debian VPS

Установка OpenVPN на Debian VPS

Представляем протокол OpenVPN OpenVPN - это программное приложение с открытым исходным кодом, которое реализует методы виртуальной частной сети (VPN) для создания безопасности.

Пример авторизационного письма для объявлений BGP

Пример авторизационного письма для объявлений BGP

Пожалуйста, используйте следующий шаблон при запросе авторизации для объявлений BGP. АВТОРИЗАЦИОННОЕ ПИСЬМО [ДАТА] К кому это может относиться,

Установка Bro IDS в Ubuntu 16.04

Установка Bro IDS в Ubuntu 16.04

Используете другую систему? Введение Bro - это мощная платформа сетевого анализа с открытым исходным кодом. Основная задача Bros - мониторинг безопасности сети. бром

Настройка DNS-сервера в Windows Server 2012

Настройка DNS-сервера в Windows Server 2012

Windows Server 2012 можно настроить как DNS-сервер. DNS используется для преобразования доменных имен в IP-адреса. Размещая свои собственные DNS-серверы, вы получаете более

Запуск Nsd и Unbound в OpenBSD 5.6

Запуск Nsd и Unbound в OpenBSD 5.6

В этой статье вы узнаете, как легко и быстро иметь собственный DNS-сервер, разрешающий кэширование (не связанный), а также авторитетную / основную DNS-службу.

Настройка DHCP-сервера в Ubuntu

Настройка DHCP-сервера в Ubuntu

DHCP может использоваться для динамического предоставления локальных IP-адресов клиентским компьютерам. Это избавляет вас от необходимости устанавливать статические IP-адреса для каждого вычисления

Настройка BGP с использованием Quagga на Vultr (CentOS 7)

Настройка BGP с использованием Quagga на Vultr (CentOS 7)

Vultrs обеспечивают фу��кциональность вашего IP-пространства, предоставляя беспрецедентную свободу в назначении ваших собственных IP-ресурсов серверам в облаке Vultr. Мы в целом

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше