Wczoraj w moim czytniku RSS wylądował m.in. artykuł, który pojawił się na blogu Cloudflare, i dotyczył kilkuminutowej „niedogodności” w dostępie do ich usług DNS (nowa regułka, która nie do końca zadziałała tak, jak planowali). I tak sobie pomyślałem, że to dobra okazja, by w końcu napisać o serwerach DNS od Cloudflare, z których w końcu sam korzystam właściwie równo od 2 miesięcy…

Serwery DNS od Cloudflare

W kwietniu 2018, a dokładnie 1 kwietnia (w końcu 4 x 1 ;-)) na blogu Cloudflare pojawił się inny artykuł, w którym ogłoszono start serwerów DNS, które uruchomiono przy współpracy z firmą APNIC, która jest właścicielem wykorzystanych adresów IP.

Serwery DNS, czyli Domain Name System (system nazw domenowych) to usługi, dzięki którym m.in. nie musimy pamiętać adresów IP poszczególnych stron, a możemy korzystać z nazw domen (np. Webinsider.pl).

Do kwietnia korzystałem z serwerów DNS od Google (8.8.8.8 i 8.8.4.4), ale… powiedzmy sobie, że o ile z usług Google całkowicie przestać korzystać nie zamierzam (to jednak nie „durny” Facebook, gdzie co najwyżej tracę codzienną porcję zdjęć kotków ;-)), to z chęcią zmieniłem ich (Google) DNSy na te od Cloudflare. Zwłaszcza że i tak większość moich stron stoi „za Cloudflare”.

Nawet nie musieli mnie przekonywać, choć jak kogoś interesuje, to informacja dotycząca polityki przetwarzania danych związanej z usługą Cloudflare DNS:

Here’s the deal – we don’t store client IP addresses never, ever, and we only use query names for things that improve DNS resolver performance (such as prefill all caches based on popular domains in a region and/or after obfuscation, APNIC research).

Cloudflare will never store any information in our logs that identifies an end user, and all logs collected by our public resolver will be deleted within 24 hours.

Serwery DNS od Cloudflare są równie proste – jeśli nawet nie prostsze – do zapamiętania niż te od Google. Przynajmniej dla IP4:

  • 1.1.1.1
  • 1.0.0.1

Dla IPv6 z oczywistych względów są trochę mniej proste do zapamiętania:

  • 2606:4700:4700::1111
  • 2606:4700:4700::1001

Najpierw zmieniłem w domowym routerze – wszystko działało, więc po kilku dniach dokonałem podmiany w innych urządzeniach (systemach) gdzie korzystałem z DNSów od Google (8.8.8.8 i 8.8.4.4).

Nie tylko 1.1.1.1 i 1.0.0.1

Ale DNSy Cloudflare mogą również służyć do podniesienia bezpieczeństwa korzystania z internetu. Wystarczy zamiast 1.1.1.1 i 1.0.0.1 ustawić:

  • 1.1.1.2
  • 1.0.0.2

Można też pójść jeszcze o krok dalej i oprócz niebezpiecznych zasobów, zablokować te związane z treściami dla dorosłych:

  • 1.1.1.3
  • 1.0.0.3

Czy to ma sens? Zależy… Dla osoby dorosłej i świadomej niekoniecznie. Dla mniej świadomej być może warto ustawić DNSy z blokadą zagrożeń, a gdy mamy w domu dodatkowo dzieci, można skorzystać z tych, z dodatkową blokadą treści dla dorosłych. Czy będzie taka blokada skuteczne? Technicznie tak, ale wystarczy, że dzieciak połączy się do internetu w inny sposób i cała „ochrona” pryśnie.

Kilka testów, które… nie mają większego znaczenia ;-)

Na koniec postanowiłem zrobić kilka testów, by sprawdzić, jak DNSy od Cloudflare sprawują się w praktyce. Na początek świeży wykres z serwisu DNSPerf:

Na wykresie widać, że DNSy od Cloudflare (konkretnie 1.1.1.1) mają najmniejszy czas reakcji. Dobrze, choć… o tym za chwilę.

Sprawdziłem, jak to wygląda za pomocą 2 poleceń PowerShell, wykonanych na moim komputerze:

(measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).milliseconds
(measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).ticks
(measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).milliseconds
(measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).ticks

Wyniki z 2 kwietnia 2018:

PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).milliseconds
13
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).ticks
47939
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).milliseconds
23
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).ticks
230115
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).milliseconds
7
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).ticks
47521
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).milliseconds
23
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).ticks
232070
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).milliseconds
5
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).ticks
44881
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).milliseconds
23
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).ticks
233580
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).milliseconds
5
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).ticks
43582
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).milliseconds
23
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).ticks
382492

Wyniki z 2 czerwca 2018:

PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).milliseconds
547
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).ticks
49511
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).milliseconds
40
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).ticks
346809
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).milliseconds
10
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 1.1.1.1}).ticks
48882
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).milliseconds
39
PS C:\> (measure-command{resolve-dnsname webinsider.pl -server 8.8.8.8}).ticks
335354

Następnie postanowiłem zrobić test (porównanie) w środowisku Linux:

time host webinsider.pl 1.1.1.1 &>/dev/null
time host webinsider.pl 8.8.8.8 &>/dev/null

Raspberry Pi

Wyniki z 2 kwietnia 2018:

patryk@raspberrypi04: time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.070s
user 0m0.040s
sys 0m0.020s
patryk@raspberrypi04: time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.181s
user 0m0.060s
sys 0m0.010s
patryk@raspberrypi04: time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.070s
user 0m0.040s
sys 0m0.020s
patryk@raspberrypi04: time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.144s
user 0m0.050s
sys 0m0.010s

Wyniki z 2 czerwca 2018:

patryk@raspberrypi04: time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.070s
user 0m0.060s
sys 0m0.010s
patryk@raspberrypi04: time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.136s
user 0m0.060s
sys 0m0.000s
patryk@raspberrypi04: time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.070s
user 0m0.050s
sys 0m0.010s
patryk@raspberrypi04: time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.106s
user 0m0.050s
sys 0m0.010s

Serwer VPS zlokalizowany w Polsce (HitMe)

Wyniki z 2 kwietnia 2018:

patryk@hitme01:~$ time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.041s
user 0m0.000s
sys 0m0.016s
patryk@hitme01:~$ time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.137s
user 0m0.004s
sys 0m0.008s
patryk@hitme01:~$ time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.036s
user 0m0.000s
sys 0m0.012s
patryk@hitme01:~$ time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.138s
user 0m0.004s
sys 0m0.012s

Wyniki z 2 czerwca 2018:

patryk@hitme01:~$ time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.039s
user 0m0.004s
sys 0m0.008s
patryk@hitme01:~$ time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.122s
user 0m0.004s
sys 0m0.012s
patryk@hitme01:~$ time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.034s
user 0m0.008s
sys 0m0.004s
patryk@hitme01:~$ time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.122s
user 0m0.008s
sys 0m0.008s

Serwer VPS zlokalizowany w Holandii (DigitalOcean)

Wyniki z 2 kwietnia 2018:

patryk@digitalocean03:~$ time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.061s
user 0m0.004s
sys 0m0.004s
patryk@digitalocean03:~$ time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.066s
user 0m0.008s
sys 0m0.000s
patryk@digitalocean03:~$ time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.013s
user 0m0.004s
sys 0m0.004s
patryk@digitalocean03:~$ time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.061s
user 0m0.000s
sys 0m0.008s

Wyniki z 2 czerwca 2018:

patryk@digitalocean03:~$ time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.013s
user 0m0.008s
sys 0m0.000s
patryk@digitalocean03:~$ time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.088s
user 0m0.004s
sys 0m0.004s
patryk@digitalocean03:~$ time host webinsider.pl 1.1.1.1 &>/dev/null
real 0m0.014s
user 0m0.004s
sys 0m0.004s
patryk@digitalocean03:~$ time host webinsider.pl 8.8.8.8 &>/dev/null
real 0m0.066s
user 0m0.016s
sys 0m0.000s

I choć różnice mogą robić wrażenie (zdecydowanie na korzyść Cloudflare), to tak naprawdę w większości przypadków, dla większości użytkowników różnice między DNSami Cloudflare a Google będą niezauważalne, i raczej nie decydowałbym się na zmianę tylko ze względu na wydajność…

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk