ืื ื• ืคื•ื’ืฉื™ื ืืช ื”ืฉื™ืจื•ืช ืž-Cloudflare ื‘ื›ืชื•ื‘ื•ืช 1.1.1.1 ื•-1.0.0.1, ืื• "ืžื“ืฃ ื”-DNS ื”ืฆื™ื‘ื•ืจื™ ื”ื’ื™ืข!"

ืื ื• ืคื•ื’ืฉื™ื ืืช ื”ืฉื™ืจื•ืช ืž-Cloudflare ื‘ื›ืชื•ื‘ื•ืช 1.1.1.1 ื•-1.0.0.1, ืื• "ืžื“ืฃ ื”-DNS ื”ืฆื™ื‘ื•ืจื™ ื”ื’ื™ืข!"

ื—ื‘ืจืช Cloudflare ืžื•ืฆื’ DNS ืฆื™ื‘ื•ืจื™ ื‘ื›ืชื•ื‘ื•ืช:

  • 1.1.1.1
  • 1.0.0.1
  • 2606: 4700: 4700 :: 1111
  • 2606: 4700: 4700 :: 1001

ืื•ืžืจื™ื ืฉื”ืžื“ื™ื ื™ื•ืช ื”ื™ื "ืคืจื˜ื™ื•ืช ืชื—ื™ืœื”", ื›ืš ืฉืžืฉืชืžืฉื™ื ื™ื•ื›ืœื• ืœื”ื™ื•ืช ืฉืงื˜ ื ืคืฉื™ ืœื’ื‘ื™ ืชื•ื›ืŸ ื”ื‘ืงืฉื•ืช ืฉืœื”ื.

ื”ืฉื™ืจื•ืช ืžืขื ื™ื™ืŸ ื‘ื›ืš ืฉื‘ื ื•ืกืฃ ืœ-DNS ื”ืจื’ื™ืœ, ื”ื•ื ืžืกืคืง ืืช ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช DNS-over-TLS ะธ DNS-over-HTTPS, ืžื” ืฉื™ืžื ืข ืžืื•ื“ ืžืกืคืงื™ื ืœืฆื•ืชืช ืœื‘ืงืฉื•ืช ืฉืœื›ื ืœืื•ืจืš ื ืชื™ื‘ ื”ื‘ืงืฉื•ืช - ื•ืœืืกื•ืฃ ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช, ืœื ื˜ืจ, ืœื ื”ืœ ืคืจืกื•ื. Cloudflare ื˜ื•ืขื ืช ื›ื™ ืชืืจื™ืš ื”ื”ื›ืจื–ื” (1 ื‘ืืคืจื™ืœ 2018, ืื• 04/01 ื‘ืกื™ืžื•ืŸ ืืžืจื™ืงืื™) ืœื ื ื‘ื—ืจ ื‘ืžืงืจื”: ื‘ืื™ื–ื” ื™ื•ื ืื—ืจ ื‘ืฉื ื” ื™ื•ืฆื’ื• "ืืจื‘ืข ื”ื™ื—ื™ื“ื•ืช"?

ืžื›ื™ื•ื•ืŸ ืฉื”ืงื”ืœ ืฉืœ ื”ื‘ืจ ื”ื•ื ื‘ืงื™ื ื˜ื›ื ื™ืช, ื”ืงื˜ืข ื”ืžืกื•ืจืชื™ "ืœืžื” ืืชื” ืฆืจื™ืš DNS?" ืื ื™ ืืฉื™ื ืืช ื–ื” ื‘ืกื•ืฃ ื”ืคื•ืกื˜, ืื‘ืœ ื›ืืŸ ืืฆื™ื™ืŸ ื“ื‘ืจื™ื ืฉื™ืžื•ืฉื™ื™ื ื™ื•ืชืจ ืžื‘ื—ื™ื ื” ืžืขืฉื™ืช:

ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ืฉื™ืจื•ืช ื”ื—ื“ืฉ?

ื”ื“ื‘ืจ ื”ืคืฉื•ื˜ ื‘ื™ื•ืชืจ ื”ื•ื ืœืฆื™ื™ืŸ ืืช ื›ืชื•ื‘ื•ืช ืฉืจืช ื”-DNS ื”ื "ืœ ื‘ืœืงื•ื— ื”-DNS ืฉืœืš (ืื• ื›ืžื• ื‘ืžืขืœื” ื”ื–ืจื ื‘ื”ื’ื“ืจื•ืช ืฉืœ ืฉืจืช ื”-DNS ื”ืžืงื•ืžื™ ืฉื‘ื• ืืชื” ืžืฉืชืžืฉ). ื”ืื ื–ื” ื”ื’ื™ื•ื ื™ ืœื”ื—ืœื™ืฃ ืืช ื”ืขืจื›ื™ื ื”ืจื’ื™ืœื™ื Google DNS (8.8.8.8 ื•ื›ื•'), ืื• ืžืขื˜ ืคื—ื•ืช ื ืคื•ืฅ ืฉืจืชื™ DNS ืฆื™ื‘ื•ืจื™ื™ื ืฉืœ Yandex (77.88.8.8 ื•ืื—ืจื™ื ื›ืžื•ื”ื) ืœืฉืจืชื™ื ืž-Cloudflare - ื”ื ื™ื—ืœื™ื˜ื• ื‘ืฉื‘ื™ืœื›ื, ืื‘ืœ ืžื“ื‘ืจื™ื ืขื‘ื•ืจ ืžืชื—ื™ืœื™ื ืœื•ื— ื–ืžื ื™ื ืžื”ื™ืจื•ืช ืชื’ื•ื‘ื”, ืœืคื™ื” Cloudflare ืžื”ื™ืจื” ื™ื•ืชืจ ืžื›ืœ ื”ืžืชื—ืจื™ื (ืื ื™ ืื‘ื”ื™ืจ: ื”ืžื“ื™ื“ื•ืช ื‘ื•ืฆืขื• ืขืœ ื™ื“ื™ ืฉื™ืจื•ืช ืฉืœ ืฆื“ ืฉืœื™ืฉื™, ื•ื”ืžื”ื™ืจื•ืช ืœืœืงื•ื— ืกืคืฆื™ืคื™, ื›ืžื•ื‘ืŸ, ืขืฉื•ื™ื” ืœื”ื™ื•ืช ืฉื•ื ื”).

ืื ื• ืคื•ื’ืฉื™ื ืืช ื”ืฉื™ืจื•ืช ืž-Cloudflare ื‘ื›ืชื•ื‘ื•ืช 1.1.1.1 ื•-1.0.0.1, ืื• "ืžื“ืฃ ื”-DNS ื”ืฆื™ื‘ื•ืจื™ ื”ื’ื™ืข!"

ื”ืจื‘ื” ื™ื•ืชืจ ืžืขื ื™ื™ืŸ ืœืขื‘ื•ื“ ืขื ืžืฆื‘ื™ื ื—ื“ืฉื™ื ื‘ื”ื ื”ื‘ืงืฉื” ื˜ืกื” ืœืฉืจืช ื‘ื—ื™ื‘ื•ืจ ืžื•ืฆืคืŸ (ืœืžืขืฉื”, ื”ืชื’ื•ื‘ื” ืžื•ื—ื–ืจืช ื“ืจื›ื•), ื”-DNS-over-TLS ื•-DNS-over-HTTPS ืฉื”ื•ื–ื›ืจื•. ืœืžืจื‘ื” ื”ืฆืขืจ, ื”ื ืื™ื ื ื ืชืžื›ื™ื "ืžื—ื•ืฅ ืœืงื•ืคืกื”" (ื”ืžื—ื‘ืจื™ื ืžืืžื™ื ื™ื ืฉื–ื” "ืขื“ื™ื™ืŸ"), ืื‘ืœ ื–ื” ืœื ืงืฉื” ืœืืจื’ืŸ ืืช ื”ืขื‘ื•ื“ื” ืฉืœื”ื ื‘ืชื•ื›ื ื” ืฉืœืš (ืื• ืืคื™ืœื• ื‘ื—ื•ืžืจื” ืฉืœืš):

DNS ื“ืจืš HTTPs (DoH)

ื›ืคื™ ืฉื”ืฉื ืžืจืžื–, ื”ืชืงืฉื•ืจืช ืžืชื‘ืฆืขืช ื‘ืขืจื•ืฅ HTTPS, ื›ืœื•ืžืจ

  1. ื ื•ื›ื—ื•ืช ืฉืœ ื ืงื•ื“ืช ื ื—ื™ืชื” (ื ืงื•ื“ืช ืงืฆื”) - ื”ื™ื ืžืžื•ืงืžืช ื‘ื›ืชื•ื‘ืช https://cloudflare-dns.com/dns-queryื• -
  2. ืœืงื•ื— ืฉื™ื›ื•ืœ ืœืฉืœื•ื— ื‘ืงืฉื•ืช ื•ืœืงื‘ืœ ืชื’ื•ื‘ื•ืช.

ื‘ืงืฉื•ืช ื™ื›ื•ืœื•ืช ืœื”ื™ื•ืช ื‘ืคื•ืจืžื˜ DNS Wireformat ื”ืžื•ื’ื“ืจ ื‘ RFC1035 (ื ืฉืœื— ื‘ืืžืฆืขื•ืช ืฉื™ื˜ื•ืช POST ื•-GET HTTP), ืื• ื‘ืคื•ืจืžื˜ JSON (ื‘ืืžืฆืขื•ืช ืฉื™ื˜ืช GET HTTP). ืขื‘ื•ืจื™ ื‘ืื•ืคืŸ ืื™ืฉื™, ื”ืจืขื™ื•ืŸ ืฉืœ ื‘ื™ืฆื•ืข ื‘ืงืฉื•ืช DNS ื‘ืืžืฆืขื•ืช ื‘ืงืฉื•ืช HTTP ื ืจืื” ื‘ืœืชื™ ืฆืคื•ื™, ืื‘ืœ ื™ืฉ ื‘ื–ื” ื’ืจืขื™ืŸ ืจืฆื™ื•ื ืœื™: ื‘ืงืฉื” ื›ื–ื• ืชืขื‘ื•ืจ ืžืขืจื›ื•ืช ืกื™ื ื•ืŸ ืชืขื‘ื•ืจื” ืจื‘ื•ืช, ื ื™ืชื•ื— ื”ืชื’ื•ื‘ื•ืช ื”ื•ื ื“ื™ ืคืฉื•ื˜ ื•ื™ืฆื™ืจืช ื‘ืงืฉื•ืช ืงืœื” ืขื•ื“ ื™ื•ืชืจ. ื”ืกืคืจื™ื•ืช ื•ื”ืคืจื•ื˜ื•ืงื•ืœื™ื ื”ืจื’ื™ืœื™ื ืื—ืจืื™ื ืœืื‘ื˜ื—ื”.

ื‘ืงืฉ ื“ื•ื’ืžืื•ืช, ื”ื™ื™ืฉืจ ืžื”ืชื™ืขื•ื“:

ืงื‘ืœ ื‘ืงืฉื” ื‘ืคื•ืจืžื˜ DNS Wireformat

$ curl -v "https://cloudflare-dns.com/dns-query?ct=application/dns-udpwireformat&dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB" | hexdump
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7f968700a400)
GET /dns-query?ct=application/dns-udpwireformat&dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB HTTP/2
Host: cloudflare-dns.com
User-Agent: curl/7.54.0
Accept: */*

* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
HTTP/2 200
date: Fri, 23 Mar 2018 05:14:02 GMT
content-type: application/dns-udpwireformat
content-length: 49
cache-control: max-age=0
set-cookie: __cfduid=dd1fb65f0185fadf50bbb6cd14ecbc5b01521782042; expires=Sat, 23-Mar-19 05:14:02 GMT; path=/; domain=.cloudflare.com; HttpOnly
server: cloudflare-nginx
cf-ray: 3ffe69838a418c4c-SFO-DOG

{ [49 bytes data]
100    49  100    49    0     0    493      0 --:--:-- --:--:-- --:--:--   494
* Connection #0 to host cloudflare-dns.com left intact
0000000 ab cd 81 80 00 01 00 01 00 00 00 00 03 77 77 77
0000010 07 65 78 61 6d 70 6c 65 03 63 6f 6d 00 00 01 00
0000020 01 c0 0c 00 01 00 01 00 00 0a 8b 00 04 5d b8 d8
0000030 22
0000031

ื‘ืงืฉืช POST ื‘ืคื•ืจืžื˜ DNS Wireformat

$ echo -n 'q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | base64 -D | curl -H 'Content-Type: application/dns-udpwireformat' --data-binary @- https://cloudflare-dns.com/dns-query -o - | hexdump

{ [49 bytes data]
100    49  100    49    0     0    493      0 --:--:-- --:--:-- --:--:--   494
* Connection #0 to host cloudflare-dns.com left intact
0000000 ab cd 81 80 00 01 00 01 00 00 00 00 03 77 77 77
0000010 07 65 78 61 6d 70 6c 65 03 63 6f 6d 00 00 01 00
0000020 01 c0 0c 00 01 00 01 00 00 0a 8b 00 04 5d b8 d8
0000030 22
0000031

ืื•ืชื• ื“ื‘ืจ ืื‘ืœ ื‘ืืžืฆืขื•ืช JSON

$ curl 'https://cloudflare-dns.com/dns-query?ct=application/dns-json&name=example.com&type=AAAA'

{
  "Status": 0,
  "TC": false,
  "RD": true,
  "RA": true,
  "AD": true,
  "CD": false,
  "Question": [
    {
      "name": "example.com.",
      "type": 1
    }
  ],
  "Answer": [
    {
      "name": "example.com.",
      "type": 1,
      "TTL": 1069,
      "data": "93.184.216.34"
    }
  ]
}

ื‘ืจื•ืจ ืฉื ืชื‘ ื‘ื™ืชื™ ื ื“ื™ืจ (ืื ืœืคื—ื•ืช ืื—ื“) ื™ื›ื•ืœ ืœืขื‘ื•ื“ ืขื DNS ื‘ืฆื•ืจื” ื–ื•, ืื‘ืœ ื–ื” ืœื ืื•ืžืจ ืฉื”ืชืžื™ื›ื” ืœื ืชื•ืคื™ืข ืžื—ืจ - ื•ืžืขื ื™ื™ืŸ, ื›ืืŸ ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื™ื™ืฉื ืขื‘ื•ื“ื” ืขื DNS ื‘ืืคืœื™ืงืฆื™ื” ืฉืœื ื• (ื›ืคื™ ืฉื›ื‘ืจ ื”ื•ืœืš ืœื”ื›ื™ืŸ ืžื•ื–ื™ืœื”, ืจืง ื‘ืฉืจืชื™ Cloudflare).

DNS ืขืœ TLS

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืฉืื™ืœืชื•ืช DNS ืžื•ืขื‘ืจื•ืช ืœืœื ื”ืฆืคื ื”. DNS ืขืœ TLS ื”ื•ื ื“ืจืš ืœืฉืœื•ื— ืื•ืชื ื“ืจืš ื—ื™ื‘ื•ืจ ืžืื•ื‘ื˜ื—. Cloudflare ืชื•ืžืš ื‘-DNS ืขืœ TLS ื‘ื™ืฆื™ืื” 853 ืกื˜ื ื“ืจื˜ื™ืช ื›ืคื™ ืฉื ืงื‘ืข RFC7858. ื–ื” ืžืฉืชืžืฉ ื‘ืื™ืฉื•ืจ ืฉื”ื•ื ืคืง ืขื‘ื•ืจ ื”ืžืืจื— cloudflare-dns.com, TLS 1.2 ื•-TLS 1.3 ื ืชืžื›ื™ื.

ื™ืฆื™ืจืช ื—ื™ื‘ื•ืจ ื•ืขื‘ื•ื“ื” ืœืคื™ ื”ืคืจื•ื˜ื•ืงื•ืœ ืžืชื‘ืฆืขืช ื‘ืขืจืš ื›ืš:

  • ืœืคื ื™ ื™ืฆื™ืจืช ื—ื™ื‘ื•ืจ DNS, ื”ืœืงื•ื— ืžืื—ืกืŸ ืงื•ื“ SHA64 hash ืžืงื•ื“ื“ base256 ืฉืœ ืชืขื•ื“ืช TLS ืฉืœ cloudflare-dns.com (ื ืงืจื SPKI)
  • ืœืงื•ื— DNS ื™ื•ืฆืจ ื—ื™ื‘ื•ืจ TCP ืืœ cloudflare-dns.com:853
  • ืœืงื•ื— DNS ื™ื•ื–ื ืœื—ื™ืฆืช ื™ื“ ืฉืœ TLS
  • ื‘ืžื”ืœืš ืชื”ืœื™ืš ืœื—ื™ืฆืช ื”ื™ื“ ืฉืœ TLS, ื”ืžืืจื— cloudflare-dns.com ืžืฆื™ื’ ืืช ืื™ืฉื•ืจ ื”-TLS ืฉืœื•.
  • ืœืื—ืจ ื™ืฆื™ืจืช ื—ื™ื‘ื•ืจ TLS, ืœืงื•ื— ื”-DNS ื™ื›ื•ืœ ืœืฉืœื•ื— ื‘ืงืฉื•ืช DNS ื“ืจืš ืขืจื•ืฅ ืžืื•ื‘ื˜ื—, ื”ืžื•ื ืข ืฆื™ืชื•ืช ื•ื–ื™ื•ืฃ ืฉืœ ื‘ืงืฉื•ืช ื•ืชื’ื•ื‘ื•ืช.
  • ื›ืœ ืฉืื™ืœืชื•ืช ื”-DNS ื”ื ืฉืœื—ื•ืช ื“ืจืš ื—ื™ื‘ื•ืจ TLS ื—ื™ื™ื‘ื•ืช ืœืขืžื•ื“ ื‘ื“ืจื™ืฉื•ืช ืฉืœื™ื—ืช DNS ื“ืจืš TCP.

ื“ื•ื’ืžื” ืœื‘ืงืฉื” ื“ืจืš DNS ื“ืจืš TLS:

$ kdig -d @1.1.1.1 +tls-ca +tls-host=cloudflare-dns.com  example.com
;; DEBUG: Querying for owner(example.com.), class(1), type(1), server(1.1.1.1), port(853), protocol(TCP)
;; DEBUG: TLS, imported 170 system certificates
;; DEBUG: TLS, received certificate hierarchy:
;; DEBUG:  #1, C=US,ST=CA,L=San Francisco,O=Cloudflare, Inc.,CN=*.cloudflare-dns.com
;; DEBUG:      SHA-256 PIN: yioEpqeR4WtDwE9YxNVnCEkTxIjx6EEIwFSQW+lJsbc=
;; DEBUG:  #2, C=US,O=DigiCert Inc,CN=DigiCert ECC Secure Server CA
;; DEBUG:      SHA-256 PIN: PZXN3lRAy+8tBKk2Ox6F7jIlnzr2Yzmwqc3JnyfXoCw=
;; DEBUG: TLS, skipping certificate PIN check
;; DEBUG: TLS, The certificate is trusted.
;; TLS session (TLS1.2)-(ECDHE-ECDSA-SECP256R1)-(AES-256-GCM)
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 58548
;; Flags: qr rd ra; QUERY: 1; ANSWER: 1; AUTHORITY: 0; ADDITIONAL: 1

;; EDNS PSEUDOSECTION:
;; Version: 0; flags: ; UDP size: 1536 B; ext-rcode: NOERROR
;; PADDING: 408 B

;; QUESTION SECTION:
;; example.com.             IN  A

;; ANSWER SECTION:
example.com.            2347    IN  A   93.184.216.34

;; Received 468 B
;; Time 2018-03-31 15:20:57 PDT
;; From 1.1.1.1@853(TCP) in 12.6 ms

ื ืจืื” ื›ื™ ืืคืฉืจื•ืช ื–ื• ืคื•ืขืœืช ื‘ืฆื•ืจื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ืขื‘ื•ืจ ืฉืจืชื™ DNS ืžืงื•ืžื™ื™ื ื”ืžืฉืจืชื™ื ืืช ื”ืฆืจื›ื™ื ืฉืœ ืจืฉืช ืžืงื•ืžื™ืช ืื• ืžืฉืชืžืฉ ื‘ื•ื“ื“. ื ื›ื•ืŸ, ืขื ืชืžื™ื›ื” ืฉืœ ื”ืชืงืŸ ื–ื” ืœื ืžืื•ื“ ื˜ื•ื‘, ืื‘ืœ - ื‘ื•ืื• ื ืงื•ื•ื”!

ืฉืชื™ ืžื™ืœื•ืช ื”ืกื‘ืจ ืขืœ ืžื” ืขื•ืกืงืช ื”ืฉื™ื—ื”

ื”ืงื™ืฆื•ืจ DNS ืžื™ื™ืฆื’ Domain Name Service (ืœื›ืŸ ืœื•ืžืจ "ืฉื™ืจื•ืช DNS" ื”ื•ื ืžื™ื•ืชืจ ืžืฉื”ื•, ื”ืงื™ืฆื•ืจ ื›ื‘ืจ ืžื›ื™ืœ ืืช ื”ืžื™ืœื” "ืฉื™ืจื•ืช"), ื•ืžืฉืžืฉ ืœืคืชืจื•ืŸ ืžืฉื™ืžื” ืคืฉื•ื˜ื” - ืœื”ื‘ื™ืŸ ืื™ื–ื• ื›ืชื•ื‘ืช IP ื™ืฉ ืœืฉื ืžืืจื— ืžืกื•ื™ื. ื‘ื›ืœ ืคืขื ืฉืื“ื ืœื•ื—ืฅ ืขืœ ืงื™ืฉื•ืจ, ืื• ืžื–ื™ืŸ ื›ืชื•ื‘ืช ื‘ืฉื•ืจืช ื”ื›ืชื•ื‘ืช ืฉืœ ื”ื“ืคื“ืคืŸ (ื ื ื™ื—, ืžืฉื”ื• ื›ืžื• "https://habrahabr.ru/post/346430/"), ื”ืžื—ืฉื‘ ื”ืื ื•ืฉื™ ืžื ืกื” ืœื”ื‘ื™ืŸ ืื™ื–ื” ืฉืจืช ืœืฉืœื•ื— ื‘ืงืฉื” ืœืงื‘ืœ ืืช ืชื•ื›ืŸ ื”ืขืžื•ื“. ื‘ืžืงืจื” ืฉืœ habrahabr.ru, ื”ืชื’ื•ื‘ื” ืž-DNS ืชื›ื™ืœ ืื™ื ื“ื™ืงืฆื™ื” ืฉืœ ื›ืชื•ื‘ืช ื”-IP ืฉืœ ืฉืจืช ื”ืื™ื ื˜ืจื ื˜: 178.248.237.68, ื•ืื– ื”ื“ืคื“ืคืŸ ื›ื‘ืจ ื™ื ืกื” ืœื™ืฆื•ืจ ืงืฉืจ ืขื ื”ืฉืจืช ืขื ื›ืชื•ื‘ืช ื”-IP ืฉืฆื•ื™ื ื”.

ื‘ืชื•ืจื•, ืฉืจืช ื”-DNS, ืœืื—ืจ ืฉืงื™ื‘ืœ ืืช ื”ื‘ืงืฉื” "ืžื”ื™ ื›ืชื•ื‘ืช ื”-IP ืฉืœ ื”ืžืืจื— ื‘ืฉื habrahabr.ru?", ืงื•ื‘ืข ืื ื”ื•ื ื™ื•ื“ืข ืžืฉื”ื• ืขืœ ื”ืžืืจื— ืฉืฆื•ื™ืŸ. ืื ืœื, ื”ื•ื ืžื’ื™ืฉ ื‘ืงืฉื” ืœืฉืจืชื™ DNS ืื—ืจื™ื ื‘ืขื•ืœื, ื•ืฉืœื‘ ืื—ืจ ืฉืœื‘ ืžื ืกื” ืœื”ื‘ื™ืŸ ืืช ื”ืชืฉื•ื‘ื” ืœืฉืืœื” ืฉื ืฉืืœื”. ื›ืชื•ืฆืื” ืžื›ืš, ืขื ืžืฆื™ืืช ื”ืชืฉื•ื‘ื” ื”ืกื•ืคื™ืช, ื”ื ืชื•ื ื™ื ืฉื ืžืฆืื• ื ืฉืœื—ื™ื ืœืœืงื•ื— ืฉืขื“ื™ื™ืŸ ืžื—ื›ื” ืœื”ื, ื‘ื ื•ืกืฃ ื”ื ืžืื•ื—ืกื ื™ื ื‘ืžื˜ืžื•ืŸ ืฉืœ ืฉืจืช ื”-DNS ืขืฆืžื•, ืžื” ืฉื™ืืคืฉืจ ืœืš ืœืขื ื•ืช ืขืœ ืฉืืœื” ื“ื•ืžื” ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ืจ ื‘ืคืขื ื”ื‘ืื”.

ื‘ืขื™ื” ื ืคื•ืฆื” ื”ื™ื, ืจืืฉื™ืช, ื ืชื•ื ื™ ืฉืื™ืœืชืช ื”-DNS ืžื•ืขื‘ืจื™ื ื‘ืฆื•ืจื” ื‘ืจื•ืจื” (ืžื” ืฉื ื•ืชืŸ ืœื›ืœ ืžื™ ืฉื™ืฉ ืœื• ื’ื™ืฉื” ืœื–ืจื™ืžืช ื”ืชืขื‘ื•ืจื” ืืช ื”ื™ื›ื•ืœืช ืœื‘ื•ื“ื“ ืืช ืฉืื™ืœืชื•ืช ื”-DNS ื•ืืช ื”ืชื’ื•ื‘ื•ืช ืฉื”ื ืžืงื‘ืœื™ื ื•ืœืื—ืจ ืžื›ืŸ ืœื ืชื— ืื•ืชืŸ ืœืžื˜ืจื•ืชื™ื•; ื–ื” ื ื•ืชืŸ ื”ื™ื›ื•ืœืช ืœืžืงื“ ืžื•ื“ืขื•ืช ืขื ื“ื™ื•ืง ืขื‘ื•ืจ ืœืงื•ื— DNS, ื•ื–ื” ื“ื™ ื”ืจื‘ื”!). ืฉื ื™ืช, ืกืคืงื™ ืฉื™ืจื•ืชื™ ืื™ื ื˜ืจื ื˜ ืžืกื•ื™ืžื™ื (ืœื ื ืฆื‘ื™ืข ืืฆื‘ืขื•ืช, ืื‘ืœ ืœื ื”ืงื˜ื ื•ืช ื‘ื™ื•ืชืจ) ื ื•ื˜ื™ื ืœื”ืฆื™ื’ ืžื•ื“ืขื•ืช ื‘ืžืงื•ื ื“ืฃ ืžื‘ื•ืงืฉ ื›ื–ื” ืื• ืื—ืจ (ืฉืžื™ื•ืฉื ื‘ืฆื•ืจื” ืคืฉื•ื˜ื” ืœืžื“ื™: ื‘ืžืงื•ื ื›ืชื•ื‘ืช ื”-IP ืฉืฆื•ื™ื ื” ืขื‘ื•ืจ ืฉืื™ืœืชื” ืขืœ ื™ื“ื™ ื”-habranabr.ru ืฉื ืžืืจื—, ืื“ื ืืงืจืื™ ืœืคื™ื›ืš, ืžื•ื—ื–ืจืช ื”ื›ืชื•ื‘ืช ืฉืœ ืฉืจืช ื”ืื™ื ื˜ืจื ื˜ ืฉืœ ื”ืกืคืง, ืฉื ืžื•ื’ืฉ ื”ื“ืฃ ื”ืžื›ื™ืœ ืืช ื”ืคืจืกื•ืžืช). ืฉืœื™ืฉื™ืช, ื™ืฉื ื ืกืคืงื™ ื’ื™ืฉื” ืœืื™ื ื˜ืจื ื˜ ื”ืžื™ื™ืฉืžื™ื ืžื ื’ื ื•ืŸ ืœืžื™ืœื•ื™ ื”ื“ืจื™ืฉื•ืช ืœื—ืกื™ืžืช ืืชืจื™ื ื‘ื•ื“ื“ื™ื ืขืœ ื™ื“ื™ ื”ื—ืœืคืช ืชื’ื•ื‘ื•ืช ื”-DNS ื”ื ื›ื•ื ื•ืช ืœื’ื‘ื™ ื›ืชื•ื‘ื•ืช ื”-IP ืฉืœ ืžืฉืื‘ื™ ืื™ื ื˜ืจื ื˜ ื—ืกื•ืžื™ื ื‘ื›ืชื•ื‘ืช ื”-IP ืฉืœ ื”ืฉืจืช ืฉืœื”ื ื”ืžื›ื™ืœื” ื“ืคื™ ืกืชื™ืžื•ืช (ื›ืชื•ืฆืื” ืžื›ืš, ื’ื™ืฉื” ืืœ ืืชืจื™ื ื›ืืœื” ืžืกื•ื‘ื›ื™ื ื‘ืื•ืคืŸ ื ื™ื›ืจ), ืื• ืœื›ืชื•ื‘ืช ืฉืœ ืฉืจืช ื”-proxy ืฉืœืš ืฉืžื‘ืฆืข ืกื™ื ื•ืŸ.

ื–ื• ื›ื ืจืื” ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืชืžื•ื ื” ืžื”ืืชืจ. http://1.1.1.1/, ืžืฉืžืฉ ืœืชื™ืื•ืจ ื”ื—ื™ื‘ื•ืจ ืœืฉื™ืจื•ืช. ื ืจืื” ืฉื”ื›ื•ืชื‘ื™ื ื“ื™ ื‘ื˜ื•ื—ื™ื ื‘ืื™ื›ื•ืช ื”-DNS ืฉืœื”ื (ืขื ื–ืืช, ืงืฉื” ืœืฆืคื•ืช ืœืžืฉื”ื• ืื—ืจ ืž-Cloudflare):

ืื ื• ืคื•ื’ืฉื™ื ืืช ื”ืฉื™ืจื•ืช ืž-Cloudflare ื‘ื›ืชื•ื‘ื•ืช 1.1.1.1 ื•-1.0.0.1, ืื• "ืžื“ืฃ ื”-DNS ื”ืฆื™ื‘ื•ืจื™ ื”ื’ื™ืข!"

ืืคืฉืจ ืœื”ื‘ื™ืŸ ื”ื™ื˜ื‘ ืืช Cloudflare, ื™ื•ืฆืจ ื”ืฉื™ืจื•ืช: ื”ื ืžืจื•ื•ื™ื—ื™ื ืืช ืœื—ืžื ืขืœ ื™ื“ื™ ืชื—ื–ื•ืงื” ื•ืคื™ืชื•ื— ืฉืœ ืื—ืช ืžืจืฉืชื•ืช ื”-CDN ื”ืคื•ืคื•ืœืจื™ื•ืช ื‘ืขื•ืœื (ืฉื”ืคื•ื ืงืฆื™ื•ืช ื›ื•ืœืœื•ืช ืœื ืจืง ื”ืคืฆืช ืชื•ื›ืŸ, ืืœื ื’ื ืื™ืจื•ื— ืฉืœ ืื–ื•ืจื™ DNS), ื•ื‘ืฉืœ ื”ืจืฆื•ืŸ ืฉืœ ืืœื”, ืฉืื™ื ื• ื‘ืงื™ื, ืœืœืžื“ ืื•ืชื ืฉื”ื ืœื ืžื›ื™ืจื™ื, ืœื–ื” ืœืืŸ ืœืœื›ืช ื‘ืจืฉืช ื”ื’ืœื•ื‘ืœื™ืช, ืœืขื™ืชื™ื ืงืจื•ื‘ื•ืช ืกื•ื‘ืœ ืžื—ืกื™ืžืช ื”ื›ืชื•ื‘ื•ืช ืฉืœ ื”ืฉืจืชื™ื ืฉืœื”ื ื‘ื•ืื• ืœื ื ื’ื™ื“ ืžื™ - ื›ืš ืฉืงื™ื™ื DNS ืฉืื™ื ื• ืžื•ืฉืคืข ืž"ืฆืขืงื•ืช, ืฉืจื™ืงื•ืช ื•ืฉืจื‘ื•ื˜ื™ื" ืขื‘ื•ืจ ื”ื—ื‘ืจื” ืื•ืžืจ ืคื—ื•ืช ืคื’ื™ืขื” ื‘ืขืกืง ืฉืœื”. ื•ื™ืชืจื•ื ื•ืช ื˜ื›ื ื™ื™ื (ื–ื•ื˜, ืื‘ืœ ื ื—ืžื“: ื‘ืžื™ื•ื—ื“ ืขื‘ื•ืจ ืœืงื•ื—ื•ืช ื”-DNS Cloudflare ื”ื—ื™ื ืžื™, ืขื“ื›ื•ืŸ ืจืฉื•ืžื•ืช ื”-DNS ืฉืœ ื”ืžืฉืื‘ื™ื ื”ืžืชืืจื—ื™ื ื‘ืฉืจืชื™ ื”-DNS ืฉืœ ื”ื—ื‘ืจื” ื™ื”ื™ื” ืžื™ื™ื“ื™) ื”ื•ืคื›ื™ื ืืช ื”ืฉื™ืžื•ืฉ ื‘ืฉื™ืจื•ืช ื”ืžืชื•ืืจ ื‘ืคื•ืกื˜ ืœืžืขื ื™ื™ืŸ ืขื•ื“ ื™ื•ืชืจ.

ืจืง ืžืฉืชืžืฉื™ื ืจืฉื•ืžื™ื ื™ื›ื•ืœื™ื ืœื”ืฉืชืชืฃ ื‘ืกืงืจ. ืœื”ืชื—ื‘ืจื‘ื‘ืงืฉื”.

ื”ืื ืชืฉืชืžืฉ ื‘ืฉื™ืจื•ืช ื”ื—ื“ืฉ?

  • ื›ืŸ, ืคืฉื•ื˜ ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ ื–ื” ื‘ืžืขืจื›ืช ื”ื”ืคืขืœื” ื•/ืื• ื‘ื ืชื‘

  • ื›ืŸ, ื•ืื ื™ ืืฉืชืžืฉ ื‘ืคืจื•ื˜ื•ืงื•ืœื™ื ื—ื“ืฉื™ื (DNS ืขืœ HTTPs ื•-DNS ืขืœ TLS)

  • ืœื, ื™ืฉ ืœื™ ืžืกืคื™ืง ืฉืจืชื™ื ื ื•ื›ื—ื™ื™ื (ื–ื”ื• ืกืคืง ืฆื™ื‘ื•ืจื™: ื’ื•ื’ืœ, Yandex ื•ื›ื•')

  • ืœื, ืื ื™ ืืคื™ืœื• ืœื ื™ื•ื“ืข ื‘ืžื” ืื ื™ ืžืฉืชืžืฉ ื›ืจื’ืข

  • ืื ื™ ืžืฉืชืžืฉ ื‘-DNS ื”ืจืงื•ืจืกื™ื‘ื™ ืฉืœื™ ืขื ืžื ื”ืจืช SSL ืืœื™ื”ื

693 ืžืฉืชืžืฉื™ื ื”ืฆื‘ื™ืขื•. 191 ืžืฉืชืžืฉื™ื ื ืžื ืขื•.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”