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

Создание и запуск сервер-ресида I2P

Полное руководство по настройке и эксплуатации reseed-сервера I2P для помощи новым роутерам в присоединении к сети

Reseed-хосты являются критически важной инфраструктурой для сети I2P, предоставляя новым router’ам начальную группу узлов в процессе bootstrap’а. Это руководство проведет вас через настройку и запуск собственного reseed-сервера.

Что такое I2P Reseed Server?

Reseed-сервер I2P помогает интегрировать новые роутеры в сеть I2P следующим образом:

  • Обеспечение первоначального обнаружения узлов: Новые роутеры получают начальный набор сетевых узлов для подключения
  • Восстановление bootstrap: Помощь роутерам, испытывающим трудности с поддержанием соединений
  • Безопасное распространение: Процесс reseeding шифруется и цифровым образом подписывается для обеспечения безопасности сети

Когда новый I2P router запускается впервые (или потерял все свои пиринговые соединения), он обращается к reseed-серверам для загрузки начального набора информации о роутерах. Это позволяет новому router начать построение собственной netDb (базы данных сети) и установление tunnel.

Предварительные требования

Перед началом работы вам понадобится:

  • Linux-сервер (рекомендуется Debian/Ubuntu) с правами root
  • Доменное имя, указывающее на ваш сервер
  • Минимум 1 ГБ оперативной памяти и 10 ГБ дискового пространства
  • Работающий I2P router на сервере для заполнения network database
  • Базовые знания системного администрирования Linux

Подготовка сервера

Step 1: Update System and Install Dependencies

Сначала обновите вашу систему и установите необходимые пакеты:

sudo apt update && sudo apt upgrade -y && sudo apt-get install golang-go git make docker.io docker-compose -y

Это устанавливает: - golang-go: среда выполнения языка программирования Go - git: система контроля версий - make: инструмент автоматизации сборки - docker.io & docker-compose: контейнерная платформа для запуска Nginx Proxy Manager

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

Step 2: Clone and Build Reseed Tools

Клонируйте репозиторий reseed-tools и соберите приложение:

cd /home/i2p
git clone https://i2pgit.org/idk/reseed-tools
cd reseed-tools
make build
sudo make install

Пакет reseed-tools предоставляет основной функционал для запуска reseed-сервера. Он обрабатывает: - Сбор информации о router из вашей локальной базы данных сети - Упаковку информации router в подписанные SU3-файлы - Предоставление этих файлов через HTTPS

Клонирование репозитория reseed-tools

Step 3: Generate SSL Certificate

Сгенерируйте SSL-сертификат и приватный ключ вашего reseed-сервера:

su - i2p -c 'reseed-tools reseed --signer=admin@stormycloud.org --netdb=/home/i2p/.i2p/netDb --port=8443 --ip=127.0.0.1 --trustProxy'

Важные параметры: - --signer: Ваш адрес электронной почты (замените admin@stormycloud.org на свой собственный) - --netdb: Путь к сетевой базе данных вашего I2P router - --port: Внутренний порт (рекомендуется 8443) - --ip: Привязка к localhost (мы будем использовать reverse proxy для публичного доступа) - --trustProxy: Доверять заголовкам X-Forwarded-For от reverse proxy

Команда сгенерирует: - Приватный ключ для подписи SU3-файлов - SSL-сертификат для безопасных HTTPS-соединений

Генерация SSL-сертификата

Шаг 1: Обновление системы и установка зависимостей

Критически важно: Создайте безопасную резервную копию сгенерированных ключей, расположенных в /home/i2p/.reseed/:

sudo tar -czf reseed-keys-backup.tar.gz /home/i2p/.reseed/

Храните эту резервную копию в безопасном зашифрованном месте с ограниченным доступом. Эти ключи необходимы для работы вашего reseed-сервера и должны быть тщательно защищены.

Configuring the Service

Шаг 2: Клонирование и сборка инструментов Reseed

Создайте systemd service для автоматического запуска reseed-сервера:

sudo tee /etc/systemd/system/reseed.service <<EOF
[Unit]
Description=Reseed Service
After=network.target

[Service]
User=i2p
WorkingDirectory=/home/i2p
ExecStart=/bin/bash -c 'reseed-tools reseed --signer=admin@stormycloud.org --netdb=/home/i2p/.i2p/netDb --port=8443 --ip=127.0.0.1 --trustProxy'
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

Не забудьте заменить admin@stormycloud.org на ваш собственный адрес электронной почты.

Теперь включите и запустите службу:

sudo systemctl daemon-reload
sudo systemctl enable reseed
sudo systemctl start reseed

Проверьте, что сервис запущен:

sudo systemctl status reseed

Проверка статуса сервиса reseed

Шаг 3: Генерация SSL-сертификата

Для оптимальной производительности вы можете периодически перезапускать службу reseed для обновления информации о роутерах:

sudo crontab -e

Добавьте эту строку для перезапуска сервиса каждые 3 часа:

0 */3 * * * systemctl restart reseed

Setting Up Reverse Proxy

Reseed-сервер работает на localhost:8443 и требует обратный прокси-сервер для обработки публичного HTTPS-трафика. Мы рекомендуем Nginx Proxy Manager за простоту использования.

Шаг 4: Резервное копирование ключей

Развертывание Nginx Proxy Manager с использованием Docker:

docker run -d \
--name nginx-proxy-manager \
-p 80:80 \
-p 81:81 \
-p 443:443 \
-v $(pwd)/data:/data \
-v $(pwd)/letsencrypt:/etc/letsencrypt \
--restart unless-stopped \
jc21/nginx-proxy-manager:latest

Это открывает: - Порт 80: HTTP-трафик - Порт 81: Интерфейс администратора - Порт 443: HTTPS-трафик

Configure Proxy Manager

  1. Откройте интерфейс администратора по адресу http://your-server-ip:81

  2. Войдите, используя учетные данные по умолчанию:

Важно: Измените эти учетные данные сразу после первого входа в систему!

Вход в Nginx Proxy Manager

  1. Перейдите в раздел Proxy Hosts и нажмите Add Proxy Host

Добавление прокси-хоста

  1. Настройте proxy host:
    • Domain Name: Ваш домен reseed-сервера (например, reseed.example.com)
    • Scheme: https
    • Forward Hostname / IP: 127.0.0.1
    • Forward Port: 8443
    • Включите Cache Assets
    • Включите Block Common Exploits
    • Включите Websockets Support

Настройка прокси-хоста

  1. На вкладке SSL:
    • Выберите Request a new SSL Certificate (Let’s Encrypt)
    • Включите Force SSL
    • Включите HTTP/2 Support
    • Примите условия использования Let’s Encrypt

SSL certificate configuration

  1. Нажмите Сохранить

Ваш reseed сервер теперь должен быть доступен по адресу https://reseed.example.com

Успешная конфигурация reseed-сервера

Registering Your Reseed Server

После того как ваш reseed-сервер заработает, свяжитесь с разработчиками I2P, чтобы добавить его в официальный список reseed-серверов.

Шаг 5: Создание службы Systemd

Напишите на email zzz (ведущему разработчику I2P) следующую информацию:

Шаг 6: Опционально - Настройка периодических перезапусков

Укажите в своем письме:

  1. URL сервера reseed: Полный HTTPS URL (например, https://reseed.example.com)
  2. Публичный reseed сертификат: Расположен в /home/i2p/.reseed/ (приложите файл .crt)
  3. Контактный email: Предпочтительный способ связи для уведомлений об обслуживании сервера
  4. Местоположение сервера: Опционально, но полезно (страна/регион)
  5. Ожидаемое время работы: Ваше обязательство по поддержанию работы сервера

Verification

Разработчики I2P проверят, что ваш reseed-сервер: - Правильно настроен и раздаёт информацию о роутерах - Использует действительные SSL-сертификаты - Предоставляет корректно подписанные SU3-файлы - Доступен и отвечает на запросы

После одобрения ваш reseed-сервер будет добавлен в список, распространяемый вместе с I2P-роутерами, помогая новым пользователям присоединиться к сети!

Monitoring and Maintenance

Установка Nginx Proxy Manager

Мониторинг вашего reseed-сервиса:

sudo systemctl status reseed
sudo journalctl -u reseed -f

Настройка Proxy Manager

Следите за системными ресурсами:

htop
df -h

Update Reseed Tools

Периодически обновляйте reseed-tools, чтобы получать последние улучшения:

cd /home/i2p/reseed-tools
git pull
make build
sudo make install
sudo systemctl restart reseed

Контактная информация

Если используется Let’s Encrypt через Nginx Proxy Manager, сертификаты будут обновляться автоматически. Проверьте, что обновление работает:

docker logs nginx-proxy-manager | grep -i certificate

Настройка сервиса

Необходимая информация

Проверьте логи на наличие ошибок:

sudo journalctl -u reseed -n 50

Распространённые проблемы: - I2P router не запущен или база данных сети пуста - Порт 8443 уже используется - Проблемы с правами доступа к директории /home/i2p/.reseed/

Проверка

Убедитесь, что ваш I2P router запущен и заполнил свою netDb:

ls -lh /home/i2p/.i2p/netDb/

Вы должны увидеть множество файлов .dat. Если папка пуста, подождите, пока ваш I2P router обнаружит peers.

SSL Certificate Errors

Проверьте, что ваши сертификаты действительны:

openssl s_client -connect reseed.example.com:443 -servername reseed.example.com

Проверка состояния сервиса

Проверьте: - DNS-записи правильно указывают на ваш сервер - Файрвол разрешает порты 80 и 443 - Nginx Proxy Manager запущен: docker ps

Security Considerations

  • Храните приватные ключи в безопасности: Никогда не передавайте и не раскрывайте содержимое /home/i2p/.reseed/
  • Регулярные обновления: Поддерживайте системные пакеты, Docker и reseed-tools в актуальном состоянии
  • Мониторинг логов: Следите за подозрительными паттернами доступа
  • Ограничение частоты запросов: Рассмотрите возможность внедрения rate limiting для предотвращения злоупотреблений
  • Правила файрвола: Открывайте только необходимые порты (80, 443, 81 для администрирования)
  • Интерфейс администратора: Ограничьте доступ к административному интерфейсу Nginx Proxy Manager (порт 81) только доверенными IP-адресами

Contributing to the Network

Запуская reseed-сервер, вы предоставляете критически важную инфраструктуру для сети I2P. Спасибо за ваш вклад в более приватный и децентрализованный интернет!

Для вопросов или помощи обращайтесь в сообщество I2P: - Форум: i2pforum.net - IRC/Reddit: #i2p в различных сетях - Разработка: i2pgit.org

Часто задаваемые вопросы по I2P

Общие вопросы

Что такое I2P?

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

Чем I2P отличается от других анонимных сетей?

I2P разработан для предоставления анонимных сервисов внутри сети (веб-сайты, чаты, файлообмен), в то время как другие сети могут больше ориентироваться на анонимный выход в открытый интернет. I2P использует технологию garlic encryption для защиты сообщений.

Безопасен ли I2P?

I2P предоставляет сильную анонимность при правильном использовании. Однако никакая система не является полностью безопасной. Важно следовать рекомендациям по безопасности и понимать ограничения системы.

Технические вопросы

Как работает маршрутизация в I2P?

I2P использует технологию garlic routing - вариант onion routing. Сообщения инкапсулируются в несколько слоёв шифрования и проходят через серию router’ов перед достижением получателя.

Что такое tunnel в I2P?

Tunnel - это временный однонаправленный путь через несколько router’ов. Каждый клиент создаёт входящие и исходящие tunnel’ы для получения и отправки данных.

Что такое netDb?

netDb (Network Database) - это распределённая база данных, содержащая информацию о router’ах и destination’ах в сети. Floodfill router’ы хранят и распространяют эти данные.

Какие транспортные протоколы использует I2P?

I2P поддерживает несколько транспортных протоколов: NTCP2 (TCP-подобный) и SSU (UDP-подобный). Они используются для связи между router’ами.

Использование

Как получить доступ к eepsite?

Eepsite - это веб-сайт, размещённый внутри I2P. Для доступа нужно настроить браузер для использования HTTP-прокси I2P (обычно localhost:4444).

Что такое addressbook в I2P?

Addressbook - это локальная служба, которая преобразует человекочитаемые имена (например, example.i2p) в cryptographic destination’ы I2P.

Как запустить свой сервис в I2P?

Используйте I2PTunnel или SAMv3 API для создания server tunnel’а. I2PTunnel предоставляет простой интерфейс для настройки различных типов сервисов.

Производительность

Почему I2P работает медленно?

I2P жертвует скоростью ради анонимности. Сообщения проходят через несколько router’ов, что добавляет задержку. Производительность также зависит от количества участников сети и качества их соединений.

Можно ли ускорить I2P?

Вы можете: увеличить пропускную способность в настройках, открыть порты в firewall, дать router’у время для интеграции в сеть (обычно 10-15 минут), участвовать в маршрутизации трафика других пользователей.

Устранение неполадок

Router не подключается к сети

Проверьте:

  • Настройки firewall и NAT
  • Доступность портов
  • Правильность системного времени (критично для I2P)
  • Логи router’а на наличие ошибок

Не могу получить доступ к eepsite

Возможные причины:

  • Eepsite временно недоступен
  • Ваш router ещё не полностью интегрирован в сеть
  • Проблемы с настройками прокси в браузере
  • Destination eepsite’а не найден в netDb

Низкое количество активных peers

Это нормально для нового router’а. Подождите 15-30 минут. Если проблема сохраняется, проверьте настройки firewall и убедитесь, что ваш router может принимать входящие соединения.

Руководство изначально создано Stormy Cloud , адаптировано для документации I2P.

Was this page helpful?