todo/Zapret/hosts.md

111 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date: 2026-08-28
tags:
- hosts
- dns
- geo
- zapret
- troubleshooting
aliases:
- Как обойти GEO-блокировку через hosts
- chatgpt.com не открывается в России
- Unable to load site что делать
- Вкладка hosts в Zapret GUI
- Не работают DNS-провайдеры в списке hosts
- Как узнать IP сайта и прописать вручную
description: "Файл hosts против GEO-ограничений: как работает вкладка hosts в Zapret GUI, почему с августа 2026 провайдеры из списка отваливаются и как вписать IP вручную."
---
> [!mirror] Резервное зеркало
> Актуальная версия этой страницы — на основной вики: [wiki.zapret.moe/Zapret/hosts](https://wiki.zapret.moe/Zapret/hosts)
# Ошибки GEO-ограничений или сайт сам себя заблокировал для РФ
Файл `hosts` — самый быстрый и лёгкий способ разблокировать сайты и ресурсы которые заблокировали сами себя от пользователей из СНГ или России. В данном случае это не блокировка Роскомнадзора и такие способы как [[Zapret2/Zapret2|Zapret 2]] будут бесполезны.
Стратегии не помогут так как тут нечего разблокировать — сайт **УЖЕ** работает в России (*открывается*), просто **САМ** сайт не хочет соединяться с пользователем из санкционной страны. В таком случае надо обмануть сайт и поменять своё местоположение на другое — а Zapret, как известно, локальное решение которое это не умеет. Но есть способы для этого — и о них позже.
> [!warning] Если провайдеры из списка не работают — это август 2026, а не поломка Zapret
> С конца августа 2026 у части пользователей вкладка `hosts` перестала подставлять адреса: список DNS-провайдеров перебирается, а сайт по-прежнему не открывается. Причина обычно не в программе, а в том, что до самих резолверов больше не достучаться — соединения к серверам шифрованного DNS рвут по имени, а открытые DNS-запросы подменяют. Что именно происходит и как это проверить — в разделе «Провайдеры перестали отвечать» ниже; там же — как получить адрес вручную и вписать его самому.
## Типичная блокировка выглядит так
Ошибка `Unable to load site` к доступу к https://chatgpt.com, означает что сайт блокирует к себе доступ по GEO-ограничению (для россиян). Нужно перепроверить hosts на то что там указан вообще домен сайта, если такая ошибка значит в hosts его нет.
![[Pasted image 20251220223211.png]]
Вы можете купить [[Zapret/premium|премиум]] чтобы использовать KVN для [[Zapret/android|Android]] устройств (*или править `hosts файл` через root права, имея, например, AdWay*), а для ПК проще, надёжнее всего (*и самое главное **БЕСПЛАТНО***) будет использовать редактор файла hosts через [[Zapret2/guide|Zapret GUI]].
## Как обойти GEO-блокировку через Zapret GUI
Предположим что Вы на Windows машине хотите получить доступ к `chatgpt.com` или любому другому такому сайту. Чтобы получить доступ к нему Вам следует перейти во вкладку `hosts`:
![[Pasted image 20260226175310.png]]
После чего выбрать нужный DNS-провайдера для нужного сайта:
![[Pasted image 20260226175331.png]]
После чего перезапустите браузер.
Иногда бывает что этот провайдер не работает — тогда выберите другого провайдера из выпадающего списка и снова перезапустите браузер — какой-то из провайдеров у Вас в итоге должен заработать.
## Провайдеры перестали отвечать
Смысл выпадающего списка в том, что программа спрашивает адрес сайта у выбранного публичного DNS-сервера и подставляет полученный IP в файл `hosts`. Пока сервер отвечает — всё работает. С августа 2026 у части абонентов эта цепочка рвётся на первом же шаге, причём сразу по двум причинам.
Во-первых, соединения к серверам шифрованного DNS обрывают по имени сервера. Под раздачу попали `dns.google`, `cloudflare-dns.com`, `dns.adguard.com`, `dns.quad9.net` и другие — именно те, что обычно стоят в подобных списках. Подробный разбор, чем это лечится (домен резолвера добавляется в хостлист [[Zapret2/Zapret2|Zapret]], дальше работают обычные стратегии), — в заметке [[Zapret/doh-cherez-zapret|Поможет ли zapret, если провайдер блокирует DoH]].
Во-вторых, обычные незашифрованные запросы к `8.8.8.8` и `1.1.1.1` у части абонентов перехватывают и заворачивают на государственные резолверы, которые на заблокированные домены отвечают «такого имени не существует». Механика, признаки и способы проверки — в заметке [[DPI/tspu-dns-nsdi-dnat-august-2026|Перехват DNS на ТСПУ]]. Предыстория этой конструкции — в заметке [[DPI/nsdi-domain-removal-2026|НСДИ как рубильник]].
Проще говоря: программа не «сломалась» и не «разучилась» — ей просто неоткуда взять адрес. Перебор провайдеров в списке помогает ровно до тех пор, пока в нём остаётся хоть один рабочий.
### Как понять, что дело именно в этом
Быстрая проверка занимает полминуты. Запросите адрес нужного сайта у публичного резолвера двумя способами и сравните:
```bash
nslookup chatgpt.com 8.8.8.8
nslookup -vc chatgpt.com 8.8.8.8
```
Первая команда идёт по UDP, вторая — по TCP. Если первая отвечает «Не удаётся найти» / `Non-existent domain`, а вторая возвращает адреса, ваши открытые DNS-запросы подменяют по дороге. Если обе команды молчат или отвечают ошибкой — до резолвера вообще не достучаться.
### Как вписать адрес вручную
Если ни один провайдер из списка не отвечает, адрес можно добыть в обход и записать в `hosts` руками — эффект будет тот же, программа лишь автоматизирует эту работу.
Где взять настоящий адрес:
- [ ] запросом по TCP, который сейчас обычно проходит: `nslookup -vc chatgpt.com 8.8.8.8` (Windows) или `dig +tcp +short chatgpt.com @8.8.8.8` (Linux, macOS);
- [ ] с включённым VPN или прокси — тогда запрос уходит через туннель и возвращается неиспорченным;
- [ ] с любого зарубежного сервера, к которому у вас есть доступ;
- [ ] через веб-сервисы проверки DNS — но помните, что вы доверяете адрес незнакомому сайту, а `hosts` как раз отключает всякую дальнейшую проверку.
Куда записать: файл `C:\Windows\System32\drivers\etc\hosts` в Windows (открывать блокнотом **от имени администратора**) или `/etc/hosts` в Linux и macOS. Строка — адрес, пробел, имя:
```
104.18.32.47 chatgpt.com
104.18.32.47 chat.openai.com
```
После правки сбросьте кеш DNS (`ipconfig /flushdns` в Windows, `resolvectl flush-caches` в Linux) и перезапустите браузер. Проверить, что запись подхватилась, можно командой `ping chatgpt.com` — она покажет тот адрес, который вы вписали.
> [!note] Чего файл hosts не умеет
> Масок он не понимает: строка `*.openai.com` работать не будет, каждый поддомен вписывается отдельно. Адреса крупных сервисов со временем меняются, так что запись однажды протухнет и её придётся обновлять. И главное — `hosts` решает только вопрос «какой адрес», поэтому против блокировки по имени сайта в TLS-приветствии он бесполезен: там соединение рвут уже после того, как адрес получен, и нужен [[Zapret2/Zapret2|Zapret]].
> [!warning] Запись не действует? Проверьте «безопасный DNS» в браузере
> Файл `hosts` читает системный резолвер, а браузер с включённым шифрованным DNS (Chrome и Edge — «Использовать безопасный DNS», Firefox — «DNS через HTTPS») резолвит имена сам и системный путь обходит, а вместе с ним и `hosts`. У Firefox это давно описанная особенность режима TRR (баги Mozilla [#1624112](https://bugzilla.mozilla.org/show_bug.cgi?id=1624112) и [#1511643](https://bugzilla.mozilla.org/show_bug.cgi?id=1511643)), обходится отключением режима или списком исключений `network.trr.excluded-domains`; о том же поведении Chrome сообщают пользователи. Если строка в файле прописана верно, а сайт всё равно не открывается — выключите безопасный DNS в браузере и проверьте снова. DoH на уровне системы (Windows 11, `systemd-resolved`) файлу не мешает.
## 📚 См. также
- [[Zapret2/guide|Zapret GUI]] — где находится вкладка hosts и как ей пользоваться
- [[Zapret/doh-cherez-zapret|Поможет ли zapret при блокировке DoH]] — что делать, если заблокирован сам DNS-резолвер
- [[DPI/tspu-dns-nsdi-dnat-august-2026|Перехват DNS на ТСПУ (август 2026)]] — почему открытые DNS-запросы возвращают «домена не существует»
- [[DPI/nsdi-domain-removal-2026|НСДИ как рубильник]] — предыстория: как домены убирали из государственной базы
- [[Zapret2/find-domain-owner|Как найти владельца домена]] — если нужно понять, куда на самом деле ведёт адрес
---
> [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ
> При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование доступно в Forgejo: [исходник этой заметки](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main/Zapret/hosts.md) · [скачать весь репозиторий одним zip-архивом](https://git.zapret.moe/zapretdiscordyoutube/todo/archive/main.zip).