Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Hyperboria: Практика создания узла
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Для чего это нужно
Приветствую, коллеги,
Как всем уже известно, законодательство в сети Интернет ужесточается с каждым новым вводимым законом. С 1-го августа 2013-го года вступит в силу закон о произвольных блокировках (на основании иска правообладателя) - и, значит, ресурс попадёт в реестр запрещённых сайтов. Варианты противодействия этому могут быть разными, к самым эффективным мерам, разумеется, относится отмена закона. Но для этого нужно чётко выразить свою позицию, суметь повлиять на государственную власть через общественное мнение и т.п. - всё это происходит сейчас на всех ресурсах, администрация которых осознаёт последствия.
Не следует заблуждаться
Однако, наряду с указанными выше действиями не стоит забывать и о том, что некоторые технические средства по противодействию цензуре всё же есть. Речь конечно же идёт о VPN и распределённых оверлейных сетях. Стоит понимать, что, в случае, если законодательной власти нужно будет - то она наложит запрет на технические средства обхода блокировок (яркий пример - запрет на стойкой шифрование), поэтому не следует думать, что оверлейные сети есть панацея от нововведений и цензурирования Интернета. Тем не менее, я бы хотел познакомить читателей с опытом развёртывания узла hyperboria. Что такое hyperboria - можно почитать в очень доступной статье на habrahabr. Вкратце - это распределённая сеть на основе IPv6 с шифрованием трафика.
Развёртывание узла Сборка приложения и проверка системы
Перейдём к делу. Прежде всего, для того, чтобы создать узел, нам потребуется cjdns. Предполагаю, что на целевой системе установка ведётся в каталог /opt
- то, возможно, вы используете VPS на базе OpenVZ. Если это так, то попросите провайдера включить TUN/TAP устройство.
Конфигурация маршрутизации
Итак, всё проверено и собрано. Теперь можно переходить к конфигурированию узла. Сначала нужно создать конфигурационный файл. Сделать это можно так:
- на выходе получится cjdroute.conf - важно понимать, что он будет содержать данные, уникальные для создаваемого узла, поэтому не думаю, что создавать этот файл вручную - хорошая идея.
Теперь вам нужно найти узлы, к которым вы сможете подключиться. Существует тестовый узел, который можно использовать для проверки корректности конфигурации, однако в дальнейшем, для улучшения распределённости сети обязательно нужно добавить и другие узлы. Сам конфигурационный файл представляет собой обычный JSON, узел для подключения следует добавлять в секцию:
Теперь о дальнейшей настройке. Если тестовое подключение произошло успешно, то необходимо во-первых, собрать как можно больше узлов для подключения, а во-вторых, поделиться с другими участниками сети своими данными. Второе делается так:
0. В конфигурационном файле нужно найти секцию:
// This key corresponds to the public key and ipv6 address:
"publicKey": "*************",
"ipv6": "**********",
- и запомнить эти данные
1. В конфигурационном файле существуют секции, отвечающие за то, какие пароли будут для доступа к узлу (генерируются в момент создания конфигурационного файла), но они все, кроме первого, неактивны. Для большей безопасности следует раскомментировать эти пароли - тогда можно будет разным узлам, которые будут подключаться к настраиваемому, назначать разные пароли. В конфигурационном файле это секции:
// A unique string which is known to the client and server.
{"password": "********"},
// More passwords should look like this.
{"password": "********"},
{"password": "********"},
{"password": "********}
2. Сообщить данные, полученные на шаге 0. и 1. другим участникам hyperboria. Сделать это можно, например, на #cjdns IRC-сервера freenode
Немного удобства
Собственно, после конфигурации всё уже сделано и узел должен работать. Для удобства я рекомендую добавить процесс маршрутизации в автозагрузку. В debian-подобных системах для этого нужно:
Создать скрипт /etc/init.d/cjdroute
В других дистрибутивах добавление может быть другим, например, в Slackware достаточно будет добавить скрипт в /etc/rc.local (и сам скрипт будет расположен не в /etc/init.d - а в /etc/rc.d)
Последний штрих - для удобства я рекомендую создать ссылки:
- после этого можно будет удобнее управлять процессом маршрутизатора.
Вместо заключения
На этом всё, узел будет создан и будет запускаться при старте ОС. Другие поясняющие материалы про hyperboria можно найти здесь и здесь. Повторюсь, не стоит думать, что только техническими средствами можно обойти запреты на уровне законодательства, но для свободы в Сети разумно использовать все доступные законные средства.
В настоящее время я создал два узла - на сервере stopcensure[dot]org (отдельная благодарность Илье - DeepVarvar за предоставление мощностей на сервере под процесс маршрутизатора) и на рабочем стейджинге.
Если у вас возникнут вопросы - то постараюсь ответить в этой теме, либо, если у вас есть аккаунт на habrahabr (важное уточнение - аккаунт должен иметь право записи, то есть не быть read-only), можете задать вопросы пользователю shifttstat - ему отдельное спасибо за предоставление списка узлов для подключения.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.