αž™αžΎαž„αž‡αž½αž”αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž–αžΈ 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 αž‡αžΆαžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžšαž”αžŸαŸ‹αž’αžΆαž˜αŸαžšαž·αž€) αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™αž‘αŸαŸ– តើ "αž”αž½αž“αž‚αŸ’αžšαžΏαž„" αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αžαŸ’αž„αŸƒαžŽαžΆαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸƒαž†αŸ’αž“αžΆαŸ†?

αžŠαŸ„αž™αžŸαžΆαžšαž‘αžŸαŸ’αžŸαž“αž·αž€αž‡αž“αžšαž”αžŸαŸ‹ Habr αž˜αžΆαž“αž—αžΆαž–αžœαŸƒαž†αŸ’αž›αžΆαžαž•αŸ’αž“αŸ‚αž€αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ αž•αŸ’αž“αŸ‚αž€αž”αŸ’αžšαž–αŸƒαžŽαžΈ "αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžš 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

αžŸαŸ†αžŽαžΎαž”αž„αŸ’αž αŸ„αŸ‡αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹ 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 αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ (αžŠαžΌαž…αžŠαŸ‚αž›αžšαž½αž…αž αžΎαž™αŸ” αž“αžΉαž„αž”αž„αŸ’αž€αžΎαž Mozillaαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Cloudflare) αŸ”

DNS αž›αžΎ TLS

αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αžŸαŸ†αžŽαž½αžš DNS αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αŸ” DNS αž›αžΎ TLS αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž“αž–αž½αž€αž‚αŸαžαžΆαž˜αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ” Cloudflare αž‚αžΆαŸ†αž‘αŸ’αžš DNS αž›αžΎ TLS αž“αŸ…αž›αžΎαž…αŸ’αžšαž€αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš 853 αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ RFC7858. αžœαžΆαž”αŸ’αžšαžΎαžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžŠαŸ‚αž›αž…αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ cloudflare-dns.com TLS 1.2 αž“αž·αž„ TLS 1.3 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαŸ”

αž€αžΆαžšβ€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž€αžΆαžšβ€‹αžαž—αŸ’αž‡αžΆαž”αŸ‹β€‹αž“αž·αž„β€‹αž€αžΆαžšβ€‹αž’αŸ’αžœαžΎβ€‹αž€αžΆαžšβ€‹αžŠαŸ„αž™β€‹αž™αŸ„αž„β€‹αžαžΆαž˜β€‹αž–αž·αž’αžΈαž€αžΆαžšβ€‹αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αž˜αž½αž™β€‹αžŠαžΌαž…β€‹αž“αŸαŸ‡β€‹:

  • αž˜αž»αž“αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹ DNS αž’αžαž·αžαž·αž‡αž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αžΌαžŠ SHA64 αžŠαŸ‚αž›αž”αžΆαž“αž’αŸŠαž·αž“αž€αžΌαžŠ 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 αžŠαŸ‚αž›αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αžŽαžΆαžŸαŸ‹!) αž‘αžΈαž–αžΈαžš ISPs αž˜αž½αž™αž…αŸ†αž“αž½αž“ (αž™αžΎαž„αž“αžΉαž„αž˜αž·αž“αž…αž„αŸ’αž’αž»αž›αžŠαŸƒαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž˜αŸ‚αž“αžαžΌαž…αž”αŸ†αž•αž»αžαž‘αŸ) αž˜αžΆαž“αž‘αŸ†αž“αŸ„αžšαž”αž„αŸ’αž αžΆαž‰αž€αžΆαžšαž•αŸ’αžŸαžΆαž™αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž˜αž½αž™ αž¬αž•αŸ’αžŸαŸαž„αž‘αŸ€αž (αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž™αŸ‰αžΆαž„αžŸαžΆαž˜αž‰αŸ’αž‰αŸ– αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž½αžšαžŠαŸ„αž™ habranabr.ru αžˆαŸ’αž˜αŸ„αŸ‡αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž‡αžΆαž˜αž“αž»αžŸαŸ’αžŸαž…αŸƒαžŠαž“αŸ’αž™ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰ αžŠαŸ‚αž›αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αžŸαžΆαž™αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž˜αŸ’αžšαžΎ)αŸ” αž‘αžΈαž”αžΈ αž˜αžΆαž“αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž™αž“αŸ’αžαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ†αž–αŸαž‰αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αžΈαž˜αž½αž™αŸ—αžŠαŸ„αž™αž‡αŸ†αž“αž½αžŸαž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž” DNS αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž’αŸ†αž–αžΈαž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž“αŸƒαž’αž“αž’αžΆαž“αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαžΆαžšαžΆαŸ†αž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαžŠαŸ‚αž›αž˜αžΆαž“αž‘αŸ†αž–αŸαžš stub (αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αŸ…αž€αžΆαž“αŸ‹ αž‚αŸαž αž‘αŸ†αž–αŸαžšαž”αŸ‚αž”αž“αŸαŸ‡αž€αžΆαž“αŸ‹αžαŸ‚αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹) αž¬αž‘αŸ…αž€αžΆαž“αŸ‹αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž€αžΆαžšαžαŸ’αžšαž„αŸ”

αž“αŸαŸ‡αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžšαžΌαž”αž—αžΆαž–αž–αžΈαž‚αŸαž αž‘αŸ†αž–αŸαžšαŸ” 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 αžšαž”αžŸαŸ‹αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž“αžΉαž„αž˜αžΆαž“αž—αžΆαž–αžšαž αŸαžŸαžšαž αž½αž“) αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž€αžΆαž“αŸ‹αžαŸ‚αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαŸ”

αž˜αžΆαž“αžαŸ‚αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαŸ’αž‘αž„αŸ‹αž˜αžαž·αž“αŸαŸ‡αŸ” αž…αžΌαž›αžŸαžΌαž˜αŸ”

αžαžΎαž’αŸ’αž“αž€αž“αžΉαž„αž”αŸ’αžšαžΎαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαŸ’αž˜αžΈαž‘αŸ?

  • αž”αžΆαž‘ / αž…αžΆαžŸαžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ OS αž“αž·αž„ / αž¬αž“αŸ…αž›αžΎαžšαŸ‰αŸ„αžαž‘αŸαžš

  • αž”αžΆαž‘/αž…αžΆαžŸ αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ’αžšαžΎαž–αž·αž’αžΈαž€αžΆαžšαžαŸ’αž˜αžΈ (DNS αž›αžΎ HTTPs αž“αž·αž„ DNS αž›αžΎ TLS)

  • αž‘αŸ αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹ (αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαžŸαžΆαž’αžΆαžšαžŽαŸˆαŸ– Google, Yandex αŸ”αž›αŸ”)

  • αž‘αŸ αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αžŠαžΉαž„αžαžΆαžαŸ’αž‰αž»αŸ†αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαž’αŸ’αžœαžΈαž“αŸ…αž–αŸαž›αž“αŸαŸ‡αž‘αŸαŸ”

  • αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎ DNS αž‘αžΎαž„αžœαž·αž‰αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ SSL αžŠαž›αŸ‹αž–αž½αž€αž‚αŸαŸ”

αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ 693 αž“αžΆαž€αŸ‹αž”αžΆαž“αž”αŸ„αŸ‡αž†αŸ’αž“αŸ„αžαŸ” αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ 191 αž“αžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž αžΆαž˜αžƒαžΆαžαŸ‹αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹