← Cloudflare One / cloudflare-one / networks / resolvers-and-proxies / dns
DNS over HTTPS (DoH)
S Cloudflare Gateway můžete filtrovat požadavky DNS over HTTPS (DoH) pomocí Umístění DNS nebo podle uživatele, aniž by bylo nutné instalovat Cloudflare One Client na vašich zařízeních.
Zásady založené na umístění vyžadují, abyste DNS požadavky odesílali na endpoint DoH specifický pro danou lokalitu, zatímco zásady založené na identitě vyžadují, aby požadavky obsahovaly token DoH specifický pro uživatele.
Filtrovat požadavky DoH podle lokality
Zásady založené na umístění vyžadují, abyste DNS dotazy odesílali na jedinečný DoH endpoint přiřazenou lokalitě:
https://<YOUR_DOH_SUBDOMAIN>.cloudflare-gateway.com/dns-queryPředpoklady
Získejte pro svou lokalitu DoH subdoména.
Nakonfigurujte prohlížeč pro DoH
Prohlížeče lze nakonfigurovat tak, aby používaly libovolný endpoint DNS over HTTPS (DoH). Pokud se rozhodnete nakonfigurovat DoH přímo v prohlížeči, musíte jako svůj endpoint DoH zvolit umístění Gateway DNS, jinak v daném prohlížeči nebude docházet k filtrování DNS.
Mozilla Firefox
- Ve Firefoxu přejděte do Nastavení.
- V Privacy & Security, přejděte na DNS over HTTPS.
- V části Povolte zabezpečené DNS pomocí, vyberte Maximální ochrana.
- V Zvolte poskytovatele, vyberte Custom.
- Do pole zadejte
https://<YOUR_DOH_SUBDOMAIN>.cloudflare-gateway.com/dns-query.
Firefox je nyní nakonfigurován tak, aby používal váš DoH endpoint. Další informace o konfiguraci nastavení DoH ve Firefoxu najdete v Dokumentace Mozilly ↗.
Google Chrome
- V Chromu přejděte na Nastavení > Ochrana soukromí a zabezpečení > Security.
- Přejděte dolů a zapněte Použít zabezpečené DNS.
- Vyberte S vlastním.
- V Zadejte vlastního poskytovatele pole zadejte
https://<YOUR_DOH_SUBDOMAIN>.cloudflare-gateway.com/dns-query.
Přečtěte si více o povolení DNS přes HTTPS ↗ v Chromu.
Microsoft Edge
- V Microsoft Edge přejděte do Nastavení.
- Vyberte Privacy, Search, and Services, a přejděte dolů na Security.
- Zapněte Použít zabezpečené DNS.
- Vyberte Vybrat poskytovatele služby.
- V Zadejte vlastního poskytovatele pole zadejte
https://<YOUR_DOH_SUBDOMAIN>.cloudflare-gateway.com/dns-query.
Brave
- V prohlížeči Brave přejděte na Nastavení > Zabezpečení a soukromí > Security.
- Zapněte Použít zabezpečené DNS.
- Vyberte S vlastním.
- V Zadejte vlastního poskytovatele pole zadejte
https://<YOUR_DOH_SUBDOMAIN>.cloudflare-gateway.com/dns-query.
Safari
Safari v současné době nepodporuje DNS over HTTPS.
Vaše DNS dotazy se nyní budou odesílat do Gateway k filtrování. Chcete-li tyto požadavky filtrovat, vytvořte zásadu DNS pomocí DNS lokalita selektor.
Nakonfigurujte operační systém pro DoH
Windows 11
-
Získejte
AaAAAAhodnoty záznamu přidružené k vašemu DoH endpointu pro danou lokalitu.- Spusťte následující příkaz pro získání vašeho
Ahodnoty záznamu:
nslookup -type=A <your-subdomain>.cloudflare-gateway.com- Získejte svůj
AAAAhodnoty záznamu.
nslookup -type=AAAA <your-subdomain>.cloudflare-gateway.com- Zkopírujte výsledné IP adresy.
- Spusťte následující příkaz pro získání vašeho
-
Přidejte adresy do svého seznamu známých DoH serverů.
- Spusťte následující příkaz pro každou adresu:
Add-DnsClientDohServerAddress -ServerAddress <IP-address> -DohTemplate https://<your-subdomain>.cloudflare-gateway.com/dns-query -AllowFallbackToUdp $False -AutoUpgrade $False- Ověřte, že byly adresy přidány.
Get-DnsClientDohServerAddress -
Ve Windows přejděte do Nastavení > Network & internet > vaše aktivní internetové připojení. Tato možnost může být buď Ethernet nebo Wi-Fi.
-
V části Přiřazení DNS serveru, vyberte Úprava.
-
V rozbalovací nabídce zvolte Ruční.
-
Povolit IPv4.
-
V Preferred DNS a Alternativní DNS, zadejte adresy IPv4 ze svého
Apříkaz pro záznam. Nastavte DNS over HTTPS na Zapnuto (automatická šablona). -
Povolit IPv6.
-
V Preferred DNS a Alternativní DNS, zadejte adresy IPv6 ze svého
AAAApříkaz pro záznam. Nastavte DNS over HTTPS na Zapnuto (automatická šablona).
Windows Server 2022
Získejte A a AAAA hodnoty záznamu přidružené k vašemu DoH endpointu pro danou lokalitu.
- Spusťte následující příkaz pro získání vašeho
Ahodnoty záznamu:
nslookup -type=A <your-subdomain>.cloudflare-gateway.com- Získejte svůj
AAAAhodnoty záznamu.
nslookup -type=AAAA <your-subdomain>.cloudflare-gateway.com- Zkopírujte výsledné IP adresy.
- Přidejte adresy ↗ do seznamu známých serverů DoH.
- Konfigurace klienta Windows Server ↗ nebo nastavit zásadu skupiny (Group Policy) ↗ k použití DoH.
Další informace najdete v tématu Průvodce Microsoftu k DoH ↗ pro Windows Server 2022 a novější.
Použít obecný DoH endpoint
Požadavky DoH můžete odesílat na obecný endpoint Cloudflare DoH, dns.cloudflare-gateway.com. Chcete-li ve svém požadavku určit lokalitu, zahrňte hlavičku s názvem cf-dns-location s hodnotou subdomény DoH vaší lokality. Například:
GET /dns-query?name=example.com&type=A HTTP/2
Host: dns.cloudflare-gateway.com
cf-dns-location: 9y65g5srsm
Accept: application/dns-messageFiltrovat požadavky DoH podle uživatele
Aby bylo možné filtrovat dotazy DoH podle identity uživatele, musí každý dotaz obsahovat autentizační token specifický pro daného uživatele. Pokud má jeden uživatel více zařízení a chcete uplatňovat zásady specifické pro jednotlivá zařízení, musíte každé zařízení namapovat na jiný e-mail.
V současné době lze ověřovací tokeny generovat pouze přes API. Tento příkaz můžete spustit interaktivní skript Python který automatizuje postup nastavení, nebo postupujte podle níže popsaných kroků.
1. Vytvořte service token pro účet
Každý účet Cloudflare může mít pouze jeden aktivní Access token služby autorizován pro DNS over HTTPS (DoH) najednou.
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/service_tokens" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{"name":"ACME Corporation service token"}'Uložte token služby client_id, client_secret, a id.
Ukázková odpověď
{
"result": {
"client_id": "88bf3b6d86161464f6509f7219099e57.access",
"client_secret": "cfast_EqN8f9vx3sKOSY4mwCMCbZYb02L4OvfAkacLAqTZ63a435a7",
"created_at": "2022-06-09T01:59:17Z",
"enabled": true,
"expires_at": "2023-06-09T01:59:17Z",
"id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
"name": "ACME Corporation service token",
"updated_at": "2022-06-09T01:59:17Z"
},
"success": true,
"errors": [],
"messages": []
}2. Povolte funkci DoH pro token služby
curl --request PUT \
"https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/organizations/doh/$SERVICE_TOKEN_ID" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Pokud se zobrazí access.api.error.service_token_not_found chybu, zkontrolujte, zda $SERVICE_TOKEN_ID je hodnota id a ne client_id.
Ukázková odpověď
{
"result": {
"client_id": "88bf3b6d86161464f6509f7219099e57.access",
"created_at": "2022-06-09T01:59:17Z",
"expires_at": "2023-06-09T01:59:17Z",
"id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
"name": "ACME Corporation service token",
"updated_at": "2022-06-09T01:59:17Z",
"duration": "8760h"
},
"success": true,
"errors": [],
"messages": []
}3. Vytvořte uživatele
Vytvořte nového uživatele a volitelně ho přidejte do skupiny.
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/users" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "John Doe",
"email": "[email protected]",
"custom": {"groups":[{"id": "02fk6b3p3majl10", "email": "[email protected]", "name": "Finance"}]}
}'Uložte uživatele id vrácená v odpovědi.
Ukázková odpověď
{
"result": {
"id": "54d425de-7a78-4186-9975-d43c88ee7899",
"created_at": "2022-03-16T21:18:39.93598Z",
"updated_at": "2022-05-17T23:50:39.598345Z",
"uid": "54d425de-7a78-4186-9975-d43c88ee7899",
"name": "John Doe",
"email": "[email protected]",
"custom": {
"groups": [
{
"email": "[email protected]",
"id": "02fk6b3p3majl10",
"name": "Finance"
}
]
}
},
"success": true,
"errors": [],
"messages": []
}4. Vygenerujte token DoH pro uživatele
Vyžádejte token DoH pro uživatele pomocí service tokenu k ověření do vašeho doména týmu.
curl "https://<TEAM_NAME>.cloudflareaccess.com/cdn-cgi/access/doh-token?account-id=<ACCOUNT_ID>&user-id=<USER_ID>&auth-domain=<TEAM_NAME>.cloudflareaccess.com" \
--header "Cf-Access-Client-Id: <CLIENT_ID>" \
--header "Cf-Access-Client-Secret: <CLIENT_SECRET>"Odpověď obsahuje jedinečný token DoH přiřazený uživateli. Platnost tohoto tokenu vyprší za 24 hodin. Doporučujeme nastavit obnovovací tok pro token DoH místo generování nového tokenu pro každý DoH dotaz.
Ukázková odpověď
{
"token": "y2khbGciOiJSUzI1NiIsImtpZCI6ImJlZjVkYjg4ZTEwMjk3ZDEwNzhkMmEyYjE0MjMxZTljYTQwMjQ2NjAwOTQzNmJhOTQwOGJkODY3ZmI4OWFiOGQifQ.eyJ0eXBlIjoiZG9oIiwiYXVkIjoiY2xvdWRmbGFyZS1nYXRld2F5LmNvbSIsImlhdCI6MTY1NDc1MTg3NSwiZXhwIjoxNjU0ODM4Mjc1LCJhY2NvdW50LWlkIjoiMTA4MDM0OGIyZGYzYmQwN2QxZmI1MjM3Y2Q1ZDU5M2EiLCJ1c2VyLWlkIjoiNTRkNDI1ZGUtN2E3OC00MTg2LTk5NzUtZDQzYzg4ZWU3ODk5In0.I5p4WsH2dPhQ8vwy84zF05PsoBHCsUSXAaMpNhEH36oFZ3tXcs9ksLz7OzpZ_x3HxUfO3n57LlpAF1VehaBt2i94XCkvSgtHpYcwd_qZydLp-BGtcyfU1LbdXQC3m6zxKcIWu5VySi8I-J25UYlpyJhYgZ4DQUZIpqbSSt6WcVRKvA7OBa7xjkTux4OcqWAViO_ZS-GLwl-fqhvolmiwk37seBD3YuV1zG06VeWXfrMkZ5MbhooHD1DZDBHOZpTtmN8MbeKeI4tlY1mb_O3-jE-um6F9Hrl4NQm89MKFzsum-_Rywi5m4PTSlDza7fjdJs7RzFgJd3VWgzG-jgyQKw"
}5. Odešlete ověřený dotaz DoH
Odesílá dotazy DoH resolveru na https://<ACCOUNT_ID>.cloudflare-gateway.com/dns-query, nezapomeňte zahrnout DoH token uživatele do CF-Authorization hlavička.
curl --silent "https://<ACCOUNT_ID>.cloudflare-gateway.com/dns-query?name=example.com" \
--header "accept: application/dns-json" \
--header "CF-Authorization: <USER_DOH_TOKEN>" | jqPokud je web blokován a máte zapnuto blokovací stránka pro zásadu, dotaz vrátí 162.159.36.12 (IP adresa blokovací stránky Gateway). Pokud je blokovací stránka zakázána, odpověď bude 0.0.0.0.
Ukázková odpověď
{
"Status": 0,
"TC": false,
"RD": true,
"RA": true,
"AD": false,
"CD": false,
"Question": [
{
"name": "example.com",
"type": 1
}
],
"Answer": [
{
"name": "example.com",
"type": 1,
"TTL": 60,
"data": "162.159.36.12"
}
]
}Můžete ověřit, že byl požadavek přiřazen ke správnému e-mailu uživatele, a to kontrolou svého Protokoly DNS Gateway. Chcete-li tyto požadavky filtrovat, sestavte zásadu DNS pomocí kteréhokoli z Gateway selektory založené na identitě.