Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    DDNS через API Yandex

    Scheduled Pinned Locked Moved Russian
    17 Posts 5 Posters 4.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      aleks077
      last edited by

      Не могу так поправить - такая комбинация мне не нужна.
      Еще раз повторю, чего хочу получить:

      1. в штатном режиме
        1.1.1.1 - gw.domen.ru - ISP1
        2.2.2.2 - gw.domen.ru - ISP2

      далее при падении ISP1 надо получить
      2.2.2.2 - gw.domen.ru
      2.2.2.2 - gw.domen.ru

      или

      при падении ISP2
      1.1.1.1 - gw.domen.ru
      1.1.1.1 - gw.domen.ru

      Если подобрать "ключик" к API Яндекса, то решение довольно простое - по ID записи меняем ее на другой IP

      Как такое изобразить с помощью DDNS pfSense я пока не понимаю…

      1 Reply Last reply Reply Quote 0
      • viktor_gV
        viktor_g Netgate
        last edited by

        сделал feature request:
        https://redmine.pfsense.org/issues/11294

        A 1 Reply Last reply Reply Quote 1
        • A
          AntonFN @viktor_g
          last edited by

          @viktor_g

          Добрый день! я попробовал использовать yandex dns. это не сработало. Я использую действительный токен который работает с acme плагином pfsense.

          логи после принудительного обновления.

          image.png

          ps
          я видел что https://redmine.pfsense.org/issues/11294 закрыта изза того что некому протестировать. если от меня нужны какие-то тесты или дополнительные логи. я могу это сделать.

          viktor_gV 2 Replies Last reply Reply Quote 0
          • viktor_gV
            viktor_g Netgate @AntonFN
            last edited by

            @antonfn Поставьте в настройках Dynamic галочку DNS Verbose и приаттачьте лог к новому багрепорту.

            Как сделать багрепорт:
            https://docs.netgate.com/pfsense/en/latest/development/bug-reports.html

            разберёмся!

            A 1 Reply Last reply Reply Quote 0
            • viktor_gV
              viktor_g Netgate @AntonFN
              last edited by

              @antonfn что у вы видите при выполнении curl -H 'PddToken: <мойтокен>' https://pddimp.yandex.ru/api2/admin/dns/list?domain=<мойдомен> ?

              1 Reply Last reply Reply Quote 0
              • A
                AntonFN @viktor_g
                last edited by AntonFN

                @viktor_g

                Если я обращаюсь к своему основному домену (например example.com) с запросом указанным выше, то получаю перечисление записей домена и параметры записей.

                я бы хотел уточнить, на основном домене(example.com) у меня есть А запись.(ddns.example.com) которой я хотел бы управлять с помощью ddns.

                я правильно заполняю поля Hostname ? (делаю на примере рабочей конфигурации godaddy)

                d15dee68-cc95-4e8c-82c1-3f83acc65352-image.png

                viktor_gV 1 Reply Last reply Reply Quote 0
                • viktor_gV
                  viktor_g Netgate @AntonFN
                  last edited by

                  @antonfn верно,

                  можете посмотреть как работает DDNS:
                  https://github.com/pfsense/pfsense/blob/master/src/etc/inc/dyndns.class#L886

                  1. Сначала он получает список поддоменов с https://pddimp.yandex.ru/api2/admin/dns/list?domain=example.com
                  2. Если поддомен существует то сохраняет значение record_id
                  3. Если поддомен существует то изменяет его запись использую record_id через https://pddimp.yandex.ru/api2/admin/dns/edit
                  4. Если поддомен не существует то добавляет через https://pddimp.yandex.ru/api2/admin/dns/add

                  Но у вас судя по логам ошибка PddToken.
                  Запросы через curl выдают правильные данные?

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    AntonFN @viktor_g
                    last edited by AntonFN

                    @viktor_g
                    запрос через curl выдает правильные данные. там присутствует ddns.example.com

                    нашел перечисление ошибок. https://yandex.com/dev/domain/doc/reference/domain-settings-setsign.html

                    как я понял. до токена дело не доходит. он не передается

                    viktor_gV 1 Reply Last reply Reply Quote 0
                    • viktor_gV
                      viktor_g Netgate @AntonFN
                      last edited by

                      @antonfn установите пакет System Patches:
                      https://docs.netgate.com/pfsense/en/latest/development/system-patches.html

                      и попробуйте этот патч: yandexpddfix.diff

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        AntonFN @viktor_g
                        last edited by

                        @viktor_g

                        применил патч. кажется все работает как нужно. спасибо большое.

                        d4a681bb-08a8-4e6b-be12-34b41c251240-image.png

                        1 Reply Last reply Reply Quote 0
                        • viktor_gV
                          viktor_g Netgate
                          last edited by

                          Багрепорт: https://redmine.pfsense.org/issues/12331

                          Исправление будет включено в следующую стабильную версию и ближайшие 2.6-DEVELOPMENT снапшоты

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.