Hlavní navigace

Doména .CZ musí být stabilní, dostane nové servery a 100GE linky

Petr Krčmář

Doména je dnes něco, co musí bezpodmínečně fungovat. Datové toky ale rostou a přibývá také DDoS útoků. CZ.NIC se proto rozhodl významně posílit svou infrastrukturu DNS serverů rozmístěných po celém světě.

Na konferenci Internet a Technologie 17.2 zazněla také přednáška o technickém zajištění domény .CZ, kterou provozuje CZ.NIC. Přednášel Zdeněk Brůna, který má v CZ.NIC na starosti technické oddělení, které se věnuje především správě DNS a vývoji dalších nástrojů. Samozřejmě děláme také to, co je pro nás úplně nejdůležitější – DNS infrastruktura.

Věnoval se zejména tomu, jak se CZ.NIC o svou infrastrukturu stará. Také tomu, kolik jsme do ní v poslední době investovali peněz a úsilí. Systém DNS letos oslavil 30. narozeniny a je pro nás něčím naprosto samozřejmým. Je to jako když teče voda z kohoutku. Vůbec si neumíme představit, že by netekla. Možná je to ještě horší – když chvíli neteče voda, tak nepanikaříte, ale kdyby přestalo fungovat DNS, vypukla by zřejmě velmi rychle panika.

Hlavní úlohou DNS je stále překlad doménových jmen na IP adresy a obráceně. Funguje v režimu klient-server, kdy se prochází stromová hierarchie od kořene k listům. Základním stavebním kamenem jsou DNS servery – rekurzivní a autoritativní. Běžný uživatel se setká s rekurzivními servery, na kterých jsou data uložena jen dočasně a jsou získávána z autoritativních serverů.

Autoritativní servery se pak dělí podle toho, na jaké úrovni pracují. Úplně nahoře je kořenová zóna, kterou obsluhuje 13 různých skupin serverů označených písmeny abecedy a využívající anycastové připojení. My máme tu čest, že ve své sítí provozujeme tři zrcadla kořenové zóny. Dále CZ.NIC samozřejmě spravuje servery pro doménu .CZ, o kterou má povinnost se starat.

Autoritativní servery pro .CZ

Autoritativní DNS servery provozované CZ.NIC jsou ukryté za čtyřmi doménovými jmény [a-d].ns.nic.cz, která vedou na anycastové IP adresy. Fyzicky jde o 31 fyzických serverů, 15 z toho v České republice a 16 v zahraničí. V Česku jsou servery rozděleny po pěti do třech různých datových center.

V zahraničí jsou vždy dvojice serverů rozděleny do celkem osmi lokalit v sedmi zemích: Německo, Rakousko, Británie, Švédsko, Chile, Japonsko a dva servery jsou ve Spojených státech – na východním a západním pobřeží. V Evropě je to samozřejmě trochu nahuštěné.

Rozmístění autoritativních DNS serverů domény .CZ

Celá infrastruktura je stavěna s vysokou diverzitou – na všech úrovních, které vás mohou napadnout. Od výrobců serverů, přes routery až po operační systémy nebo DNS démony. Pokud spravujete nějaké systémy, tak si určitě říkáte, že si komplikujeme práci. To je pravda, je to náročnější. Ale děláme to proto, že se vždycky objeví nějaká chyba a pokud je fatální, máme pořád jiné instance běžící na jiné kombinaci hardware a software, kde by se stejná chyba projevit nemusela.

Hardware se tedy nakupuje od firem jako Dell, HP, Cisco či Juniper. Jako operační systém se pak používá Debian, Ubuntu LTS nebo OpenBSD, na kterých běží routovací démoni Bird, Quagga nebo BGPD. Funkci samotných autoritativních serverů pak zajišťují DNS servery Bind, Knot DNS nebo NSD.

Pro distribuci dotazů na jednotlivé servery se používá už zmíněný DNS anycast. To je magický nástroj, který nám velmi pomáhá v tom, aby DNS systém byl stabilní a nebyl náchylný na výpadky. Anycast umožňuje provozovat více serverů pod jednou IP adresou a pomocí protokolu BGP je pak možné požadavky směřovat na konkrétní server, který je k uživateli síťově nejblíž. Pokud by došlo k výpadku jedné lokality, uživatelé to nepoznají, protože dojde k automatickému přesměrování jinam.

Navrhnout správně anycast není jednoduché, protože je potřeba zajistit, aby vždy existoval dostatek záložních cest a aby se uživatel vždy dostal k požadovaným datům. Neustále se věnujeme ladění téhle věci, nejen z hlediska výkonnosti, ale také abychom měli všechny servery dobře rozmístěné. V blízké době bude například posilována pozice v jihovýchodní Asii, protože provoz z těchto oblastí narůstá, stejně jako v Jižní Americe.

Servery musí při běžném provozu odbavit mezi 20 a 30 tisíci požadavky za sekundu – denně je to tedy přibližně miliarda požadavků. Děláme samozřejmě analýzu toho, odkud přichází nejvíc požadavků. Přibližně 40 % požadavků je z Česka, mezi významné lokality patří také Británie (20 %), Rakousko (12 %) a Německo (10 %). Británie vybočuje, protože tam běží důležité služby od Google a Microsoftu, které používá hodně lidí.

Posílení infrastruktury

CZ.NIC se rozhodl svou infrastrukturu dále posilovat, přestože výkonově v běžném provozu dostačuje. Dnes dokážeme odbavit asi 20 milionů požadavků za sekundu. V současné době k nám tečou desítky až stovky megabitů a my teoreticky dokážeme odbavit 60 gigabitů. Přibývá ale DDoS útoků a zároveň roste jejich síla. Dosáhnout na desítky gigabitů dnes není těžké a dopady bývají fatální.

Cílem je tedy posílit celou infrastrukturu tak, aby byla odolnější. V první fázi jsme mířili na schopnost odbavit přibližně 200 gigabitů provozu, což je přibližně 100 milionů požadavků za sekundu. Zároveň je potřeba zvýšit distribuovanost celého systému a rozšířit se do dalších lokalit. Zároveň bude určitě také zachována diverzita, na kterou se myslí už při návrhu jakékoliv další části infrastruktury.

Vyvázaná kabeláž v novém DNS stacku

Nedílnou součástí plánu je také posílení monitoringu a alertingu. Uvědomte si, že když budeme mít takhle silnou infrastrukturu, může ji někdo zneužít například k odrazovému útoku. Přestože nás samotné zvýšený tok nebude trápit, musíme být schopni rychle odhalit a zastavit takový útok.

Konkrétně bylo rozhodnuto o navýšení kapacity připojení do uzlu NIX.CZ na 100GE ve dvou českých lokalitách a pořízeních nových 100Gbps routerů a několika desítek DNS serverů, které jsou schopny tento provoz zvládnout. Podobně se budeme také věnovat posilování významných zahraničních lokalit.

Nová podoba DNS stacku

Základním prvkem pro provoz DNS anycastu je takzvaný DNS stack. Ten se obvykle skládá z routeru, samotných DNS serverů, přepínače pro správu a serverem pro správu. Stack je připojen do peeringového uzlu, zahraničí a má samostatné připojení pro správu. Snažíme se oddělit správu od provozu. Kdyby došlo k zahlcení provozní linky, jsme pak schopni přijít ‚zezadu‘ a infrastrukturu ovládat.

Celkem bylo nadimenzováno pět různých variant pro různá použití. Liší se zejména množstvím serverů, ale také použitou konektivitou. Nejprve jsme postavili ten největší stack, ale když jsme se chtěli pustit do středního, zjistili jsme, že se to kvůli drahým routerům ekonomicky nevyplatí. Proto jsme plán změnili a chceme raději postavit více menších variant.

Různě velké modely DNS stacku

Největší řešení obsahuje 30 serverů, což by mělo dostačovat k využití 100GE linky. Provedli jsme analýzu reálného provozu a máme vyzkoušeno, že jeden server je schopen odbavit více než milion požadavků za sekundu. Při průměrné velikosti paketů je pak možné vypočítat, že jeden fyzický server je schopen odbavit přibližně 4 gigabity provozu. Dělením pak dojdete k tomu, že pro 100GE linku potřebujete 30 serverů. Navíc je to dobré číslo pro umisťování do racku.

30 serverů velkého DNS stacku

První velký český DNS stack už běží v datovém centru DC Tower pod Žižkovskou věží. Výběrové řízení se táhlo dlouhé měsíce, zapojilo se do něj pět dodavatelů a CZ.NIC prý díky němu ušetřil miliony korun. Pro první lokalitu byly vybrány server Dell PE R430 a router Juniper MX240. Problémem je ale i to, že celé řešení má spotřebu 10 kW, což se v datacentrech obvykle nelíbí. Všude vám to slíbí, ale když se pak o tom s nimi začnete bavit, tak vám řeknou, že to běžné není. Pokud vám někdo řekne, že je to v pohodě a nějak se to udělá, jděte pryč.

Autoritativní servery v sítích

Úplnou novinkou je pak instalace autoritativního DNS serveru se zónou .CZ přímo u poskytovatele připojení. Do sítě významného poskytovatele připojení, ve které je zajímavý DNS provoz, přidáme autoritativní server. Obvykle je do této sítě propagován jeden z anycastových prefixů a je dohodnuto, že zůstává jen v této síti a nepředává se do upstreamu.

Důvodem je zvýšení robustnosti a možnost odděleného běhu v případě výpadku. Neděláme to celé proto, aby došlo ke snížení latence pro zákazníky – tam je změna tak malá, že by do ní asi nikdo neinvestoval. Děláme to pro případ fatálních problémů na systému DNS. Kdyby byly naše servery pod útokem, má daná síť vlastní kopii a může fungovat dál. Další výhodou je možnost zabránit útoku, který by pocházel z dané sítě. Můžeme pak jednoduše zařídit, že útok bude končit uvnitř sítě poskytovatele.

Optika v novém racku

Samozřejmě není možné umístit kopii domény do všech českých sítí, ale CZ.NIC si bude vybírat. Máme podrobné analýzy provozu, takže chceme jednat s provozovateli sítí, u kterých to dává smysl a od kterých přichází zajímavé toky. Podle Brůny jsou první reakce velmi vstřícné. Zatím jsme se bavili se dvěma firmami a dává jim to smysl.

Od léta už běží malý DNS stack ve dvou sítích: Seznam.cz a Vodafone. Zatím jsme o tom moc nemluvili, protože technici byli rychlejší než právníci. Zprovozněno to bylo velmi rychle, ale pak se ještě musely dohodnout a podepsat smlouvy. Seznam.cz má dokonce dva nezávislé DNS stacky ve dvou datových centrech, Vodafone má jeden.

Co se chystá

V současné době se pracuje na posílení DNS serverů v Británii, počet se zvyšuje ze dvou na pět. Bude to první zahraniční server, který projde navýšením, ale chystáme další. Připravuje se posílení v Německu, Rakousku a uvažuje se i nad Švédskem. Přemýšlíme také o úplně nových lokalitách v Kanadě, jihovýchodní Asii, možná v Hongkongu.

Zároveň by měl být rozšířen počet poskytovatelů připojení, u kterých bude nainstalován malý DNS stack. Příští rok bychom chtěli mít minimálně tři. Stejně tak chceme mít DNS stack také pro bezpečnostní projekt FENIX.

Na začátek příštího roku se pak chystá druhý velký DNS stack v Česku, který bude v datacentru CE Colo a bude obsahovat 30 DNS serverů HP ProLiant DL360 Gen9. Infrastruktura bude stejná, ale uvnitř to bude vypadat trochu jinak. Právě řešíme s datacentrem technické detaily, už teď ale víme, že spotřeba bude opět okolo 10 kW.

Zmíněno bylo také navýšení kapacity spojů mezi jednotlivými lokalitami. Když už máte 100GE ven, bylo by dobré mít i jednotlivé lokality propojené stejnou rychlostí, uzavřel Brůna.

Na celou přednášku se můžete podívat na videozáznamu, k dispozici je i prezentace [PDF].

Našli jste v článku chybu?