From dec8c6a67036cff30600516dd70c873ba7684fda Mon Sep 17 00:00:00 2001 From: Ivan Reshetnikov Date: Mon, 12 Feb 2024 23:26:44 +0500 Subject: [PATCH] blog: add a new note about yggdrasil --- src/content/notes/yggdrasil.md | 68 +++++++++++++++++++++++++++++++++ src/pages/notes/[...slug].astro | 9 +++++ 2 files changed, 77 insertions(+) create mode 100644 src/content/notes/yggdrasil.md diff --git a/src/content/notes/yggdrasil.md b/src/content/notes/yggdrasil.md new file mode 100644 index 0000000..0b8d965 --- /dev/null +++ b/src/content/notes/yggdrasil.md @@ -0,0 +1,68 @@ +--- +title: "Интернет №1 продолжают ломать?" +description: "Расскажу о событиях, которые побудили меня завести зеркало этого сайта в Yggdrasil." +pubDate: 2024-02-02 +updatedAt: 2024-02-12 +--- + +## Что случилось? + +Пару дней тому назад сломались сайты из зоны `.ru`, +а точнее - перестал работать dnssec. +Вполне возможно, что это была обычная поломка, с кем не бывает. +В таком случае мои последующие опасения будут ошибочны. + +Тем не менее, меня не покидало ощущение, что ситуация может быть намного хуже. +Зная темпы, с которыми разрушается интернет, можно предположить, +что такая "поломка" - это первый сигнал к чему-то большему. +Например, к активному внедрению "национальной системы DNS". + +Поразмыслив немного над ситуацией, я вспомнил про yggdrasil. + + +## Пара слов про Yggdrasil + +[Yggdrasil](https://yggdrasil-network.github.io/) - это меш-сеть, работающая поверх обычного интернета. +Каждое устройство получает свой ipv6 адрес из неиспользуемого пространства и даже целую подсеть, которой можно распоряжаться на своё усмотрение. +При желании участник сети может быть не только клиентом, но и узлом связи между другими участниками. +Весь трафик между устройствами зашифрован. + +На первый взгляд может показаться, что для настройки yggdrasil придется прочитать несколько обширных статей, +но всё куда проще. Для старта достаточно скачать клиент и указать [пиры для подключения](https://github.com/yggdrasil-network/public-peers). + +Если у вас появилось желание создать свой сайт внутри yggdrasil, то вам также необходимо настроить порты для приёма входящих запросов. +Для создания сервиса в yggdrasil подойдёт любой прокси, например nginx. +Достаточно указать свой ipv6 адрес. Если у вас несколько сервисов, то вам может пригодиться ваша личная подсеть. + +Узнать информацию о своём адресе и подсети можно при помощи команды: + +```bash +yggdrasil getSelf +``` + +Узнать информацию о подключениях к пирам поможет следующая команда: + +```bash +yggdrasil getPeers +``` + +## Зеркало сайта в Yggdrasil + +Конечно же зайти на этот сайт теперь можно и через Yggdrasil. + +Мой адрес: `http://[201:80ed:6eeb:aea4:cdc0:c836:2831:f2dd]`. + + +## Насколько всё действительно плохо? + +Допустим, что в один момент действительно появится этот мистический "национальный DNS". +Операторов могут в принудительном порядке заставить использовать эти сервера по-умолчанию, +а сертификаты от минцифры сделают обязательными для посещения крупных российских сайтов. +Большинство людей, скорее всего, даже не заметит подвоха, ведь всё будет перенастроено без их участия. + +А тем временем у государства появится возможность расшифровывать https трафик. +Национальный DNS будет отправлять нужных людей на правильные сервера, а минцифры будет выписывать им сертификаты. +С приватностью в интернете без внедрения дополнительного слоя шифрования можно будет попрощаться. + +Конечно, можно не использовать национальный DNS, можно не ставить сертификаты минцифры и не пользоваться +яндекс браузером. Но давайте будем честны, большинство людей не станет ничего менять, если вообще услышит хоть что-нибудь о такой опасности. diff --git a/src/pages/notes/[...slug].astro b/src/pages/notes/[...slug].astro index 94e66ef..98c7ebd 100644 --- a/src/pages/notes/[...slug].astro +++ b/src/pages/notes/[...slug].astro @@ -50,5 +50,14 @@ const formatDate = (date: Date) => { table { border-collapse: collapse; } + pre { + padding: 12px; + border-radius: 5px; + } + p > code { + background-color: #24292e; + padding: 2px 4px; + border-radius: 4px; + } }