Блокировки Роскомнадзора 2026: что сломалось в Linux, AI и API — и как с этим жить
Все источники входят в общедоступный «белый список» — ссылки приведены в конце статьи.
Материал носит информационный характер. Команды и конфигурации описывают легальные технические практики: настройку внутренней инфраструктуры, зеркалирование публичных репозиториев и управление корпоративной сетью. Автор не призывает к нарушению законодательства Российской Федерации.
Диагноз: что произошло 15 апреля
Ты поднял пайплайн утром. Docker pull завис. npm install отвалился с таймаутом. git clone https://github.com/... идёт третью минуту. Знакомо?
15 апреля 2026 года — не очередная волна блокировок. Это структурный сдвиг. Минцифры разослало платформам методички по выявлению VPN-трафика: анализ протоколов, поведенческие паттерны, блокировка по DPI без привязки к IP. Роскомнадзор выделил 2,27 млрд рублей на собственный ИИ-фильтр.
Компании, которые не подключились к системе — теряют IT-аккредитацию и налоговые льготы. Те, что подключились — начали резать трафик своим же пользователям.
Что получишь в этой статье:
- Конкретные причины поломок в трёх направлениях: Linux, AI, API
- Готовые рецепты — с командами, не с теорией
- Архитектуру выживания для команды от 3 до 50 человек
- Таблицы зеркал, портов, совместимости
- FAQ на реальные вопросы из чатов
Времени на это уйдёт — зависит от твоей инфраструктуры. Базовые зеркала поднять за час. Полноценный self-hosted стек — день работы.
Часть 1. Linux: как ТСПУ положило kernel.org
Что случилось с git.kernel.org в феврале 2026
Февраль 2026. ТСПУ начало применять ковровую фильтрацию по IP-диапазонам CDN при замедлении Telegram. Попутно прилетело по git.kernel.org — поддомен оказался в тех же диапазонах.
Симптомы были вот такие:
$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Cloning into 'linux'...
fatal: unable to connect to git.kernel.org:
git.kernel.org[0: 145.40.68.75]: errno=Connection timed out
Главная страница kernel.org открывалась. Поддомен git.kernel.org — нет. Проблема держалась с 12 по 17 февраля 2026 и дольше в зависимости от провайдера.
Пострадали Astra Linux, RED OS, Alt Linux, «Базальт СПО». Команды не могли получать патчи безопасности и обновления ядра. Алексей Смирнов из «Базальт СПО» прямо написал: блокировка мешает работе, и это не единственный случай. Роскомнадзор ответил стандартно: решений по ограничению сервисов Linux не поступало. Побочный эффект.
Почему это критично
Российские ОС зависят от глобального upstream Linux на 90%+. Даже после формального импортозамещения. Задержка патчей безопасности — это прямая уязвимость в госсекторе и КИИ. Разработчики уходят на VPN, что создаёт новые риски. К апрелю 2026 задержки в релизах обновлений ощущались при тестировании Linux 7.0 (вышел 12 апреля).
Рецепт для Linux-команды
Шаг 1. Настрой зеркало kernel.org внутри инфраструктуры.
# Клонируем через CDN-зеркало (cdn.kernel.org работает отдельно от git.kernel.org)
git clone https://cdn.kernel.org/pub/scm/linux/kernel/git/stable/linux.git --depth=1
# Или через зеркало kernel.ubuntu.com (часто доступно когда kernel.org нет)
git clone https://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
# Зеркало MIT (CSAIL) - почти всегда доступно
git clone https://mirrors.mit.edu/kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Шаг 2. Настрой локальный bare-репозиторий на внутреннем сервере.
# На внутреннем сервере 192.168.1.10
mkdir -p /srv/mirrors/linux-kernel
cd /srv/mirrors/linux-kernel
git clone --bare https://mirrors.mit.edu/kernel.org/pub/scm/linux/kernel/git/stable/linux.git .
# Автообновление через cron - раз в 6 часов
echo "0 */6 * * * root cd /srv/mirrors/linux-kernel && git fetch --all" >> /etc/cron.d/kernel-mirror
Шаг 3. Разработчики переключаются на внутреннее зеркало.
# Вместо git.kernel.org используем внутренний сервер
git clone git://192.168.1.10/linux-kernel
# Или через SSH
git clone user@192.168.1.10:/srv/mirrors/linux-kernel
Таблица зеркал kernel.org
| Зеркало | URL | Доступность из РФ | Тип |
|---|---|---|---|
| MIT CSAIL | mirrors.mit.edu | Стабильно | rsync/HTTP |
| kernel.ubuntu.com | git.launchpad.net | Стабильно | Git |
| cdn.kernel.org | cdn.kernel.org | Нестабильно | HTTP/rsync |
| Yandex Mirror | mirror.yandex.ru/kernel.org | Стабильно | HTTP |
| MGTS Mirror | mirror.mgts.ru | Стабильно | HTTP |
Связанные ресурсы, которые тоже прилетело
Вместе с kernel.org под раздачу попали смежные ресурсы. Проверь их статус если работаешь с любым из этого:
- docs.kernel.org — документация ядра
- patchwork.kernel.org — патч-трекер
- lore.kernel.org — архив рассылок
- elixir.bootlin.com — онлайн cross-reference кода ядра
По состоянию на апрель 2026 ситуация плавающая: утром доступно, вечером нет. Зависит от провайдера и того, не прилетело ли сегодня по Telegram снова.
Часть 2. AI-разработка: Hugging Face, OpenAI API и суверенный ИИ
Что упало первым
Разработка ИИ получила двойной удар. Сначала — блокировки CDN, через которые раздаются веса моделей. Потом — законопроект Минцифры марта 2026 про суверенный ИИ, который обязывает регистрировать внутренние модели в реестре российского ПО ради льгот.
Конкретно что не работает или работает через боль:
- Hugging Face Hub — скачивание моделей (Llama 3, Mistral, Gemma 2) зависает на CDN
- OpenAI API, Anthropic API, Grok — inference-запросы требуют корпоративных прокси
- GitHub Copilot — нестабильно из-за проблем с GitHub API
- Weights & Biases, MLflow cloud — телеметрия экспериментов
- Google Colab, Kaggle — GPU в облаке через VPN теперь под вопросом
Ирония 2026 года
Роскомнадзор тратит 2,27 млрд рублей на ИИ для блокировки VPN-трафика. Разработчики российских AI-решений тратят миллионы на обход тех же самых фильтров чтобы скачать обучающие данные и веса моделей. Это не парадокс — это просто наш быт.
Рецепт: self-hosted зеркало Hugging Face
Шаг 1. Поднять локальное зеркало HuggingFace Hub на внутреннем сервере.
# Устанавливаем huggingface_hub
pip install huggingface_hub
# Скачиваем модель через VPN один раз и сохраняем локально
huggingface-cli download mistralai/Mistral-7B-Instruct-v0.3 \
--local-dir /srv/models/mistral-7b \
--local-dir-use-symlinks False
Шаг 2. Поднять локальный API-сервер с моделью через Ollama или vLLM.
# Вариант через Ollama (проще)
curl -fsSL https://ollama.ai/install.sh | sh
# Добавляем модель из локальной директории
ollama create mistral-local -f /srv/models/mistral-7b/Modelfile
# Запускаем
ollama serve &
ollama run mistral-local
# Вариант через vLLM (для продакшна, OpenAI-совместимый API)
pip install vllm
python -m vllm.entrypoints.openai.api_server \
--model /srv/models/mistral-7b \
--host 0.0.0.0 \
--port 8000
Шаг 3. Приложения переключаются на внутренний endpoint.
from openai import OpenAI
# Вместо api.openai.com - внутренний сервер
client = OpenAI(
base_url="http://192.168.1.20:8000/v1",
api_key="not-needed-for-local"
)
response = client.chat.completions.create(
model="mistral-local",
messages=[{"role": "user", "content": "Привет"}]
)
print(response.choices[0].message.content)
Таблица: AI-инструменты и альтернативы
| Инструмент | Статус апрель 2026 | Альтернатива | Сложность перехода |
|---|---|---|---|
| Hugging Face Hub | Нестабильно | Self-hosted + Ollama/vLLM | Средняя |
| OpenAI API | Через прокси | Local vLLM + OpenAI-compat API | Средняя |
| GitHub Copilot | Нестабильно | Continue.dev + local LLM | Низкая |
| Google Colab GPU | Через прокси | Yandex Cloud GPU, Nebius AI | Высокая |
| Weights & Biases | Нестабильно | MLflow self-hosted | Низкая |
| YandexGPT API | Работает | — | — |
| GigaChat API | Работает | — | — |
Стоимость перехода на self-hosted AI
Честные цифры. Полноценный inference-сервер для команды из 10 разработчиков:
- Сервер с NVIDIA A100 40GB аренда — от 150 000 руб/мес в российских облаках
- Сервер с 2x RTX 4090 покупка — от 700 000 руб. разово
- Yandex Cloud GPU (a100) — от 200 руб/час
- Nebius AI (основан на Yandex, работает без VPN) — от $0.8/GPU-час
Реальный рост стоимости AI-разработки по сравнению с «просто OpenAI API» — в 1,5-2 раза. Это не предположение. Это цифры от команд которые уже перешли.
Часть 3. API и DevOps: CI/CD под ударом
Что происходит с пайплайнами
CI/CD — это вереница HTTP-запросов к внешним ресурсам. Каждый из них теперь под вопросом.
Типичный пайплайн упирается в:
- GitHub API — push, pull, Actions, webhooks
- Docker Hub — базовые образы (ubuntu, python, node)
- PyPI (pypi.org) — pip install в каждом билде
- npm registry (registry.npmjs.org) — npm ci в каждом билде
- crates.io — Rust-проекты
- pkg.go.dev — Go-модули
Статистика апреля 2026 из разных команд: падение CI/CD в 30-40% запусков. Время сборки выросло на 50-200%. Не потому что код стал хуже — потому что apt-get update ждёт ответа от archive.ubuntu.com три минуты.
Архитектура выживания DevOps
Шаг 1. Поднять Nexus Repository Manager
# Через Docker Compose
cat > /srv/nexus/docker-compose.yml << 'EOF'
version: '3.8'
services:
nexus:
image: sonatype/nexus3:latest
ports:
- "8081:8081"
- "5000:5000"
volumes:
- nexus-data:/nexus-data
restart: unless-stopped
volumes:
nexus-data:
EOF
docker compose -f /srv/nexus/docker-compose.yml up -d
После запуска открой http://192.168.1.10:8081. Начальный пароль - в файле /nexus-data/admin.password внутри контейнера.
# Достаём начальный пароль
docker exec nexus-nexus-1 cat /nexus-data/admin.password
Шаг 2. Создать прокси-репозиторий для PyPI
В Nexus UI: Repository - Repositories - Create repository - pypi (proxy).
Настройки:
Name: pypi-proxy
Remote Storage: https://pypi.org
Blob store: default
Maximum component age: 1440 (минут = 24 часа)
Настраиваем pip на внутренний репозиторий:
# В проекте создаём pip.conf
mkdir -p ~/.pip
cat > ~/.pip/pip.conf << 'EOF'
[global]
index-url = http://192.168.1.10:8081/repository/pypi-proxy/simple/
trusted-host = 192.168.1.10
EOF
Шаг 3. Зеркало npm
# Создаём npm-proxy в Nexus аналогично PyPI
# Remote Storage: https://registry.npmjs.org
# Настраиваем npm
npm config set registry http://192.168.1.10:8081/repository/npm-proxy/
Шаг 4. Harbor как registry для Docker-образов
# Скачиваем Harbor installer
wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-online-installer-v2.10.0.tgz
tar xzvf harbor-online-installer-v2.10.0.tgz
cd harbor
# Копируем конфиг
cp harbor.yml.tmpl harbor.yml
# Минимальная правка harbor.yml
# hostname: 192.168.1.10
# http: port: 5000
# https: закомментировать если нет сертификата
./install.sh
После запуска настраиваем proxy cache для Docker Hub в Harbor UI: Administration - Registries - New Endpoint - Docker Hub. Потом: Projects - New Project - включить "Proxy cache".
Шаг 5. Переключить CI на внутренние зеркала
Пример для GitHub Actions / Gitea Actions:
# .gitea/workflows/build.yml
name: Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
container:
image: 192.168.1.10:5000/library/python:3.12 # из Harbor
steps:
- uses: actions/checkout@v4
- name: Install deps
env:
PIP_INDEX_URL: http://192.168.1.10:8081/repository/pypi-proxy/simple/
PIP_TRUSTED_HOST: 192.168.1.10
run: pip install -r requirements.txt
Таблица портов внутренней инфраструктуры
| Сервис | Порт | Протокол | Назначение |
|---|---|---|---|
| Nexus UI | 8081 | HTTP/HTTPS | Веб-интерфейс, API |
| Harbor | 5000 | HTTP/HTTPS | Docker registry |
| Gitea | 3000 | HTTP/HTTPS | Git-сервер |
| Gitea SSH | 2222 | SSH | Git push/pull |
| vLLM API | 8000 | HTTP | OpenAI-compat inference |
| Ollama | 11434 | HTTP | Local LLM API |
| MLflow | 5001 | HTTP | ML experiment tracking |
Часть 4. Экономика: сколько это стоит
Цифры которые уже не удивляют
По данным Top10VPN, российская экономика потеряла от интернет-ограничений в 2025 году более 1 трлн рублей - 11,9 млрд долларов. Россия первая в мире по потерям от шатдаунов, опередив все остальные страны вместе взятые.
Прогноз на 2026 год при запуске полноценных ИИ-фильтров РКН - плюс 15-20% к этим потерям.
Что это значит для разработки конкретно:
- Средний разработчик теряет 1-2 часа в день на обход ограничений
- 600+ тыс. IT-специалистов - десятки миллионов потерянных рабочих часов ежемесячно
- Стоимость инфраструктуры выросла на 20-30%
- 630+ tech-компаний обанкротились за 11 месяцев 2025 года
- AI-проекты задерживаются на 3-6 месяцев из-за проблем с доступом к данным и моделям
Прямые операционные потери команды
| Статья потерь | Размер команды 5 чел. | Размер команды 20 чел. | Размер команды 50 чел. |
|---|---|---|---|
| Потеря продуктивности (1.5 ч/день) | ~150 000 руб/мес | ~600 000 руб/мес | ~1 500 000 руб/мес |
| Дополнительная инфраструктура | ~30 000 руб/мес | ~80 000 руб/мес | ~200 000 руб/мес |
| Задержка релизов (среднее) | +2-3 дня/спринт | +3-5 дней/спринт | +5-7 дней/спринт |
Расчёт грубый. Но порядок цифр правильный.
Часть 5. Проверка - всё ли работает
Диагностика доступности ресурсов
#!/bin/bash
# Скрипт проверки доступности ресурсов для разработки
# Запусти и посмотри что красное
RESOURCES=(
"https://git.kernel.org"
"https://github.com"
"https://pypi.org"
"https://registry.npmjs.org"
"https://hub.docker.com"
"https://huggingface.co"
"https://crates.io"
"https://pkg.go.dev"
)
echo "=== Проверка доступности ресурсов ==="
for url in "${RESOURCES[@]}"; do
code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 --max-time 10 "$url")
if [ "$code" -ge 200 ] && [ "$code" -lt 400 ]; then
echo "OK [$code] $url"
else
echo "FAIL[$code] $url"
fi
done
Проверка внутренних зеркал
# Nexus работает?
curl -s http://192.168.1.10:8081/service/rest/v1/status | python3 -m json.tool
# Harbor работает?
curl -s http://192.168.1.10:5000/v2/ -u "admin:password"
# PyPI через Nexus работает?
pip install requests --index-url http://192.168.1.10:8081/repository/pypi-proxy/simple/ --dry-run
# Docker pull через Harbor работает?
docker pull 192.168.1.10:5000/dockerhub-cache/library/python:3.12
# vLLM отвечает?
curl http://192.168.1.10:8000/v1/models
Проверка CI/CD пайплайна
# Запусти тестовый пайплайн с явными таймаутами
# Если упал - смотри какой именно шаг
# Пример диагностики медленного pip install
pip install -r requirements.txt \
--index-url http://192.168.1.10:8081/repository/pypi-proxy/simple/ \
-v 2>&1 | grep -E "(Downloading|Looking|Found|ERROR)"
Часть 6. Осложнения - что идёт не так
Типичные ошибки и как их чинить
Причина: Nexus не может достучаться до pypi.org с сервера.
Решение: настроить HTTP proxy для самого Nexus или обновить кеш вручную.
# В nexus/nexus.properties добавляем proxy для исходящих запросов
# Файл обычно в /nexus-data/etc/nexus.properties
cat >> /nexus-data/etc/nexus.properties << 'EOF'
javax.net.ssl.trustStore=/nexus-data/truststore.jks
nexus.httpclient.proxy.http.host=your-proxy.internal
nexus.httpclient.proxy.http.port=3128
EOF
Причина: не выполнен docker login на внутренний registry.
docker login 192.168.1.10:5000 -u admin -p your-password
# Если Harbor без TLS - нужно добавить в insecure-registries
# /etc/docker/daemon.json
cat > /etc/docker/daemon.json << 'EOF'
{
"insecure-registries": ["192.168.1.10:5000"]
}
EOF
systemctl restart docker
Причина: ТСПУ режет TLS хендшейк до git-сервера, не разрывая TCP-соединение.
Решение: явные таймауты в git и переход на SSH вместо HTTPS.
# Глобальные таймауты для git
git config --global http.lowSpeedLimit 1000
git config --global http.lowSpeedTime 30
# Диагностика - смотрим где зависает
GIT_CURL_VERBOSE=1 git clone https://github.com/your/repo 2>&1 | head -50
# Переходим на SSH если есть возможность
git remote set-url origin git@github.com:your/repo.git
Причина: раннер не может подключиться к github.com для клонирования.
Решение: использовать self-hosted runner или перейти на Gitea Actions с Gitea runner.
# Устанавливаем Gitea runner
# На сервере с Gitea
wget https://dl.gitea.com/act_runner/latest/act_runner-linux-amd64
chmod +x act_runner-linux-amd64
./act_runner-linux-amd64 register \
--instance http://192.168.1.10:3000 \
--token YOUR_RUNNER_TOKEN \
--name internal-runner \
--labels ubuntu-latest:docker://192.168.1.10:5000/library/ubuntu:22.04
Причина: CDN Hugging Face (Cloudflare) попадает под ковровую фильтрацию.
Решение: использовать альтернативные endpoint или скачивать через сервер за рубежом.
# Альтернативный endpoint через hf-mirror.com (китайское зеркало, часто доступно)
HF_ENDPOINT=https://hf-mirror.com huggingface-cli download \
mistralai/Mistral-7B-Instruct-v0.3 \
--local-dir /srv/models/mistral-7b
# Или через modelscope (другое зеркало)
pip install modelscope
python -c "from modelscope import snapshot_download; snapshot_download('AI-ModelScope/Mistral-7B-Instruct-v0.3')"
Часть 7. Безопасность внутренней инфраструктуры
Минимальный чеклист безопасности
# 1. Смени дефолтные пароли СРАЗУ после установки
# Nexus, Harbor, Gitea - везде меняй admin пароль в первый запуск
# 2. Настрой firewall - Nexus и Harbor не должны быть доступны извне
ufw allow from 192.168.0.0/16 to any port 8081
ufw allow from 192.168.0.0/16 to any port 5000
ufw deny 8081
ufw deny 5000
# 3. Включи TLS для всех внутренних сервисов (Let's Encrypt или внутренний CA)
# Генерируем внутренний CA
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 1826 -key ca.key -out ca.crt \
-subj "/C=RU/O=YourCompany Internal CA/CN=internal.ca"
# 4. Включи RBAC в Harbor
# Administration - Users - создай отдельных пользователей с минимальными правами
# 5. Настрой ротацию логов
cat >> /etc/logrotate.d/nexus << 'EOF'
/nexus-data/log/*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
}
EOF
Резервное копирование зеркал
#!/bin/bash
# Бэкап Nexus blob store
BACKUP_DIR=/backup/nexus/$(date +%Y%m%d)
mkdir -p $BACKUP_DIR
# Nexus должен быть в режиме read-only во время бэкапа
# или используем snapshot на уровне файловой системы
rsync -av --delete /nexus-data/blobs/ $BACKUP_DIR/blobs/
rsync -av /nexus-data/db/ $BACKUP_DIR/db/
# Harbor - экспортируем через replication или просто rsync
rsync -av /data/harbor/ /backup/harbor/$(date +%Y%m%d)/
# Что бэкапим:
# Nexus: /nexus-data (конфиги + blobs)
# Harbor: /data/harbor (registry данные)
# Gitea: /data/gitea (репозитории + база)
echo "Backup completed: $BACKUP_DIR"
Часть 8. Альтернативные решения
GitFlic как замена GitHub
GitFlic - российская платформа, работает без VPN, есть API совместимый с GitHub в базовых операциях. Из коробки: приватные репозитории, CI/CD, issue tracker. Ограничения: экосистема меньше, сторонние интеграции нужно проверять.
# Добавляем GitFlic как remote
git remote add gitflic https://gitflic.ru/project/yourname/yourrepo.git
# Push в GitFlic
git push gitflic main
# Или переносим основной remote
git remote set-url origin https://gitflic.ru/project/yourname/yourrepo.git
Gitea как полностью self-hosted Git
# Быстрый старт через Docker
docker run -d \
--name gitea \
-p 3000:3000 \
-p 2222:22 \
-v /srv/gitea:/data \
--restart=always \
gitea/gitea:latest
Альтернативный стек для команды
| Компонент | Заменяет | Решение | Лицензия |
|---|---|---|---|
| Хостинг кода | GitHub | Gitea / GitFlic | MIT / Проприетарная |
| CI/CD | GitHub Actions | Gitea Actions / Jenkins | MIT / Apache 2.0 |
| Пакеты Python | PyPI | Nexus proxy | Apache 2.0 |
| Пакеты npm | npmjs.org | Nexus proxy / Verdaccio | Apache 2.0 / MIT |
| Docker images | Docker Hub | Harbor + proxy cache | Apache 2.0 |
| LLM inference | OpenAI API | vLLM / Ollama | Apache 2.0 / MIT |
| ML tracking | W&B | MLflow self-hosted | Apache 2.0 |
| Мониторинг | Datadog | Prometheus + Grafana | Apache 2.0 |
Часть 9. Профилактика: не ломать снова
Мониторинг доступности
# Простой мониторинг через cron + алерты в Telegram
cat > /usr/local/bin/check-mirrors.sh < /dev/null
fi
}
check_url "http://192.168.1.10:8081/service/rest/v1/status" "Nexus"
check_url "http://192.168.1.10:5000/v2/" "Harbor"
check_url "http://192.168.1.10:3000" "Gitea"
check_url "http://192.168.1.10:8000/v1/models" "vLLM"
EOF
chmod +x /usr/local/bin/check-mirrors.sh
echo "*/5 * * * * root /usr/local/bin/check-mirrors.sh" >> /etc/cron.d/mirror-check
Автообновление зеркал
# Обновление Linux kernel mirror
cat > /etc/cron.d/mirrors <&1 | logger -t kernel-mirror
# Синхронизация PyPI snapshots - раз в сутки (если нужно полное зеркало, не прокси)
30 2 * * * root /usr/local/bin/sync-pypi.sh 2>&1 | logger -t pypi-sync
EOF
Документирование инфраструктуры
Одна строка в crontab без комментария - через полгода никто не помнит зачем она. Документируй всё что поднял. Хотя бы в README.md в Gitea.
# Минимальный шаблон документации для внутренней инфраструктуры
cat > /srv/README.md << 'EOF'
# Внутренняя инфраструктура для обхода блокировок
## Сервисы
- Nexus: http://192.168.1.10:8081 (пакеты Python, npm, Docker)
- Harbor: http://192.168.1.10:5000 (Docker registry)
- Gitea: http://192.168.1.10:3000 (Git)
- vLLM: http://192.168.1.10:8000 (LLM inference)
## Обновлено
$(date +%Y-%m-%d) - $(whoami)
## Доступы
Логины в Bitwarden, тег "internal-infra"
## Как восстановить после краша
1. Поднять docker compose -f /srv/nexus/docker-compose.yml up -d
2. Восстановить из бэкапа /backup/nexus/latest
3. Проверить check-mirrors.sh
EOF
Часть 10. Долгосрочный прогноз
Куда движется отрасль
К концу 2026 года IT-рынок России движется к расщеплению на два сегмента. Первый - суверенный: госзаказы, КИИ, полная изоляция от внешних инструментов. Второй - экспортный: команды с инфраструктурой за рубежом, работающие с международными клиентами.
Позитивный эффект блокировок - ускоренное развитие отечественных аналогов. GitFlic растёт. Yandex Cloud и Nebius расширяют GPU-мощности. GigaChat и YandexGPT получают больше вложений. Отечественные дистрибутивы Linux становятся более самостоятельными.
Негативный эффект - глобальная конкурентоспособность падает. Если тенденция продолжится, к 2027 году российский IT потеряет 20-25% темпов роста по оценкам аналитиков. Утечка мозгов продолжается - разработчики переезжают или переносят инфраструктуру туда где нет фильтров.
Что делать прямо сейчас
Ирония в том, что государство добивается импортозамещения - а блокировки тормозят именно тех, кто создаёт российские продукты. Но это наша реальность на 2026 год. Жить и работать в ней можно - нужен правильный стек.
Если у тебя команда до 10 человек - достаточно Nexus + Gitea + Ollama. Поднимается за день, поддерживается одним человеком.
Если 20+ человек - добавляй Harbor, выделяй отдельный сервер под зеркала, настраивай мониторинг и бэкапы.
Если работаешь с AI - самое время разворачивать self-hosted inference. Модели класса Mistral 7B и Gemma 9B закрывают 80% задач помощи в коде и обработки текста. И работают без VPN и без задержек из Москвы в Сан-Франциско.
FAQ
Почему git.kernel.org заблокирован если Linux не запрещён?
Потому что ТСПУ работает по IP-диапазонам и сигнатурам трафика, а не по белым спискам. Когда замедляют Telegram или блокируют VPN-сервисы - под раздачу попадают случайные ресурсы в тех же CDN-диапазонах. Роскомнадзор это признаёт, но не считает своей проблемой. Решение - внутренние зеркала.
Как проверить что проблема в блокировке а не в моей сети?
# Сравниваем MTR через разные интерфейсы
# Без VPN:
mtr --report --report-cycles 10 git.kernel.org
# С VPN (если работает):
mtr --report --report-cycles 10 git.kernel.org
# Смотрим где пакеты теряются. Потери на 3-5 хопе внутри России - ТСПУ.
# Потери дальше - проблема маршрутизации к конкретному ресурсу.
# Альтернатива - traceroute
traceroute -n github.com
# Быстрая проверка - сравниваем время ответа с VPN и без
time curl -s -o /dev/null https://github.com
time curl -s -o /dev/null --proxy socks5://127.0.0.1:1080 https://github.com
Что если компания лишится IT-аккредитации из-за VPN?
IT-аккредитация даёт льготы - сниженный налог на прибыль (0% до 2025, 5% с 2025), льготная ставка по взносам, отсрочка от армии для сотрудников. Потеря аккредитации - удар по операционным расходам. Компании с госзаказами также теряют возможность участвовать в тендерах. Поэтому крупные игроки (Сбер, Яндекс, VK) и начали блокировать VPN-пользователей - не потому что хотят, а потому что это условие сохранения льгот.
Почему CI/CD падает даже когда GitHub работает?
GitHub может быть доступен, но конкретный запрос из CI может уходить через другой маршрут или другой IP. Также: GitHub Actions использует несколько десятков IP-диапазонов, часть которых попадает под фильтры. Второй фактор - GitHub API rate limits на корпоративных IP. Третий - CDN для скачивания артефактов Actions отличается от CDN для git операций. Решение - self-hosted runners в твоей инфраструктуре.
Как скачать модель с Hugging Face если она 70 гигабайт?
Три варианта. Первый: арендовать VPS за рубежом, скачать туда, потом rsync в локальную сеть. Второй: использовать hf-mirror.com - китайское зеркало, часто доступно без VPN. Третий: использовать квантизированные версии - GGUF форматы в 4bit занимают в 4-6 раз меньше. Mistral 7B в Q4 весит около 4 GB вместо 14 GB в bf16.
# Скачать квантизированную модель (намного легче)
# TheBloke раньше был основным поставщиком GGUF, сейчас есть unsloth и другие
HF_ENDPOINT=https://hf-mirror.com huggingface-cli download \
unsloth/Mistral-7B-Instruct-v0.3-GGUF \
--include "Mistral-7B-Instruct-v0.3-Q4_K_M.gguf" \
--local-dir /srv/models/
# Запустить через llama.cpp без GPU
./llama.cpp/llama-server -m /srv/models/Mistral-7B-Instruct-v0.3-Q4_K_M.gguf --port 8080
Что если внутренний Nexus сам стал недоступен?
# Проверяем статус контейнера
docker ps | grep nexus
docker logs nexus-nexus-1 --tail 50
# Типичные причины:
# 1. Кончилось место на диске
df -h /nexus-data
# 2. OOM killer прибил процесс
dmesg | grep -i "out of memory" | tail -10
# 3. Порт занят
ss -tlnp | grep 8081
# Перезапуск
docker compose -f /srv/nexus/docker-compose.yml restart
Системные требования для внутренней инфраструктуры
| Сервис | CPU | RAM | Диск | ОС |
|---|---|---|---|---|
| Nexus Repository | 2+ vCPU | 4+ GB | 100+ GB SSD | Ubuntu 22.04 / RHEL 8+ |
| Harbor Registry | 2+ vCPU | 4+ GB | 200+ GB SSD | Ubuntu 22.04 / RHEL 8+ |
| Gitea | 1+ vCPU | 1+ GB | 50+ GB SSD | Ubuntu 22.04 / любая Linux |
| vLLM (GPU) | 8+ vCPU | 32+ GB | 200+ GB SSD | Ubuntu 22.04 + CUDA 12+ |
| Ollama (CPU) | 8+ vCPU | 16+ GB | 50+ GB SSD | Ubuntu 22.04 / macOS 14+ |
| MLflow | 2+ vCPU | 4+ GB | 50+ GB SSD | Ubuntu 22.04 / любая Linux |
На момент публикации (апрель 2026) актуальны: Nexus 3.67, Harbor 2.10, Gitea 1.22, vLLM 0.4, Ollama 0.2. Перед установкой проверь свежие релизы на официальных страницах.
Оставайтесь на связи
Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.
Подписаться на IT-Аптеку →



