اسان 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، وغيره)، يا ٿورڙو گهٽ عام Yandex عوامي DNS سرور (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 وائر فارميٽ فارميٽ ۾ بيان ڪيل آر ايف سي 1035 (پوسٽ ۽ GET HTTP طريقا استعمال ڪندي موڪليو ويو)، يا JSON فارميٽ ۾ (GET HTTP طريقو استعمال ڪندي). مون لاءِ ذاتي طور تي، HTTP درخواستن ذريعي DNS درخواستون ڪرڻ جو خيال اڻڄاتل نظر آيو، پر ان ۾ هڪ معقول اناج آهي: اهڙي درخواست ڪيترن ئي ٽريفڪ فلٽرنگ سسٽم کي پاس ڪندي، جوابن کي پارس ڪرڻ بلڪل سادو آهي، ۽ درخواستون پيدا ڪرڻ به آسان آهي. عام لائبريريون ۽ پروٽوڪول سيڪيورٽي جا ذميوار آهن.

درخواست جا مثال، سڌو دستاويزن مان:

DNS وائر فارميٽ فارميٽ ۾ درخواست حاصل ڪريو

$ 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 وائر فارميٽ فارميٽ ۾

$ 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 سرورز تي).

TLS مٿان DNS

ڊفالٽ طور، ڊي اين ايس سوالن کي بغير انڪرپشن جي منتقل ڪيو ويو آهي. TLS مٿان DNS انهن کي محفوظ ڪنيڪشن تي موڪلڻ جو هڪ طريقو آهي. Cloudflare معياري پورٽ 853 تي TLS مٿان DNS کي سپورٽ ڪري ٿو جيئن بيان ڪيل آر ايف سي 7858. هي استعمال ڪري ٿو هڪ سرٽيفڪيٽ جاري ڪيل Cloudflare-dns.com ميزبان لاءِ، TLS 1.2 ۽ TLS 1.3 سپورٽ آهن.

ڪنيڪشن قائم ڪرڻ ۽ پروٽوڪول جي مطابق ڪم ڪرڻ ڪجهه هن طرح آهي:

  • DNS ڪنيڪشن قائم ڪرڻ کان اڳ، ڪلائنٽ ڪلائوڊ فليئر-dns.com جي TLS سرٽيفڪيٽ جو بنيادي 64 انڪوڊ ٿيل SHA256 هيش محفوظ ڪري ٿو (جنهن کي SPKI سڏيو ويندو آهي)
  • DNS ڪلائنٽ هڪ TCP ڪنيڪشن قائم ڪري ٿو cloudflare-dns.com:853
  • DNS ڪلائنٽ TLS هٿ ملائڻ شروع ڪري ٿو
  • TLS هٿ ملائڻ واري عمل دوران، cloudflare-dns.com ميزبان پنهنجو TLS سرٽيفڪيٽ پيش ڪري ٿو.
  • هڪ دفعو هڪ TLS ڪنيڪشن قائم ٿيڻ کان پوء، DNS ڪلائنٽ هڪ محفوظ چينل تي DNS سوالن کي موڪلي سگهي ٿو، جيڪو درخواستن ۽ جوابن کي لڪائڻ ۽ چوري ٿيڻ کان روڪي ٿو.
  • TLS ڪنيڪشن تي موڪليل سڀ DNS سوالن جي تعميل ڪرڻ گهرجن TCP تي DNS موڪلڻ.

TLS مٿان DNS ذريعي درخواست جو هڪ مثال:

$ 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 ڊومين نالو جي خدمت لاءِ بيٺل آهي (انهي ڪري چوڻ آهي ته ”DNS سروس“ ڪجهه حد تائين بيڪار آهي، مخفف اڳ ۾ ئي لفظ ”سروس“ تي مشتمل آهي)، ۽ استعمال ڪيو ويندو آهي هڪ سادي ڪم کي حل ڪرڻ لاءِ- اهو سمجهڻ لاءِ ته IP پتي جو ڪنهن خاص ميزبان جو نالو ڇا آهي. هر دفعي جڏهن ڪو ماڻهو لنڪ تي ڪلڪ ڪري ٿو، يا برائوزر جي ايڊريس بار ۾ ايڊريس داخل ڪري ٿو (چئو، ڪجھه وانگر "https://habrahabr.ru/post/346430/")، انساني ڪمپيوٽر اهو معلوم ڪرڻ جي ڪوشش ڪري رهيو آهي ته صفحي جو مواد حاصل ڪرڻ لاءِ ڪهڙي سرور کي درخواست موڪلي. habrahabr.ru جي صورت ۾، DNS جي جواب ۾ ويب سرور جي IP پتي جو اشارو هوندو: 178.248.237.68، ۽ پوء برائوزر اڳ ۾ ئي مخصوص IP پتي سان سرور سان رابطو ڪرڻ جي ڪوشش ڪندو.

موڙ ۾، ڊي اين ايس سرور، درخواست حاصل ڪرڻ کان پوء "ڇا آهي ميزبان جو IP پتو habrahabr.ru؟"، اهو طئي ڪري ٿو ته ڇا اهو مخصوص ميزبان بابت ڪجهه ڄاڻي ٿو. جيڪڏهن نه، اهو دنيا جي ٻين DNS سرورن ڏانهن هڪ درخواست ڪري ٿو، ۽، قدم قدم، سوال جو جواب ڳولڻ جي ڪوشش ڪري ٿو. نتيجي طور، حتمي جواب ڳولڻ تي، مليو ڊيٽا ڪلائنٽ ڏانهن موڪليو ويو آهي اڃا تائين انهن جي انتظار ۾، ان سان گڏ اهو ذخيرو ٿيل آهي DNS سرور جي ڪيش ۾، جيڪو توهان کي اجازت ڏيندو ته ساڳئي سوال جو جواب ايندڙ وقت تي گهڻو تيز.

هڪ عام مسئلو اهو آهي ته، پهريون، DNS سوالن جي ڊيٽا صاف طور تي منتقل ڪئي وئي آهي (جيڪو ٽرئفڪ جي وهڪري تائين رسائي ڪنهن کي ڏئي ٿو DNS سوالن کي الڳ ڪرڻ ۽ انهن جي جوابن کي الڳ ڪرڻ جي صلاحيت ۽ پوء انهن کي پنهنجن مقصدن لاء پارس؛ هي ڏئي ٿو ڊي اين ايس ڪلائنٽ جي درستگي سان اشتهارن کي نشانو بڻائڻ جي صلاحيت، جيڪا ڪافي آهي!). ٻيو ته، ڪجهه ISPs (اسان آڱرين ڏانهن اشارو نه ڪنداسين، پر ننڍا نه) هڪ يا ٻئي درخواست ڪيل صفحي جي بدران اشتهارن کي ڏيکاريندا آهن (جيڪو بلڪل آسانيء سان لاڳو ٿئي ٿو: habranabr.ru پاران سوال لاء مخصوص IP پتي جي بدران. host name, a random person اهڙيءَ طرح، مهيا ڪندڙ جي ويب سرور جو پتو واپس ڪيو ويندو آهي، جتي اهو صفحو جنهن ۾ اشتهار ڏنو ويندو آهي). ٽيون، انٽرنيٽ جي رسائي فراهم ڪندڙ آهن جيڪي انفرادي سائيٽن کي بلاڪ ڪرڻ جي ضرورتن کي پورو ڪرڻ لاءِ هڪ ميکانيزم لاڳو ڪن ٿا بلاڪ ڪيل ويب وسيلن جي IP پتي بابت صحيح DNS جوابن کي تبديل ڪندي انهن جي سرور جي IP پتي سان جنهن ۾ اسٽب صفحا شامل آهن (نتيجي طور تي، رسائي. اهڙيون سائيٽون خاص طور تي وڌيڪ پيچيده)، يا توهان جي پراکسي سرور جي ايڊريس تي جيڪو فلٽرنگ انجام ڏئي ٿو.

اهو شايد سائيٽ مان هڪ تصوير هجڻ گهرجي. http://1.1.1.1/، خدمت سان ڪنيڪشن بيان ڪرڻ لاءِ استعمال ڪيو ويو. ليکڪ انهن جي ڊي اين ايس جي معيار ۾ ڪافي پراعتماد نظر اچن ٿا (جڏهن ته، Cloudflare کان ڪنهن ٻئي جي توقع ڪرڻ ڏکيو آهي):

اسان Cloudflare کان 1.1.1.1 ۽ 1.0.0.1 پتي تي سروس ملن ٿا، يا "عوامي DNS شيلف اچي ويو آهي!"

ڪو به Cloudflare کي مڪمل طور تي سمجهي سگهي ٿو، خدمت جو خالق: اهي دنيا جي مشهور ترين سي ڊي اين نيٽ ورڪن مان هڪ کي برقرار رکڻ ۽ ترقي ڪندي پنهنجي ماني ڪمائي رهيا آهن (جنهن ۾ ڪم شامل آهن نه رڳو مواد ورهائڻ، پر ڊي اين ايس زونن جي ميزباني)، ۽، سبب. انهن جي خواهش، جنهن کي چڱيءَ طرح ڄاڻ نه هجي، انهن کي سيکاريو جن کي خبر ناهي، انهي ڏانهن ڪيڏانهن وڃڻو آهي عالمي نيٽ ورڪ ۾، اڪثر ڪري انهن جي سرورن جي ايڊريس کي بلاڪ ڪرڻ کان متاثر ٿيندو آهي اچو ته اهو نه ٻڌايان ته ڪير - تنهن ڪري هڪ DNS هجڻ جو ڪمپني لاءِ ”چوڙ، سيٽيون ۽ اسڪرائبل“ کان متاثر نه ٿيو مطلب ته انهن جي ڪاروبار کي گهٽ نقصان. ۽ ٽيڪنيڪل فائدن (هڪ ننڍڙو، پر سٺو: خاص طور تي، مفت DNS Cloudflare جي ڪلائنٽ لاء، ڪمپني جي DNS سرورز تي ميزباني ڪيل وسيلن جي DNS رڪارڊز کي اپڊيٽ ڪرڻ فوري طور تي) پوسٽ ۾ بيان ڪيل خدمت کي استعمال ڪندي اڃا به وڌيڪ دلچسپ بڻائي ٿو.

صرف رجسٽرڊ استعمال ڪندڙ سروي ۾ حصو وٺي سگهن ٿا. سائن ان ڪريو، توهان جي مهرباني.

ڇا توھان نئين سروس استعمال ڪندا؟

  • ها، صرف ان کي OS ۽ / يا روٽر تي بيان ڪندي

  • ها، ۽ مان استعمال ڪندس نوان پروٽوڪول (DNS مٿان HTTPs ۽ DNS مٿان TLS)

  • نه، مون وٽ ڪافي موجوده سرور آهن (هي هڪ عوامي فراهم ڪندڙ آهي: گوگل، ياندڪس، وغيره)

  • نه، مون کي اها به خبر ناهي ته مان هن وقت ڇا استعمال ڪري رهيو آهيان

  • مان انهن ڏانهن هڪ SSL سرنگ سان منهنجي ٻيهر ورجائيندڙ DNS استعمال ڪريان ٿو

693 صارفين ووٽ ڏنو. 191 استعمال ڪندڙ روڪيو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو