Files
knowledge-base/decisions/2026-05-29-niikn-diadoc-ozon-fix.md
dttb 5949452bcf niikn: КОРНЕВОЙ фикс — убрал russia_outside из podkop (ломал РФ-сайты)
russia_outside = РФ-сайты для доступа из-за границы; для офиса в РФ он фейкапил
gosuslugi/ozon/ЕИС/nspd и гнал в финский выход → гео-блок. Убран — РФ-сайты резолвятся
реально (проверено sing-box 127.0.0.42), overrides больше не нужны, цикл слётов разорван.
Инсайт Олега про inside/outside. Watchdog niikn-podkop-watchdog на pve-niikn сторожит откат.
Заодно: исправлены перепутанные chat_id (Олег=1292155421, Максим=437242345).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:24:04 +03:00

8.2 KiB
Raw Blame History

date, type, tags
date type tags
2026-05-29 decision
niikn
network
ozon
diadoc
podkop
netbird
lionart
troubleshooting

НИИКН: diadoc.ru и ozon.ru не открывались — два разных корня

🎯 ИТОГ / КОРНЕВОЕ РЕШЕНИЕ (2026-05-29, вечер)

Из podkop убран список russia_outside — он и был первопричиной всех повторяющихся жалоб на gov/РФ-сайты. russia_outside (itdoginfo) = «РФ-сайты, доступные только из РФ-подсетей, для людей за границей». Для офиса в РФ он подменял gosuslugi/ozon/ЕИС/nspd на FakeIP и гнал в финский туннель → гео-блок «Доступ ограничен». Правильный «in-Russia bypass» список — russia_inside (заблокированное зарубежное), но он не нужен: точечные meta/youtube/telegram уже покрывают рабочее. Спасибо инсайту Олега про inside/outside. Проверка (sing-box 127.0.0.42 до/после): РФ-сайты перестали фейкапиться (стали реальными), заблокированные (instagram/youtube/whatsapp) остались в туннеле. Эффект: dnsmasq-overrides больше не нужны (оставлены как backup) — слетать и ломать больше нечему. Цикл «реконфиг → слетело → сломалось» разорван в корне. Сторож: niikn-podkop-watchdog.sh на pve-niikn (cron */15) следит, чтобы russia_outside не вернулся при обновлении podkop; алерт через Антошку (@maxim_dttb_bot) Олегу (chat 1292155421). Всё ниже — история диагностики и legacy-обходы (override/маршруты), они остаются как backup.

Жалоба: «в НИИКН не заходит на www.diadoc.ru и на озон». Оказалось — две независимые причины, не связанные с (изначально подозреваемыми) потерянными overrides.

Диагноз

Сайт Резолв на клиенте Путь Корень проблемы
ozon.ru 198.18.x (FakeIP) podkop list russia_outside → sing-box → awg0 → Финляндия Ozon гео-блокирует зарубежные IP. РФ-сайт нельзя гнать через финский выход.
diadoc.ru 46.17.203.154 (реальный, direct) клиент → MikroTik → MTS WAN 85.235.181.190 MTS-IP чёрная дыра к Контуру (TCP timeout 12с). С LionART (195.26.30.163) — TCP/TLS ок, отдаёт 200 (на curl без UA — 403 анти-бот).

Ключевое: пути у них разные (ozon — через туннель, diadoc — напрямую), поэтому и фиксы разные.

Решения

ozon.ru — DNS override (как nspd)

# OpenWrt 192.168.1.50
uci add_list dhcp.@dnsmasq[0].server='/ozon.ru/77.88.8.8'
uci add_list dhcp.@dnsmasq[0].server='/ozon.ru/8.8.8.8'
uci commit dhcp && /etc/init.d/dnsmasq restart

Один override /ozon.ru/ покрывает всю зону (www, xapi, api, finance). CDN ozone.ru и так был прямым. Теперь *.ozon.ru → реальный IP → прямой MTS (РФ-IP) → Ozon отдаёт сайт.

diadoc.ru — маршрут через NetBird → pve-LionART (как nspd/zakupki)

# 1. NetBird route (id d8cljnbl0ubs7386r1ug)
#    46.17.203.0/24 (AS49675 SKB Kontur) → peer cuisnd3l0ubs73bsbbl0 (LionART), group cqgcidrl0ubs73f2hgf0
# 2. MikroTik 192.168.1.1:
/ip route add dst-address=46.17.203.0/24 gateway=192.168.1.201 comment="diadoc via NetBird->LionART"
# 3. MASQUERADE -s 192.168.1.0/24 -o wt0 на pve-niikn — уже стоял (systemd)

DNS-override для diadoc НЕ нужен — он и так резолвится в реальный IP.

Проверка

  • diadoc: с реального офисного ПК (maul-pc, 192.168.1.89, после ipconfig /flushdns) → www.diadoc.ru HTTP 200.
  • ozon: клиент резолвит реальный IP; серверы Ozon отвечают (307 + Set-Cookie). curl упирается в анти-бот «Доступ ограничен» (403) — но одинаково с MTS и с LionART (двух разных чистых РФ-IP) ⇒ блок по fingerprint curl, не по IP ⇒ браузер JS-challenge проходит. Маршрут через LionART для ozon смысла не имеет (там тот же 403).

Сопутствующие находки

  • awg0 туннель ЖИВ (UP, 10.8.1.16/32, ping через него 28мс). Раннее подозрение «туннель лёг» = ложная тревога: busybox ip не поддерживает флаг -brip -br link молча пуст. Проверять ip addr show <if> / ip link show <if> без -br. См. ../projects/niikn/openwrt-bypass.
  • gosuslugi.ru сейчас FakeIP'ится (198.18.2.204 → Финляндия) = сломан, override снова потерян. Прочие РФ-маркетплейсы (WB, СберМаркет, Я.Маркет, М.Видео, Авито) — direct, ок.
  • russia_outside в podkop ловит РФ-сайты узко (ozon, gosuslugi), не массово. Если будут жалобы на другие РФ-сайты — проверять FakeIP и при необходимости рассмотреть удаление russia_outside из community_lists (для офиса в РФ финский выход для РФ-сайтов вреден).

Дополнение (тот же день): ЕИС + восстановление overrides + проверка podkop

Олег добавил: «ЕИС тоже не работает, проверь на Максиме Мауле; и podkop проверь, что заблокированные сайты работают».

  • podkop/туннель — OK. С maul-pc: youtube/instagram→200, whatsapp соединяется. tproxy-счётчик 8.3M пакетов (растёт), awg0 несёт трафик. Заблокированные работают.
  • ЕИС (zakupki.gov.ru) был сломан по той же причине, что gosuslugi: override слетел → FakeIP→Финляндия. В живом uci show dhcp оставались только nspd+ozon.
  • Восстановил ВСЕ слетевшие overrides (sev, zakupki, gosuslugi, rosreestr, culture, economy). После рестарта dnsmasq + flushdns на клиенте: zakupki.gov.ru200 (через уже существующий route 95.167.245.0/24→LionART), gosuslugi/sev/rosreestr/culture/economy200 (через MTS напрямую — class A подтверждён). Проверено на maul-pc.
  • lk.zakupki.gov.ru (ЛК ЕИС)НЕ сетевая проблема: ГОСТ-TLS (alert 40 с MTS и с LionART), 94.25.0.0/17. Нужен Yandex Browser (нативный ГОСТ) + КриптоПро/ЭЦП. Маршрут не поможет.

Вывод: главная причина массовых жалоб НИИКН на gov-сайты = периодически слетающие dnsmasq-overrides (известная болячка podkop-реконфигов). Сильный кандидат на watchdog (cron на pve-niikn: проверять uci show dhcp и доливать недостающие overrides + алерт через Антошку).

Связанные