Исправлено навсегда: выход 202.71.12.186 = Финляндия (AdminVPS/HOSTKEY Helsinki), НЕ Сингапур; метка VLESS-Singapore — ошибочное имя секции

This commit is contained in:
dttb
2026-06-30 09:36:34 +03:00
parent 8f2466c897
commit 525e23d963
8 changed files with 12 additions and 12 deletions

View File

@@ -16,7 +16,7 @@
## VPN / Подкоп (Podkop v0.7.14) ## VPN / Подкоп (Podkop v0.7.14)
- sing-box 1.12.22, статус: running - sing-box 1.12.22, статус: running
- Секция main: VPN через awg0 (AmneziaWG), список russia_inside - Секция main: VPN через awg0 (AmneziaWG), список russia_inside
- Секция Vless: прокси VLESS-Singapore (202.71.12.186:443, Reality) - Секция Vless: прокси VLESS-Singapore (метка секции — выход Финляндия) (202.71.12.186:443, Reality)
- DNS: DoH (https://common.dot.dns.yandex.net/dns-query), bootstrap: 77.88.8.8 - DNS: DoH (https://common.dot.dns.yandex.net/dns-query), bootstrap: 77.88.8.8
- ВАЖНО: DNS переключён с UDP на DoH, т.к. домашний роутер (10.0.0.1) перехватывает порт 53 и имеет свой подкоп — двойная обработка вызывала context deadline exceeded - ВАЖНО: DNS переключён с UDP на DoH, т.к. домашний роутер (10.0.0.1) перехватывает порт 53 и имеет свой подкоп — двойная обработка вызывала context deadline exceeded
- FakeIP: 198.18.0.0/15, работает - FakeIP: 198.18.0.0/15, работает

View File

@@ -24,7 +24,7 @@ aliases: [Sergey Instagram, OpenWrt_Sergey Instagram, iPhone DoH FakeIP]
| FakeIP для `scontent.cdninstagram.com` | `198.18.0.27` ✅ | | FakeIP для `scontent.cdninstagram.com` | `198.18.0.27` ✅ |
| `curl --interface awg0 https://www.instagram.com/` с роутера | HTTP/2 200 ✅ | | `curl --interface awg0 https://www.instagram.com/` с роутера | HTTP/2 200 ✅ |
| WAN exit IP без VPN | `217.73.118.172` (NetByNet, РФ) | | WAN exit IP без VPN | `217.73.118.172` (NetByNet, РФ) |
| WAN exit IP через `awg0` | `202.71.12.186` (Singapore) ✅ | | WAN exit IP через `awg0` | `202.71.12.186` (Финляндия/Helsinki — в старых доках ошибочно «Singapore») ✅ |
| `podkop list_update` | прошёл 09:13 сегодня без ошибок | | `podkop list_update` | прошёл 09:13 сегодня без ошибок |
| DNS 8.8.8.8 / 1.1.1.1 не режется провайдером | подтверждено nslookup'ом | | DNS 8.8.8.8 / 1.1.1.1 не режется провайдером | подтверждено nslookup'ом |

View File

@@ -37,7 +37,7 @@ aliases: [Benilux, benilux, Бенелюкс, "OpenWrt Benilux"]
### На Cudy ### На Cudy
- **podkop v0.7.14** + sing-box 1.12.22 — обход блокировок: - **podkop v0.7.14** + sing-box 1.12.22 — обход блокировок:
- Main: VPN через `awg0` (AmneziaWG), списки `russia_inside` + `telegram` + `meta` (последние два добавлены 2026-05-20 — без них Telegram не резолвился в FakeIP) - Main: VPN через `awg0` (AmneziaWG), списки `russia_inside` + `telegram` + `meta` (последние два добавлены 2026-05-20 — без них Telegram не резолвился в FakeIP)
- Vless: VLESS-Singapore (`202.71.12.186:443`, Reality) - Vless: VLESS-Singapore (метка секции — выход Финляндия) (`202.71.12.186:443`, Reality)
- DNS: DoH (`https://common.dot.dns.yandex.net/dns-query`), bootstrap 77.88.8.8 - DNS: DoH (`https://common.dot.dns.yandex.net/dns-query`), bootstrap 77.88.8.8
- FakeIP: `198.18.0.0/15`, QUIC отключён - FakeIP: `198.18.0.0/15`, QUIC отключён
- Clash API: `192.168.1.1:9090` - Clash API: `192.168.1.1:9090`

View File

@@ -9,7 +9,7 @@ aliases: [OpenWrt_4 Canal+, canal-plus-runbook, француз обход]
# OpenWrt_4 (француз, Москва) — обход + Canal+: рунбук выезда # OpenWrt_4 (француз, Москва) — обход + Canal+: рунбук выезда
> **Контекст.** Клиент-француз в Москве. Cudy TR3000 (`OpenWrt_4`, NetBird `100.70.235.2`), podkop + AmneziaWG + NetBird. Завтра — **смена провайдера** + первичная настройка **Canal+**. > **Контекст.** Клиент-француз в Москве. Cudy TR3000 (`OpenWrt_4`, NetBird `100.70.235.2`), podkop + AmneziaWG + NetBird. Завтра — **смена провайдера** + первичная настройка **Canal+**.
> **Главная зависимость:** Canal+ / myCanal гео-блочит по IP → нужен **французский IP**. У Олега франц-выхода не было (только Финляндия/Сингапур) → поднимаем **FR VPS + AmneziaWG**. > **Главная зависимость:** Canal+ / myCanal гео-блочит по IP → нужен **французский IP**. У Олега франц-выхода не было (только Финляндия) → поднимаем **FR VPS + AmneziaWG**.
> **Устройство Canal+:** Apple TV / Smart TV / приставка (гео по IP) → **роутим устройство целиком** через FR-туннель (`pbr`), без гонки за доменами Canal+. > **Устройство Canal+:** Apple TV / Smart TV / приставка (гео по IP) → **роутим устройство целиком** через FR-туннель (`pbr`), без гонки за доменами Canal+.
> Модель/грабли подкопа: [[../../snippets/podkop-reference]]. Диагностика: [[../../snippets/podkop-fakeip-diagnostics]]. > Модель/грабли подкопа: [[../../snippets/podkop-reference]]. Диагностика: [[../../snippets/podkop-fakeip-diagnostics]].

View File

@@ -35,7 +35,7 @@ aliases: [Sergey, sergey, OpenWrt_Sergey, Одинцово, Cudy_TR3000_Sergey]
- **WAN** `eth0` — внутри провайдерского сегмента **192.168.0.0/24**, IP `192.168.0.136`, gateway `192.168.0.1` (двойной NAT — за провайдерским роутером). - **WAN** `eth0` — внутри провайдерского сегмента **192.168.0.0/24**, IP `192.168.0.136`, gateway `192.168.0.1` (двойной NAT — за провайдерским роутером).
- **LAN** `br-lan` 192.168.1.0/24, роутер 192.168.1.1. - **LAN** `br-lan` 192.168.1.0/24, роутер 192.168.1.1.
- **Внешний публичный IP без VPN**: `217.73.118.172` (NetByNet, РФ). - **Внешний публичный IP без VPN**: `217.73.118.172` (NetByNet, РФ).
- **Внешний IP через awg0**: `202.71.12.186` (Singapore VPS, общий VLESS endpoint Олега). - **Внешний IP через awg0**: `202.71.12.186` (Finland (Helsinki/HOSTKEY) VPS, общий VLESS endpoint Олега).
- **NetBird** `wt0` 100.70.110.164/16. - **NetBird** `wt0` 100.70.110.164/16.
## Установлено ## Установлено
@@ -54,7 +54,7 @@ aliases: [Sergey, sergey, OpenWrt_Sergey, Одинцово, Cudy_TR3000_Sergey]
| Секция | Connection | Outbound | community_lists | | Секция | Connection | Outbound | community_lists |
|---|---|---|---| |---|---|---|---|
| `main` | vpn | `awg0` (AmneziaWG → Singapore) | `russia_inside`, `telegram`, `meta` | | `main` | vpn | `awg0` (AmneziaWG → Finland/Helsinki) | `russia_inside`, `telegram`, `meta` |
| `vlees` | proxy | VLESS Reality SNI=googletagmanager (202.71.12.186:443) — резерв | `russia_inside` | | `vlees` | proxy | VLESS Reality SNI=googletagmanager (202.71.12.186:443) — резерв | `russia_inside` |
DNS: `udp 8.8.8.8`, bootstrap `77.88.8.8`, `disable_quic=1`, `log_level=warn`. DNS: `udp 8.8.8.8`, bootstrap `77.88.8.8`, `disable_quic=1`, `log_level=warn`.

View File

@@ -13,7 +13,7 @@ SSH="ssh -i /root/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=
CFG=/root/.openclaw/openclaw.json # источник токена бота CFG=/root/.openclaw/openclaw.json # источник токена бота
CHAT=1292155421 # Олег @it5870 CHAT=1292155421 # Олег @it5870
HS_MAX=200 # макс. возраст awg-handshake, сек HS_MAX=200 # макс. возраст awg-handshake, сек
PRIMARY=awg0 # основной выход (Singapore) PRIMARY=awg0 # основной выход (Finland-Helsinki)
SECONDARY=awg1 # резервный выход (Finland) — если поднят SECONDARY=awg1 # резервный выход (Finland) — если поднят
STATE=/root/.benelux-wd.state # счётчик подряд-провалов + шаг лестницы STATE=/root/.benelux-wd.state # счётчик подряд-провалов + шаг лестницы
@@ -124,7 +124,7 @@ case "$STEP" in
1) # переподнять интерфейс / переключить на резерв 1) # переподнять интерфейс / переключить на резерв
if [ "$AWG1" = 1 ] && [ "$IFACE" = "$PRIMARY" ] && [ "$AGE1" -lt "$HS_MAX" ] && [ "$PING1" = 1 ]; then if [ "$AWG1" = 1 ] && [ "$IFACE" = "$PRIMARY" ] && [ "$AGE1" -lt "$HS_MAX" ] && [ "$PING1" = 1 ]; then
$SSH "uci set podkop.main.interface=$SECONDARY; uci commit podkop; /etc/init.d/podkop restart" >/dev/null 2>&1 $SSH "uci set podkop.main.interface=$SECONDARY; uci commit podkop; /etc/init.d/podkop restart" >/dev/null 2>&1
heals="🔧 Шаг2: основной выход ($PRIMARY/Singapore) мёртв → переключил на резерв $SECONDARY (Finland).\n" heals="🔧 Шаг2: основной выход ($PRIMARY/Finland-Helsinki) мёртв → переключил на резерв $SECONDARY (Finland).\n"
else else
$SSH "ifdown $IFACE; sleep 2; ifup $IFACE; sleep 3; /etc/init.d/podkop restart" >/dev/null 2>&1 $SSH "ifdown $IFACE; sleep 2; ifup $IFACE; sleep 3; /etc/init.d/podkop restart" >/dev/null 2>&1
heals="🔧 Шаг2: переподнял интерфейс $IFACE + рестарт podkop.\n" heals="🔧 Шаг2: переподнял интерфейс $IFACE + рестарт podkop.\n"

View File

@@ -65,8 +65,8 @@ ss -ulnp 2>&1 | grep ":53"; uci show dhcp.@dnsmasq[0] | grep -E "server|noresolv
| Объект | Роутер / доступ | conn/iface | EXIT | Списки | Заметки | | Объект | Роутер / доступ | conn/iface | EXIT | Списки | Заметки |
|--------|-----------------|-----------|------|--------|---------| |--------|-----------------|-----------|------|--------|---------|
| **НИИКН** | OpenWrt VM101 `192.168.1.50` (jump pve-niikn `100.70.120.229`) | vpn/awg0 | Финляндия `78.17.4.225` | `meta`,`youtube`,`telegram` | `russia_outside` убран; gov через NetBird→LionART + dnsmasq-override (backup); watchdog на pve-niikn | | **НИИКН** | OpenWrt VM101 `192.168.1.50` (jump pve-niikn `100.70.120.229`) | vpn/awg0 | Финляндия `78.17.4.225` | `meta`,`youtube`,`telegram` | `russia_outside` убран; gov через NetBird→LionART + dnsmasq-override (backup); watchdog на pve-niikn |
| **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn/awg0 | Сингапур `202.71.12.186` | `russia_inside`,`telegram`,`meta` | VLESS-резерв `vlees` | | **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn/awg0 | Финляндия (Helsinki/HOSTKEY) `202.71.12.186` | `russia_inside`,`telegram`,`meta` | VLESS-резерв `vlees` |
| **Benelux** | Cudy TR3000 `100.70.207.97`, ssh **mac-ed25519 ключ** (пароль закрыт) | vpn/awg0 | Сингапур `202.71.12.186` | `russia_inside`,`telegram`,`meta` (+`githubusercontent.com`) | list_update чинён (raw.git заведён в обход); `download_lists_via_proxy=1` ломает sing-box — держать `0` | | **Benelux** | Cudy TR3000 `100.70.207.97`, ssh **mac-ed25519 ключ** (пароль закрыт) | vpn/awg0 | Финляндия (Helsinki/HOSTKEY) `202.71.12.186` | `russia_inside`,`telegram`,`meta` (+`githubusercontent.com`) | list_update чинён (raw.git заведён в обход); `download_lists_via_proxy=1` ломает sing-box — держать `0` |
| **Переделки** | [[../projects/peredelki/credentials]] | — | — | проверить | fwmark-патч `-150→-140` (coexistence с NetBird) | | **Переделки** | [[../projects/peredelki/credentials]] | — | — | проверить | fwmark-патч `-150→-140` (coexistence с NetBird) |
| **HomeLab dttb** | [[../projects/dttb/openwrt-router]] | — | — | — | цепочка с AGH: `dnsmasq→AGH:5353→127.0.0.42`; DNS-hijack стоит | | **HomeLab dttb** | [[../projects/dttb/openwrt-router]] | — | — | — | цепочка с AGH: `dnsmasq→AGH:5353→127.0.0.42`; DNS-hijack стоит |
| **Krasnogorsk / Znamenskoye** | см. project README | — | — | проверить | TODO аудит inside/outside | | **Krasnogorsk / Znamenskoye** | см. project README | — | — | проверить | TODO аудит inside/outside |

View File

@@ -32,7 +32,7 @@ Podkop = обёртка над **sing-box** (+ туннель AmneziaWG/VLESS),
**Главное, что нужно усвоить:** **Главное, что нужно усвоить:**
- FakeIP (`198.18.0.0/15`) получают **только домены из подключённых списков**. Всё остальное идёт напрямую. - FakeIP (`198.18.0.0/15`) получают **только домены из подключённых списков**. Всё остальное идёт напрямую.
- Туннель несёт **только** FakeIP-трафик. Значит «что заворачивается» = «какие списки подключены». Ошибся со списком → не тот трафик в туннеле. - Туннель несёт **только** FakeIP-трафик. Значит «что заворачивается» = «какие списки подключены». Ошибся со списком → не тот трафик в туннеле.
- **EXIT-нода туннеля определяет, КУДА выходит завёрнутый трафик.** У всех объектов Олега EXIT — **зарубежный** (Финляндия/Сингапур). Поэтому в туннель должно попадать только то, что нужно открывать с **зарубежного** IP (заблокированное РКН). Российский сайт в туннеле → выходит с зарубежного IP → гео-блок. - **EXIT-нода туннеля определяет, КУДА выходит завёрнутый трафик.** У всех объектов Олега EXIT — **зарубежный** (Финляндия). Поэтому в туннель должно попадать только то, что нужно открывать с **зарубежного** IP (заблокированное РКН). Российский сайт в туннеле → выходит с зарубежного IP → гео-блок.
--- ---
@@ -186,7 +186,7 @@ nslookup ozon.ru 127.0.0.42
| Объект | Роутер / доступ | conn / iface | EXIT | Списки | Статус | | Объект | Роутер / доступ | conn / iface | EXIT | Списки | Статус |
|--------|-----------------|--------------|------|--------|--------| |--------|-----------------|--------------|------|--------|--------|
| **НИИКН** | OpenWrt VM101 `192.168.1.50` (jump pve-niikn `100.70.120.229`) | vpn / awg0 | Финляндия `78.17.4.225` | `meta`,`youtube`,`telegram` + `user_domains`: Google AI, grok/x.ai, **anthropic.com+claude.ai** (2026-06-25) | ✅ `russia_outside` убран 2026-05-29; gov через NetBird→LionART маршруты + dnsmasq-overrides (backup); watchdog на pve-niikn. AI-сервисы блокируют РФ-IP (anthropic→403 гео) → заводить в `user_domains` (dynamic). claude.ai отдаёт CF-challenge 403 в curl, но в браузере ОК | | **НИИКН** | OpenWrt VM101 `192.168.1.50` (jump pve-niikn `100.70.120.229`) | vpn / awg0 | Финляндия `78.17.4.225` | `meta`,`youtube`,`telegram` + `user_domains`: Google AI, grok/x.ai, **anthropic.com+claude.ai** (2026-06-25) | ✅ `russia_outside` убран 2026-05-29; gov через NetBird→LionART маршруты + dnsmasq-overrides (backup); watchdog на pve-niikn. AI-сервисы блокируют РФ-IP (anthropic→403 гео) → заводить в `user_domains` (dynamic). claude.ai отдаёт CF-challenge 403 в curl, но в браузере ОК |
| **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn / awg0 | Сингапур `202.71.12.186` | `russia_inside`,`telegram`,`meta` | ✅ корректно (inside); VLESS-резерв `vlees` | | **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn / awg0 | Финляндия (Helsinki/HOSTKEY) `202.71.12.186` | `russia_inside`,`telegram`,`meta` | ✅ корректно (inside); VLESS-резерв `vlees` |
| **Переделки** | см. [[../projects/peredelki/README]] / [[../projects/peredelki/credentials]] | — | — | проверить | fwmark-патч -150→-140 (NetBird coexistence) | | **Переделки** | см. [[../projects/peredelki/README]] / [[../projects/peredelki/credentials]] | — | — | проверить | fwmark-патч -150→-140 (NetBird coexistence) |
| **Benelux** | Cudy TR3000 `100.70.207.97`, ssh mac-ed25519 (compromise 2026-05-20) | vpn / awg0 | **Финляндия/Hostkey** `202.71.12.186` (ip-api: Helsinki; «Singapore» в старых доках — ошибка) | `russia_inside`,`telegram`,`meta` (+ user_domains: `githubusercontent.com`, иностр. сервисы клиента `vodafone.es`,`edf.fr`,`emiratesnbd.com`,`mabanque/connexion-mabanque.bnpparibas`) | ✅ 2026-06-27: иностр. банки клиента заведены в туннель — шли мимо обхода российским WAN-IP → гео/санкц-блок (BNP 403/EDF 503/ENBD 403); через EU-выход 200/404, BNP упирается в Akamai Bot Manager (curl, не гео — в браузере ок). 2026-06-17: обход ОК (TG 302 / WA 200), `russia_outside` нет; list_update чинён (raw.git в обход — RKN блокировал WAN-загрузку); `download_lists_via_proxy=1` сломал sing-box, откатан | | **Benelux** | Cudy TR3000 `100.70.207.97`, ssh mac-ed25519 (compromise 2026-05-20) | vpn / awg0 | **Финляндия/Hostkey** `202.71.12.186` (ip-api: Helsinki; «Singapore» в старых доках — ошибка) | `russia_inside`,`telegram`,`meta` (+ user_domains: `githubusercontent.com`, иностр. сервисы клиента `vodafone.es`,`edf.fr`,`emiratesnbd.com`,`mabanque/connexion-mabanque.bnpparibas`) | ✅ 2026-06-27: иностр. банки клиента заведены в туннель — шли мимо обхода российским WAN-IP → гео/санкц-блок (BNP 403/EDF 503/ENBD 403); через EU-выход 200/404, BNP упирается в Akamai Bot Manager (curl, не гео — в браузере ок). 2026-06-17: обход ОК (TG 302 / WA 200), `russia_outside` нет; list_update чинён (raw.git в обход — RKN блокировал WAN-загрузку); `download_lists_via_proxy=1` сломал sing-box, откатан |
| **HomeLab dttb** | [[../projects/dttb/openwrt-router]] (Cudy TR3000 `10.0.0.1`) | vpn / **awg2** | **Финляндия** `151.241.234.241:41624` | `meta`,`russia_inside`,`telegram`,`google_ai` | ✅ 2026-06-23 на awg2; резерв awg0 `202.71.12.186`. Цепочка `dnsmasq→AGH:5353→127.0.0.42`; DNS-hijack стоит. Грабля: per-iface `rp_filter=2` обязателен (см. §5) | | **HomeLab dttb** | [[../projects/dttb/openwrt-router]] (Cudy TR3000 `10.0.0.1`) | vpn / **awg2** | **Финляндия** `151.241.234.241:41624` | `meta`,`russia_inside`,`telegram`,`google_ai` | ✅ 2026-06-23 на awg2; резерв awg0 `202.71.12.186`. Цепочка `dnsmasq→AGH:5353→127.0.0.42`; DNS-hijack стоит. Грабля: per-iface `rp_filter=2` обязателен (см. §5) |