ProHoster > Блог > Administrasi > Kita ketemu layanan saka Cloudflare ing alamat 1.1.1.1 lan 1.0.0.1, utawa "rak DNS umum wis teka!"
Kita ketemu layanan saka Cloudflare ing alamat 1.1.1.1 lan 1.0.0.1, utawa "rak DNS umum wis teka!"
Perusahaan Cloudflare diwenehi DNS umum ing alamat:
1.1.1.1
1.0.0.1
2606: 4700: 4700 1111 ::
2606: 4700: 4700 1001 ::
Kabijakan kasebut diarani "Privasi dhisik" supaya pangguna bisa tenang babagan isi panjaluke.
Layanan kasebut menarik amarga, saliyane DNS biasa, menehi kemampuan kanggo nggunakake teknologi DNS-over-TLS и DNS-liwat-HTTPS, sing bakal banget nyegah panyedhiya saka eavesdropping panjalukan ing sadawane path panjalukan - lan ngumpulake statistik, ngawasi, ngatur iklan. Cloudflare ngaku yen tanggal woro-woro kasebut (1 April 2018, utawa 04/01 ing notasi Amerika) ora dipilih kanthi sengaja: apa dina liyane ing taun bakal diwenehi "papat unit"?
Wiwit pamirsa Habr pinter teknis, bagean tradisional "kenapa sampeyan butuh DNS?" Aku bakal nyelehake ing pungkasan kiriman, nanging ing kene aku bakal nyatakake perkara sing luwih migunani:
Kepiye cara nggunakake layanan anyar?
Sing paling gampang yaiku nemtokake alamat server DNS ing ndhuwur ing klien DNS sampeyan (utawa minangka hulu ing setelan server DNS lokal sing sampeyan gunakake). Apa iku nggawe pangertèn kanggo ngganti nilai biasanipun DNS Google (8.8.8.8, etc.), utawa rada kurang umum Server DNS umum Yandex (77.88.8.8 lan liya-liyane) menyang server Cloudflare - dheweke bakal mutusake kanggo sampeyan, nanging ngomong kanggo pamula jadwal kacepetan respon, miturut Cloudflare luwih cepet tinimbang kabeh saingan (Aku bakal njlentrehake: pangukuran dijupuk dening layanan pihak katelu, lan kacepetan kanggo klien tartamtu, mesthi, bisa beda-beda).
Luwih menarik kanggo nggarap mode anyar sing panjaluk kasebut mabur menyang server liwat sambungan sing dienkripsi (nyatane, tanggapan kasebut bali liwat), DNS-over-TLS lan DNS-over-HTTPS sing kasebut. Sayange, dheweke ora didhukung "metu saka kothak" (penulis percaya yen iki "durung"), nanging ora angel ngatur karya ing piranti lunak sampeyan (utawa malah ing hardware sampeyan):
DNS liwat HTTPs (DoH)
Minangka jeneng kasebut, komunikasi ditindakake liwat saluran HTTPS, tegese
ngarsane titik kebangkrutan (titik pungkasan) - dumunung ing alamat https://cloudflare-dns.com/dns-querylan
klien sing bisa ngirim panjalukan lan nampa respon.
Panyuwunan bisa uga ana ing format DNS Wireformat sing ditetepake ing RFC1035 (dikirim nggunakake metode HTTP POST lan GET), utawa ing format JSON (nggunakake metode HTTP GET). Kanggo kula pribadi, gagasan nggawe panjalukan DNS liwat panjalukan HTTP katon ora dikarepke, nanging ana gandum sing rasional: panyuwunan kasebut bakal ngliwati akeh sistem panyaring lalu lintas, respon parsing cukup prasaja, lan nggawe panjalukan luwih gampang. Perpustakaan lan protokol biasa tanggung jawab kanggo keamanan.
Temenan, router omah sing langka (yen paling ora siji) bisa nggarap DNS kanthi cara iki, nanging iki ora ateges dhukungan ora bakal katon sesuk - lan, sing menarik, ing kene kita bisa nindakake kerja DNS ing aplikasi kita (kaya sing wis ana. arep nggawe Mozilla, mung ing server Cloudflare).
DNS liwat TLS
Kanthi gawan, pitakon DNS dikirim tanpa enkripsi. DNS liwat TLS minangka cara kanggo ngirim liwat sambungan sing aman. Cloudflare ndhukung DNS liwat TLS ing port standar 853 kaya sing diwenehake RFC7858. Iki nggunakake sertifikat sing ditanggepi kanggo host cloudflare-dns.com, TLS 1.2 lan TLS 1.3 didhukung.
Nggawe sambungan lan digunakake miturut protokol kaya iki:
Sadurunge nggawe sambungan DNS, klien nyimpen hash SHA64 sing dienkode base256 saka sertifikat TLS cloudflare-dns.com (disebut SPKI)
Klien DNS nggawe sambungan TCP menyang cloudflare-dns.com:853
Klien DNS miwiti jabat tangan TLS
Sajrone proses salaman TLS, host cloudflare-dns.com menehi sertifikat TLS.
Sawise sambungan TLS ditetepake, klien DNS bisa ngirim panjalukan DNS liwat saluran sing aman, sing nyegah panjaluk lan tanggapan supaya ora dikuping lan disalahake.
Kabeh pitakon DNS sing dikirim liwat sambungan TLS kudu tundhuk karo ngirim DNS liwat TCP.
Conto panjalukan liwat DNS liwat 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
Opsi iki katon paling apik kanggo server DNS lokal sing nyedhiyakake kabutuhan jaringan lokal utawa pangguna siji. Bener, kanthi dhukungan saka standar ora apik banget, nanging - ayo ngarep-arep!
Rong tembung katrangan babagan apa sing diarani pacelathon
DNS singkatan saka Layanan Jeneng Domain (dadi ujar "layanan DNS" rada keluwih, singkatan kasebut wis ngemot tembung "layanan"), lan digunakake kanggo ngatasi tugas sing gampang - kanggo ngerti alamat IP apa sing duwe jeneng host tartamtu. Saben wong ngeklik link, utawa ngetik alamat ing bilah alamat browser (umpamane, kaya "https://habrahabr.ru/post/346430/"), komputer manungsa nyoba ngerteni server endi sing ngirim panjaluk kanggo entuk konten kaca. Ing kasus habrahabr.ru, tanggapan saka DNS bakal ngemot indikasi alamat IP server web: 178.248.237.68, banjur browser bakal nyoba ngubungi server kanthi alamat IP sing ditemtokake.
Sabanjure, server DNS, sawise nampa panjalukan "apa alamat IP host sing jenenge habrahabr.ru?", nemtokake manawa ngerti apa wae babagan host sing ditemtokake. Yen ora, iku nggawe panjalukan kanggo server DNS liyane ing donya, lan, langkah dening langkah, nyoba kanggo mangerteni jawaban kanggo pitakonan takon. Akibaté, nalika nemokake jawaban pungkasan, data sing ditemokake dikirim menyang klien sing isih nunggu, lan uga disimpen ing cache server DNS dhewe, sing bakal ngidini sampeyan njawab pitakonan sing padha luwih cepet ing wektu sabanjure.
Masalah umum yaiku, pisanan, data query DNS ditularake kanthi cetha (sing menehi sapa wae sing nduweni akses menyang aliran lalu lintas kemampuan kanggo ngisolasi pitakon DNS lan respon sing ditampa banjur ngurai kanggo tujuane dhewe; iki menehi kemampuan kanggo target iklan kanthi akurasi kanggo klien DNS, sing cukup akeh!). Kapindho, sawetara ISP (ora bakal nuding driji, nanging dudu sing paling cilik) cenderung nuduhake iklan tinimbang siji utawa kaca liyane sing dijaluk (sing ditindakake kanthi gampang: tinimbang alamat IP sing ditemtokake kanggo pitakon dening habranabr.ru jeneng host, wong acak Mangkono, alamat server web panyedhiya bali, ing ngendi kaca sing ngemot pariwara dilayani). Katelu, ana panyedhiya akses Internet sing ngetrapake mekanisme kanggo ngrampungake syarat kanggo mblokir situs individu kanthi ngganti tanggapan DNS sing bener babagan alamat IP sumber daya web sing diblokir karo alamat IP server sing ngemot kaca rintisan (minangka asil, akses menyang situs kasebut katon luwih rumit), utawa menyang alamat server proxy sing nindakake nyaring.
Iki mesthine minangka gambar saka situs kasebut. http://1.1.1.1/, digunakake kanggo njlèntrèhaké sambungan menyang layanan. Penulis kayane yakin karo kualitas DNS (nanging, angel nyana apa-apa saka Cloudflare):
Siji bisa ngerti Cloudflare, panyipta layanan kasebut: dheweke entuk roti kanthi njaga lan ngembangake salah sawijining jaringan CDN sing paling populer ing saindenging jagad (sing fungsi kalebu ora mung nyebarake konten, nanging uga dadi zona DNS), lan, amarga kepinginan wong-wong mau, sing ora ngerti, ajari wong-wong mau sing padha ora ngerti, iki arep menyang ngendi ing jaringan global, cukup asring nandhang sangsara marga saka mblokir alamat server saka aja ngomong sapa - supaya duwe DNS sing ora kena pengaruh "bengok, whistles lan scribbles" kanggo perusahaan tegese kurang gawe piala kanggo bisnis. Lan kaluwihan teknis (sepele, nanging apik: utamane, kanggo klien saka Cloudflare DNS gratis, nganyari cathetan DNS sumber daya sing di-host ing server DNS perusahaan bakal cepet) nggawe nggunakake layanan sing diterangake ing kiriman kasebut luwih menarik.
Mung pangguna pangguna sing bisa melu survey. mlebunggih.
Apa sampeyan bakal nggunakake layanan anyar?
Ya, kanthi mung nemtokake ing OS lan / utawa ing router
Ya, lan aku bakal nggunakake protokol anyar (DNS liwat HTTP lan DNS liwat TLS)
Ora, aku duwe cukup server saiki (iki minangka panyedhiya umum: Google, Yandex, lsp.)
Ora, aku malah ora ngerti apa sing aku gunakake saiki
Aku nggunakake DNS rekursif karo trowongan SSL kanggo wong-wong mau