# 2026-04-14: Восстановление системы обхода блокировок НИИКН ## Проблема Система обхода блокировок на базе OpenWrt + AmneziaWG + Podkop не работала: - Заблокированные сайты (Instagram, WhatsApp, Telegram) недоступны - `podkop check_proxy` — timeout - AWG туннель: handshake устарел на 12+ часов - Пинг через туннель: 100% packet loss ## Диагностика ### 1. Базовая проверка ```bash # Finland VPS работает ssh root@78.17.4.225 # ✓ OK docker ps | grep amnezia-awg2 # ✓ UP 17 hours # OpenWrt VM работает ssh root@192.168.1.50 # ✓ OK ip addr show awg0 # ✓ UP, IP: 10.8.1.4/32 # Podkop и sing-box запущены podkop get_status # ✓ enabled podkop get_sing_box_status # ✓ running ``` ### 2. Проблема с handshake ```bash # На сервере docker exec amnezia-awg2 wg show awg0 | grep 10.8.1.4 # latest handshake: 12 hours, 14 minutes, 45 seconds ago # endpoint: 176.62.183.186:63753 # СТАРЫЙ IP! # Текущий IP НИИКН curl ifconfig.me # 202.71.12.186 # IP ИЗМЕНИЛСЯ! ``` **Вывод:** IP изменился, туннель не может обновить endpoint на сервере. ### 3. Проверка connectivity ```bash # Пинг до Finland VPS ping -c 3 78.17.4.225 # 100% packet loss # Но это из-за ICMP DROP на сервере # Пинг до Google DNS ping -c 3 8.8.8.8 # 0% loss # Интернет работает # tcpdump на сервере tcpdump -i any -n 'udp port 39202' # Пакеты приходят от 85.235.181.190 (другой клиент) # НЕТ пакетов от 202.71.12.186 (НИИКН) ``` **Вывод:** OpenWrt не отправляет пакеты на Finland VPS. ### 4. Проверка firewall ```bash # Firewall zones uci show firewall | grep zone # lan: network='lan' # wan: network='wan' 'wan6' # awg0 ОТСУТСТВУЕТ! # nftables output chain nft list chain inet fw4 output # oifname "br-lan" jump output_lan # oifname "awg0" jump output_wan # Есть, но зона не настроена ``` **Вывод:** awg0 не добавлен в WAN firewall зону → пакеты не отправляются. ### 5. Проверка конфигурации AWG ```bash uci show network.awg0 # private_key='jfqknYLvJKYp++cjJPxV...' # СТАРЫЙ КЛЮЧ # addresses='10.8.1.4/32' # СТАРЫЙ IP ``` **Вывод:** Используется устаревшая конфигурация AWG. ## Решение ### 1. Добавить awg0 в firewall WAN зону ```bash ssh root@192.168.1.50 uci add_list firewall.@zone[1].network='awg0' uci commit firewall /etc/init.d/firewall reload ``` ### 2. Обновить конфигурацию AWG Новая конфигурация (из предоставленного файла): - IP: **10.8.1.16/32** - Private key: `41XMQFlPlq6FU4EBhqjayPvcDQJU+c+WQjabqs3ILbI=` ```bash uci set network.awg0.private_key='41XMQFlPlq6FU4EBhqjayPvcDQJU+c+WQjabqs3ILbI=' uci set network.awg0.addresses='10.8.1.16/32' uci commit network ``` ### 3. Перезапустить интерфейс ```bash ifdown awg0 sleep 2 ifup awg0 ``` ## Результат ### Проверка handshake ```bash docker exec amnezia-awg2 wg show awg0 | grep 10.8.1.16 # peer: 10.8.1.16/32 # endpoint: 85.235.181.190:51940 # Новый endpoint # latest handshake: 17 seconds ago # ✓ РАБОТАЕТ! # transfer: 6.80 KiB received, 17.16 KiB sent ``` ### Проверка connectivity ```bash # Пинг через туннель ping -c 3 -I awg0 8.8.8.8 # 0% loss, RTT ~23ms # ✓ OK # FakeIP DNS nslookup instagram.com 127.0.0.42 # 198.18.0.239 # ✓ OK # WhatsApp nslookup web.whatsapp.com 127.0.0.42 # 198.18.0.4 # ✓ OK ``` ## Выводы ### Основные причины проблемы 1. **awg0 не был в firewall зоне** — пакеты блокировались на выходе 2. **Устаревшая конфигурация AWG** — старый IP и приватный ключ ### Критичные моменты **⚠️ ВАЖНО:** awg0 **ДОЛЖЕН** быть добавлен в firewall WAN зону, иначе туннель не работает! ```bash # Проверка uci show firewall.@zone[1].network | grep awg0 # Должно быть: firewall.cfg03dc81.network='wan' 'wan6' 'awg0' ``` ### Что работает - ✅ AWG туннель: handshake актуален, transfer активен - ✅ WhatsApp (все домены) через обход - ✅ Instagram, Facebook, Threads через список "meta" - ✅ Telegram через обход - ✅ FakeIP DNS (198.18.0.0/15) - ✅ Podkop + sing-box ### Документация обновлена - [openwrt-bypass.md](/root/.claude/knowledge-base/projects/niikn/openwrt-bypass.md) — полная документация - [niikn-vpn-status.md](/root/.claude/projects/-root/memory/niikn-vpn-status.md) — статус и конфигурация ## Команды для мониторинга ```bash # Проверка туннеля на OpenWrt ssh root@192.168.1.50 "ip addr show awg0 && ping -c 2 -I awg0 8.8.8.8" # Проверка handshake на сервере ssh root@78.17.4.225 "docker exec amnezia-awg2 wg show awg0 | grep -A 5 '10.8.1.16'" # Проверка FakeIP ssh root@192.168.1.50 "nslookup instagram.com 127.0.0.42" ``` ## Теги `#niikn` `#openwrt` `#amneziawg` `#podkop` `#bypass` `#firewall` `#fix`