💾 Archived View for betahowto.duckdns.org › archive:yggdrasil:dns:wyrd captured on 2024-05-10 at 11:15:19. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-03-21)

-=-=-=-=-=-=-

Wyrd DNS

+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :!: Внимание!                                                                                                                                                                                                                                                                                                                         |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Проект Wyrd устарел и не рекомендуется к использованию. Crawler остановлен навсегда, новые домены более не добавляются автоматически (readme.md ( https://github.com/Revertron/wyrd/blob/master/README.md )).  Автором Wyrd предлагается перейти на использование DNS на основе блокчейна -  ALFIS ( gemini://betahowto.duckdns.org/yggdrasil:dns:alfis ). |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Wyrd - гибкое решение резолва имен в сети Yggdrasil. Резолвит общие доменные зоны и зоны OpenNIC. Также поддерживает собственную зону доменных имен .ygg с автоматической регистрацией. Разработка поддерживается пользователем ( gemini://betahowto.duckdns.org/user:rev ). Является частичным форком краулера сети (автор Arceliar). Написан на языке Python. Репозиторий на Github: https://github.com/Revertron/wyrd. На этой странице приводится русскоязычная версия официальной документации.

Введение

Если вы используете сеть Yggdrasil, то вы подумали о новом DNS. Не только для преобразования имен в IP-адреса, но и для использования некоторых дополнительных записей, которые нельзя добавить в файл hosts, например CNAME, MX или TXT. И система должна быть надежной: если кто-то зарегистрировал домен, домен должен принадлежать только ему, а не передаваться случайно другому. В настоящее время существует несколько систем «crypto-dns», таких как EmerDNS и т.п., но для их хранения требуется несколько гигабайт дискового пространства. Мы не можем позволить себе это в мобильных телефонах и планшетах. Нам нужен какой-нибудь обычный кеширующий сервер для предоставления DNS-записей, чтобы установить их в мобильном, да и вообще и использовать как обычный DNS.

Что такое Wyrd?

Wyrd - это скрипт сканера для DNS-сервера BIND, предназначенный для сбора и проверки DNS-записей из данных NodeInfo со всех узлов. Он получает данные: домены, DNS-записи, проверяет «владельца» и сохраняет их в базе данных MySQL (одна простая таблица), затем получает все записи из этой таблицы и передает их на сервер BIND.

Как это работает?

Регистрация

Как добавить свой домен к этим серверам? Легко! Просто добавьте необходимые DNS-записи в зону Nodeinfo в файле конфигурации Yggdrasil следующим образом:

Один домен


NodeInfo: {
  dns: {
    domains: [
      {
        domain: example.ygg
        ip: 200:1111:2222:3333:4444:5555:6666:7777
      }
    ]
  }
}

Один домен с поддоменами

Если вы используете массив records с type и/или TTL, то вам нужно изменить ip на data, потому что может быть также какой-то CNAME, а не только IP.


NodeInfo: {
  dns: {
    domains: [
      {
        domain: example.ygg
        records: [
            {
                data: 200:1111:2222:3333:4444:5555:6666:7777
                name: @
                ttl: 300
                type: AAAA
            }
            {
                data: 200:1111:2222:3333:4444:5555:6666:7778
                name: ftp
                ttl: 600
                type: AAAA
            }
        ]
      }
    ]
  }
}

Все остальные варианты с объяснением


NodeInfo: {
    "dns": {
      // Вы можете добавить контакт, как это делает WHOIS
      "contact": mail@example.com
      "domains": [
        {
          "domain": "test.ygg", // Ваш желаемый домен
          "records": [
            {
              // IP-адрес для разрешения, он может отличаться от адреса вашего узла
              "data": "200:149b::b722:fe09:d31:84a4",
              "name": "*", // Вы можете пропустить это, по умолчанию значение "@"
              "ttl": 300, // Вы можете пропустить это, по умолчанию значение 3600 (один час)
              "type": "AAAA" // Это также можно пропустить, по умолчанию будет использовано значение AAAA
            }
          ],
          // Теги будут использоваться для ранжирования и поиска в будущем, следите за обновлениями;)
          "tags": [
            "test",
            "dns",
            "experiment"
          ]
        },
        {
          // Вы можете попробовать несколько реальных доменов, но они будут игнорироваться :)
          "domain": "google.com",
          // Вместо массива "records" вы можете просто ввести IP-адрес,
          // type и TTL по умолчанию - AAAA & 3600
          "ip": "200:149b::b722:fe09:d31:84a4"
        }
      ]
    },
    "location": "Somewhere on Earth", // Общие поля
    "name": "My meganode!",
  }

В настоящее время поддерживается только этот TLD: .ygg. Если сообществу понадобится еще, мы можем добавить.

Установка своего инстанса

  * Вам необходимо установить bind9, python3 и python3-mysqldb. Например:  apt-get install bind9 python3 python3-mysqldb 

Синхронизация

Вы можете спросить: что если я запустил Wyrd на своем сервере и получил домен от уже проигнорированного скваттера, а не от законного владельца? Хорошо, для этого у меня есть решение, но еще не реализовано. Поскольку у меня есть первый сервер Wyrd, я буду отправлять состояния БД после каждой модификации этого хранилища, и любой, кто запускает его сервер, не будет начинать с нуля. Его сервер будет заполнен всеми текущими записями с первого взгляда. И, что более важно, все изменения в доменах и записях можно легко отслеживать.

Ссылки

Mastodon: https://zhub.link/@Revertron и @Revertron на hash.null ( http://hash.null/yggdrasil_ru/ ).

Статья "Внутрисетевые DNS" ( gemini://betahowto.duckdns.org/yggdrasil:dns:internal_dns ).

Материалы

https://github.com/Revertron/wyrd/blob/master/README.md

gemini://betahowto.duckdns.org/yggdrasil:dns:alfis

gemini://betahowto.duckdns.org/user:rev

https://github.com/Revertron/wyrd.

https://github.com/Revertron/wyrd

https://zhub.link/@Revertron

http://hash.null/yggdrasil_ru/

gemini://betahowto.duckdns.org/yggdrasil:dns:internal_dns

Навигация

Поиск

Главная страница

Редактировать

Проект β-Doku

Алиас

[0200::/7]

Alfis / Yggdrasil