---
date: 2026-05-12
type: decision
status: applied
tags: [openwrt, podkop, fakeip, amneziawg, iphone, doh, instagram, sergey]
aliases: [Sergey Instagram, OpenWrt_Sergey Instagram, iPhone DoH FakeIP]
---

# 2026-05-12 — Sergey: «Инста не работает» — диагноз и фикс

## Кейс

Сергей (объект [[../projects/sergey/README|OpenWrt_Sergey]], Одинцово, Cudy TR3000 v1, 100.70.110.164) пожаловался Олегу — на телефоне **не открывается Instagram** через его роутер. Стек обхода: podkop v0.7.14 + sing-box 1.12.12 + AmneziaWG (kmod) до VLESS-Singapore endpoint `202.71.12.186`, community_lists = `russia_inside`, `telegram`, `meta`.

## Что проверил (на роутере)

| Проверка | Результат |
|---|---|
| AmneziaWG `awg0` handshake | свежий (1:37 назад), 11.5 GiB rx |
| Sing-box процесс | running PID 11491 |
| nft mangle + tproxy 127.0.0.1:1602 | 108k TCP / 2598 UDP пакетов прошли |
| FakeIP для `www.instagram.com` через `192.168.1.1` (dnsmasq роутера) | `198.18.0.17` ✅ |
| FakeIP для `i.instagram.com` | `198.18.0.6` ✅ |
| FakeIP для `scontent.cdninstagram.com` | `198.18.0.27` ✅ |
| `curl --interface awg0 https://www.instagram.com/` с роутера | HTTP/2 200 ✅ |
| WAN exit IP без VPN | `217.73.118.172` (NetByNet, РФ) |
| WAN exit IP через `awg0` | `202.71.12.186` (Финляндия/Helsinki — в старых доках ошибочно «Singapore») ✅ |
| `podkop list_update` | прошёл 09:13 сегодня без ошибок |
| DNS 8.8.8.8 / 1.1.1.1 не режется провайдером | подтверждено nslookup'ом |

**На стороне роутера всё исправно.** Никаких правок инфраструктуры не нужно.

## Реальная причина

В DHCP-leases роутера активен ровно **один клиент** — `192.168.1.102`, MAC `2e:7f:8c:ce:07:8a` (рандомизированный — бит `02` в первом октете), т.е. iPhone/Android с приватным Wi-Fi-MAC. Все маркеры указывают на **iPhone, который обходит роутерный DNS**:

1. **iCloud Private Relay** — целиком тоннелирует трафик Safari + системные DNS через Apple-серверы (`mask.icloud.com`), минуя локальный dnsmasq. FakeIP не успевает подменить IP.
2. **Encrypted DNS** в Safari / приложении Instagram / Chrome (DoH к `1.1.1.1:443` или `dns.google:443` по TCP) — те же симптомы.
3. **Кастомный DNS-профиль** в настройках Wi-Fi сети — устройство просто игнорирует роутерный DNS.

В любом из трёх случаев клиент получает **реальный IP** `157.240.x.x` от внешнего DoH-резолвера, и DPI провайдера (`NetByNet`) блочит TLS handshake по SNI `instagram.com`.

## Фикс — клиент-сайд (приоритет)

Скажи Сергею выключить на iPhone в таком порядке:

1. **Настройки → имя сверху → iCloud → Частный узел → ВЫКЛ**
2. **Настройки → Wi-Fi → ⓘ его сети → Настройка DNS → Автоматически**
3. **Safari → Конфиденциальность и безопасность → Скрывать IP-адрес → ВЫКЛ**
4. Если ходит через **Chrome**: `chrome://settings/security` → DNS через HTTPS → **ВЫКЛ**
5. Wi-Fi выкл/вкл на телефоне (сбросить кэш DNS клиента)

Этих действий достаточно в **80%+ случаев** для подобных сетапов.

## Фикс — роутер-сайд (если клиентский путь не помог)

В podkop v0.7.14 **нет встроенной опции** "force DNS / block DoH" — делать вручную через nft. Опционально — у домашнего OpenWrt Олега это уже сделано (`projects/dttb/openwrt-router.md`: «DNS Hijack: перехватывает порт 53 → 10.0.0.1»).

Шаги для Сергея (если потребуется):

```sh
# 1) Принудительный редирект исходящего DNS:53 на роутер
nft 'add rule inet fw4 dstnat iifname "br-lan" meta l4proto { tcp, udp } th dport 53 dnat ip to 192.168.1.1:53'

# 2) Drop DoH/DoT к публичным резолверам (TCP/443 + TCP/853)
nft 'add set inet fw4 doh_servers { type ipv4_addr; flags interval; elements = { 1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 9.9.9.9, 149.112.112.112 } }'
nft 'add rule inet fw4 forward iifname "br-lan" ip daddr @doh_servers tcp dport { 443, 853 } reject with tcp reset'

# 3) Закрепить в /etc/firewall.user или uci
```

Также можно поднять AdGuard Home (как у Олега в HomeLab) — он по умолчанию форсит свой `:53` и фильтрует DoH-домены. Сейчас у Сергея AGH **не установлен** — стек чисто `dnsmasq → 127.0.0.42 (sing-box) → upstream`.

## Что НЕ является проблемой

- **Шум в логе sing-box** — `ERROR ... {GUID}-netseer-ipaddr-assoc.xy.fbcdn.net: empty result`. Это Meta NetSeer probes (anti-CDN-detection), штатное поведение Meta. Игнорировать.
- **`check_fakeip` показывает 217.73.118.172** — это российский WAN IP роутера. Тестовый домен (`ip.podkop.fyi`) не в community-listах, идёт direct через WAN — это норма для проверки.

## Связанное

- [[../projects/sergey/README]] — полный recon роутера
- [[../snippets/podkop-fakeip-diagnostics]] — типовой playbook для диагностики любого подкоп-роутера
- [[../projects/dttb/openwrt-router]] — домашний OpenWrt Олега, где DNS-hijack уже включён
- [[2026-04-30-openwrt-homelab-agh-podkop-chain]] — стек AGH+podkop у Олега дома (как референс)
