← Cloudflare One / cloudflare-one / traffic-policies / dns-policies
Тестирование DNS фильтрации
В этом разделе описано, как проверить конфигурацию Gateway DNS. Тестирование политик после настройки помогает убедиться, что запросы фильтруются как ожидается, прежде чем полагаться на них в продакшене.
Предварительные требования
Прежде чем начать, убедитесь, что ваше устройство отправляет DNS-запросы в Gateway. Сделать это можно одним из двух способов:
- Cloudflare One Client : Если ваше устройство работает под управлением Cloudflare One Client, DNS-запросы автоматически направляются через Gateway.
- DNS-локация : Если вы используете развёртывание только DNS (без Cloudflare One Client), убедитесь, что DNS-резолвер вашей сети указывает на ваш DNS-локации Gateway IP-адрес.
Протестируйте политику DNS
После создания DNS-политики для блокировки домена вы можете использовать либо dig (инструмент командной строки для поиска DNS-записей, доступен в macOS и Linux) или nslookup (доступен в Windows), чтобы проверить, работает ли политика так, как задумано.
Например, если вы создали политику для блокировки example.com, вы можете выполнить следующее, чтобы убедиться, что Gateway успешно блокирует example.com:
-
Откройте терминал.
-
Type
dig example.com(nslookup example.comесли вы используете Windows) и нажмите Ввод. -
В
digвывод, проверьтеstatus:поле в строке заголовка (строка, начинающаяся с;; ->>HEADER<<-). Если страница блокировки отключён для политики, вы должны увидетьREFUSED: код ответа DNS, означающий, что сервер отказался отвечать на запрос:dig example.com; <<>> DiG 9.10.6 <<>> example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 6503 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;example.com. IN A ;; Query time: 46 msec ;; SERVER: 172.64.36.1#53(172.64.36.1) ;; WHEN: Tue Mar 10 20:22:18 CDT 2020 ;; MSG SIZE rcvd: 29Если страница блокировки включено для политики, вы должны увидеть
NOERROR(это означает, что запрос был разрешен) в заголовке с162.159.36.12и162.159.46.12в качестве ответов. Это IP-адреса страницы блокировки Cloudflare:dig example.com; <<>> DiG 9.10.6 <<>> example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR id: 14531 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1452 ;; QUESTION SECTION: ;example.com. IN A ;;ANSWER SECTION: example.com. 60 IN A 162.159.36.12 example.com. 60 IN A 162.159.46.12 ;; Query time: 53 msec ;; SERVER: 172.64.36.1#53(172.64.36.1) ;; WHEN: Tue Mar 10 20:19:52 CDT 2020 ;; MSG SIZE rcvd: 83
Протестируйте категорию безопасности или содержимого
Если вы блокируете категория безопасности или категория контента, вы можете проверить, что политика работает, с помощью тестовый домен связанный с каждой категорией.
После настройки политики Gateway на блокировку категории тестовый домен будет показывать страницу блокировки при попытке открыть его в браузере или возвращать REFUSED когда вы выполняете dig с помощью интерфейса командной строки.
Формат тестового домена
-
Категория из одного слова : Для категорий с однословными названиями (например, Вредоносное ПО), тестовый домен использует следующий формат:
<NAME_OF_CATEGORY>.testcategory.com -
Категория из нескольких слов : Для категорий, названия которых состоят из нескольких слов (например, Припаркованные домены и домены на продажу), тестовый домен использует следующий формат:
- Удалите все пробелы между словами
- Замените
&сand - Все буквы в нижнем регистре
Распространённые тестовые домены
| Категория | Тестовый домен |
|---|---|
| Анонимайзер | anonymizer.testcategory.com |
| Command and Control & Botnet | commandandcontrolandbotnet.testcategory.com |
| скомпрометированный домен | compromiseddomain.testcategory.com |
| Криптомайнинг | cryptomining.testcategory.com |
| Вредоносное ПО | malware.testcategory.com |
| Новые домены | newdomains.testcategory.com |
| Припаркованные домены и домены на продажу | parkedandforsaledomains.testcategory.com |
| Фишинг | phishing.testcategory.com |
| Potentially Unwanted Software | potentiallyunwantedsoftware.testcategory.com |
| Приватный IP-адрес | privateipaddress.testcategory.com |
| Спам | spam.testcategory.com |
| Шпионское ПО | spyware.testcategory.com |
| Недоступно | unreachable.testcategory.com |
Тестирование конфигурации EDNS
EDNS Client Subnet (ECS) представляет собой расширение DNS, которое передаёт часть IP-адреса пользователя авторитетным DNS-серверам, что позволяет им возвращать географически оптимальные ответы. Cloudflare отправляет первые /24 IP-адреса пользователя для сохранения конфиденциальности, при этом сохраняя информацию о местоположении. Если вы включённый EDNS Client Subnet для вашей DNS-локации, вы можете проверить её следующим образом:
-
Получите поддомен DoH (DNS over HTTPS) для вашего DNS-местоположения:
- В Панель управления Cloudflare ↗, перейдите в Zero Trust > Сети > Резолверы и прокси > Локации DNS.
- Выберите DNS-локацию, которую вы тестируете.
- Обратите внимание на значение DNS поверх HTTPS.
-
Откройте терминал и выполните следующую команду:
curl 'https://<DOH_SUBDOMAIN>.cloudflare-gateway.com/dns-query?type=TXT&name=o-o.myaddr.google.com' -H 'Accept: application/dns-json' | json_ppВывод должен содержать вашу клиентскую подсеть EDNS:
{ "AD": false, "Answer": [ { "TTL": 60, "data": "\"108.162.218.211\"", "name": "o-o.myaddr.google.com", "type": 16 }, { "TTL": 60, "data": "\"edns0-client-subnet 136.62.0.0/24\"", "name": "o-o.myaddr.google.com", "type": 16 } ], "CD": false, "Question": [ { "name": "o-o.myaddr.google.com", "type": 16 } ], "RA": true, "RD": true, "Status": 0, "TC": false } -
Чтобы проверить свой EDNS client subnet, получите свой исходный IP-адрес:
curl ifconfig.me136.62.12.156%IP-адрес источника должен входить в диапазон /24, указанный вашим EDNS Client Subnet.
Очистка кэша DNS
Современные веб-браузеры и операционные системы кэшируют DNS-записи в течение определённого времени. При запросе DNS-записи браузер в первую очередь проверяет собственный кэш. Если ответ уже находится в кэше, может показаться, что политика DNS не работает.
Чтобы очистить кэш DNS:
ChromeOS
- Перейдите в
chrome://net-internals/#dns. - Выберите Очистка кэша хоста.
Windows
- Откройте командную строку от имени администратора или PowerShell.
- Выполните следующую команду:
ipconfig /flushdnsmacOS
- Откройте Terminal.
- Выполните следующие команды:
sudo killall -HUP mDNSResponder
sudo killall mDNSResponderHelper
sudo dscacheutil -flushcache