Накратко: DNS (Domain Name System) е телефонният указател на интернет. Той превежда имената на домейни, които хората помнят, например firma.bg, в IP адреси, с които работят компютрите, например 203.0.113.10. Когато въведете адрес в браузъра, DNS за части от секундата открива към кой сървър да ви изпрати. Освен за сайта, DNS записите казват къде да пристига пощата ви, как да се проверява самоличността на вашите имейли и кои услуги принадлежат на домейна. Ако DNS е настроен грешно, сайтът не се отваря, а имейлите не пристигат, дори когато хостингът работи безупречно.
Какво е DNS с прости думи
DNS е системата, която свързва името на домейна с IP адреса на сървъра, на който се намира сайтът. Компютрите в интернет се намират един друг по числови адреси. Хората обаче не помнят числа, а имена. DNS стои по средата и превежда едното в другото, автоматично и невидимо за потребителя.
Най-лесно е да си представите контактите в телефона си. Не помните номера на приятелите си, а търсите по име и телефонът набира номера вместо вас. DNS прави същото за целия интернет: вие пишете firma.bg, а системата открива, че сайтът е на адрес 203.0.113.10, и браузърът се свързва с този сървър.
Домейнът е името на табелата, хостингът е сградата, а DNS е картата, която казва на кой адрес се намира сградата.
Ако още не сте сигурни как се свързват тези три понятия, прочетете първо Домейн, хостинг и сайт: каква е разликата?.
Защо DNS е толкова важен
Почти всяко действие в интернет започва с DNS заявка: отваряне на сайт, изпращане на имейл, свързване на приложение със сървъра. Затова DNS е една от основите, без които мрежата практически не работи за обикновения потребител.
Последната точка е много важна за бизнеса. Името на домейна е вашата марка и стои на визитките, фактурите и рекламите. Благодарение на DNS можете да смените хостинга, да преместите пощата или да добавите нова услуга, без клиентите изобщо да забележат.
Как работи една DNS заявка
Когато въведете адрес, компютърът пита DNS резолвър, а той, ако не знае отговора, обикаля йерархията от DNS сървъри, докато не намери IP адреса. Обикновено това отнема части от секундата, а при повторно посещение е още по-бързо заради кеширането.
.bg, после авторитетния сървър на домейна.Нека видим същото като разговор. Резолвърът пита коренния сървър за firma.bg. Коренният отговаря: „Не знам точния адрес, но ето кои сървъри отговарят за .bg.“ Резолвърът пита тях и получава: „За firma.bg питай тези nameservers.“ Накрая пита авторитетните nameservers на домейна и те дават окончателния отговор. Всеки сървър знае само своята част от картата, но заедно покриват целия интернет.
Участниците: резолвър, коренни, TLD и авторитетни сървъри
В DNS има четири основни роли: резолвърът търси отговора, а коренните, TLD и авторитетните сървъри го пазят на различни нива.
DNS резолвър (рекурсивен сървър)
Това е „търсачът“. Той получава въпроса от вашето устройство, обикаля останалите сървъри и запомня отговорите. Обикновено се задава автоматично от рутера или интернет доставчика, но може да бъде сменен ръчно в настройките на мрежата.
Коренни сървъри
Те са върхът на йерархията. Не знаят адресите на отделните сайтове, а само кои сървъри отговарят за всяко домейн разширение като .com, .bg или .eu. Логически те са малко на брой, но физически са разпределени по целия свят, за да са бързи и устойчиви.
TLD сървъри
TLD означава домейн от първо ниво. Сървърите за .bg знаят кои nameservers отговарят за всеки домейн с това разширение. Тази информация идва от регистъра, когато регистрирате домейна. Повече за разширенията има в статията Какво е домейн?.
Авторитетни сървъри (nameservers)
Това са сървърите, които пазят истинските записи на вашия домейн: къде е сайтът, къде е пощата, кои TXT записи има. Те дават окончателния отговор. Когато в контролния панел редактирате DNS записите, всъщност променяте съдържанието на тези сървъри.
Видове DNS записи
DNS записите са редовете в зоната на домейна и всеки вид отговаря на различен въпрос: къде е сайтът, къде е пощата, кой отговаря за домейна и т.н. Ето най-често използваните.
| Запис | За какво служи | Пример |
|---|---|---|
| A | Свързва име с IPv4 адрес | firma.bg → 203.0.113.10 |
| AAAA | Свързва име с IPv6 адрес | firma.bg → 2001:db8::10 |
| CNAME | Псевдоним, който сочи към друго име | www → firma.bg |
| MX | Сървърите, които приемат пощата, с приоритет | 10 mail.firma.bg |
| TXT | Текстова информация: SPF, DKIM, DMARC, потвърждения | v=spf1 ... -all |
| NS | Кои nameservers отговарят за домейна | ns1.example.net |
| SOA | Основни данни за зоната: главен сървър, сериен номер, таймери | Създава се автоматично |
| CAA | Кои органи могат да издават SSL сертификати за домейна | 0 issue "letsencrypt.org" |
| SRV | Адрес и порт на конкретна услуга | Използва се от някои приложения за чат и телефония |
| PTR | Обратното: IP адрес към име | Настройва се от собственика на IP адреса |
A и AAAA: адресът на сайта
Това са най-важните записи за сайта. Записът A пази IPv4 адрес, а AAAA пази по-новия и по-дълъг IPv6 адрес. Ако хостингът ви поддържа и двата, добре е да имате и двата записа.
CNAME: псевдоним
CNAME казва „това име е същото като онова“. Най-често се ползва за www, за да сочи към основния домейн. Важно ограничение: самият корен на домейна (firma.bg без нищо отпред) по правило не може да бъде CNAME, а име с CNAME не може да има други записи.
MX: пощата
MX записите казват на кой сървър да се доставят писмата до @firma.bg. Числото пред името е приоритет: по-малкото число се опитва първо. Ако имате два MX записа, вторият служи като резервен.
TXT: текст и проверки
TXT записите съдържат текст. Използват се за защита на пощата (SPF, DKIM, DMARC) и за потвърждаване, че притежавате домейна, когато свързвате външни услуги, например инструменти за анализ на сайта.
Как изглежда една DNS зона
DNS зоната е списъкът с всички записи на един домейн. В контролния панел я виждате като таблица, но в основата си тя е обикновен текст. Ето опростен пример за малка фирма:
firma.bg. 3600 IN A 203.0.113.10
firma.bg. 3600 IN AAAA 2001:db8::10
www.firma.bg. 3600 IN CNAME firma.bg.
firma.bg. 3600 IN MX 10 mail.firma.bg.
mail.firma.bg. 3600 IN A 203.0.113.20
firma.bg. 3600 IN TXT "v=spf1 a mx -all"
blog.firma.bg. 3600 IN A 203.0.113.10
Как се чете всеки ред: първо идва името, после TTL в секунди, после класът IN (интернет), видът на записа и накрая стойността. Точката в края на имената означава пълно име. В повечето контролни панели не е нужно да я пишете, защото панелът я добавя сам.
blog.firma.bg. Добавяте един запис A за името blog със стойност IP адреса на сървъра. Това е всичко, което DNS трябва да знае. Останалото се настройва в хостинга.TTL и кеширане
TTL (Time To Live) е времето в секунди, за което резолвърите могат да помнят даден запис, преди да попитат отново. Кеширането прави интернет бърз, защото популярните отговори не се търсят наново при всяко отваряне на сайт.
| TTL | Колко е | Кога е подходящ |
|---|---|---|
300 | 5 минути | Преди планирана смяна на сървър или преместване |
3600 | 1 час | Добър баланс за повечето сайтове |
86400 | 1 ден | Записи, които почти никога не се променят |
Тук има полезен трик. Ако знаете, че след няколко дни ще местите сайта, намалете TTL на записа A до 300 секунди предварително. Когато дойде денят на смяната, резолвърите по света ще забравят стария адрес бързо и посетителите ще стигнат до новия сървър много по-скоро. След като всичко е наред, върнете TTL на обичайната стойност.
Nameservers: какво са и кога се сменят
Nameservers са авторитетните DNS сървъри на домейна. Те се задават при регистратора и определят къде се управлява цялата DNS зона. Обикновено изглеждат като две или повече имена от вида ns1.example.net и ns2.example.net.
Има два основни начина да свържете домейн с хостинг:
- Смяна на nameservers. Насочвате домейна към nameservers на хостинга и оттам нататък всички записи се управляват там. Удобно е, когато сайтът и пощата са на едно място.
- Смяна само на конкретни записи. Запазвате текущите nameservers и променяте само записа A (и при нужда AAAA). Така пощата и останалите услуги остават непокътнати.
Подробно как се свързва домейн с хостинг ще разгледаме в отделна статия от поредицата. Ако търсите домейн, проверете свободните имена на страницата Домейни.
Защо промените не се виждат веднага
След промяна на DNS запис различни хора по света може да виждат стария или новия адрес за известно време, защото резолвърите пазят стария отговор, докато не изтече неговото TTL. Това често се нарича „разпространение на DNS“.
Всъщност новият запис е активен на авторитетния сървър почти веднага. Проблемът е в кеша: ако вашият резолвър е запомнил стария адрес преди половин час с TTL от един час, той ще продължи да го дава още половин час. При смяна на nameservers чакането обикновено е по-дълго, защото и записите на ниво TLD имат собствено време за кеширане.
Какво можете да направите, докато чакате:
- Изчистете кеша на браузъра или отворете сайта в режим инкогнито.
- Изчистете DNS кеша на компютъра. В Windows това става с командата
ipconfig /flushdns, в macOS сsudo dscacheutil -flushcache. - Проверете от телефона с мобилни данни, който използва друг резолвър.
- Използвайте онлайн инструмент, който проверява записа от много места по света едновременно.
DNS и имейлът
Пощата с вашия домейн зависи изцяло от DNS: MX записите насочват писмата, а SPF, DKIM и DMARC пазят от фалшификации и от папката за спам.
- MX казва къде да се доставят входящите писма.
- SPF е TXT запис със списък на сървърите, които имат право да изпращат поща от името на домейна.
- DKIM добавя цифров подпис към всяко писмо, а публичният ключ за проверка е в DNS.
- DMARC казва на получателите какво да правят с писма, които не минават проверките, и накъде да изпращат отчети.
Без тези записи писмата ви по-често попадат в спам, а измамници могат по-лесно да изпращат писма, които изглеждат като ваши. На тях ще посветим отделни статии в поредицата: как да имате имейл с домейн и как да настроите SPF, DKIM и DMARC стъпка по стъпка.
Как да проверите DNS записите
Можете да видите DNS записите на всеки домейн с вградени команди в компютъра или с безплатни онлайн инструменти. Това е първото, което правят техническите специалисти, когато сайт или поща не работят.
С командата nslookup (Windows, macOS, Linux)
nslookup firma.bg
nslookup -type=mx firma.bg
nslookup -type=txt firma.bg
С командата dig (macOS и Linux)
dig firma.bg A +short
dig firma.bg MX +short
dig firma.bg NS +short
dig +trace firma.bg
Последната команда, dig +trace, показва целия път на заявката: от коренните сървъри, през TLD, до авторитетните сървъри на домейна. Това е отличен начин да видите на практика всичко описано в тази статия.
dig firma.bg A +short и виждате стария IP адрес. Значи или записът не е сменен, или резолвърът още пази стария отговор. Пускате dig firma.bg NS +short, за да видите кой управлява зоната, и проверявате записа точно там.Сигурност на DNS
DNS е създаден в епоха, когато сигурността не е била приоритет, затова днес се допълва с механизми като DNSSEC, криптирани DNS заявки и заключване на домейна.
DNSSEC
DNSSEC добавя цифрови подписи към DNS записите. Резолвърът може да провери, че отговорът наистина идва от собственика на зоната и не е подменен по пътя. Така се предотвратява атака, при която посетителите се пренасочват към фалшив сървър чрез подправен DNS отговор.
Криптирани DNS заявки
Обикновените DNS заявки пътуват некриптирани и всеки по пътя може да види кои сайтове посещавате. Технологиите DNS over HTTPS (DoH) и DNS over TLS (DoT) криптират тези заявки. Много съвременни браузъри и операционни системи вече ги поддържат и могат да ги включат с една настройка.
Защита на акаунта при регистратора
Най-честият реален риск не е техническа атака, а превзет акаунт. Ако някой влезе в профила ви при регистратора, може да смени nameservers и да пренасочи сайта и пощата. Затова:
- използвайте силна и уникална парола и двуфакторна защита;
- дръжте домейна заключен срещу трансфер, когато не го местите;
- следете имейла, с който е регистриран домейнът, защото там идват важните известия;
- добавете CAA запис, за да ограничите кой може да издава SSL сертификати за домейна. Повече за сертификатите има в статията Какво е SSL сертификат.
Чести грешки и как да ги избегнете
Сменени nameservers без пренасяне на пощата
Най-скъпата грешка. Сайтът тръгва на новия хостинг, но имейлите спират. Преди всяка смяна на nameservers запазете списък с текущите MX и TXT записи.
Липсва запис за www
Сайтът се отваря на firma.bg, но не и на www.firma.bg. Добавете CNAME или A запис за www и пренасочване към предпочитания вариант.
Два SPF записа
Домейнът трябва да има само един SPF запис. Ако добавите втори за нова услуга, проверката може да се провали. Обединете всички източници в един ред.
CNAME заедно с други записи
Име, което има CNAME, не може да има други записи. Ако сложите CNAME на корена на домейна, ще счупите MX и TXT записите му.
Забравен остарял запис
Поддомейн, който сочи към услуга, която вече не ползвате, е риск за сигурността, защото някой друг може да я поеме. Почиствайте ненужните записи редовно.
Митове за DNS
- „DNS промените отнемат 48 часа.“ Не задължително. Времето зависи от TTL. При ниско TTL промяната на запис се вижда за минути. По-дълго чакане е типично главно при смяна на nameservers.
- „DNS е същото като хостинг.“ Не. DNS само казва къде е сайтът. Самият сайт се намира на хостинга, а пощата може да е на трето място.
- „Щом сайтът работи, DNS е наред.“ Не винаги. Сайтът може да се отваря, а пощата да не пристига заради липсващ или грешен MX или SPF запис.
- „Колкото повече записи, толкова по-добре.“ Не. Излишните записи объркват и понякога създават рискове. Пазете зоната чиста и подредена.
- „DNS се настройва веднъж и се забравя.“ Основното да, но всяка нова услуга, смяна на поща или хостинг изисква промяна. Добре е да знаете какво има в зоната ви.
Често задавани въпроси
Какво означава DNS?
DNS означава Domain Name System, тоест система за имена на домейни. Тя превежда имената на домейни като firma.bg в IP адресите на сървърите, на които се намират сайтовете и услугите.
Колко време отнема промяна на DNS запис?
Зависи от TTL на записа. При TTL от 300 секунди промяната обикновено се вижда за минути. При по-високо TTL или при смяна на nameservers може да отнеме от няколко часа до около ден или два.
Каква е разликата между A и CNAME запис?
Записът A свързва име директно с IP адрес. CNAME свързва име с друго име, което след това се превежда до IP адрес. A се използва за корена на домейна, а CNAME често за www и поддомейни.
Трябва ли да сменям nameservers, за да свържа домейн с хостинг?
Не е задължително. Можете да смените само записа A към IP адреса на хостинга и да запазите останалите записи. Смяна на nameservers е удобна, когато сайтът и пощата са на едно място.
Какво е MX запис?
MX записът казва на кой сървър да се доставят имейлите за вашия домейн. Числото пред него е приоритет и по-малкото число се опитва първо.
Защо сайтът ми се отваря на един компютър, а на друг не?
Най-често заради кеширане. Единият компютър или резолвър пази стария адрес до изтичане на TTL. Изчистете DNS кеша или проверете от друга мрежа.
Какво е DNSSEC и трябва ли ми?
DNSSEC добавя цифрови подписи към DNS записите, така че отговорите да не могат да бъдат подменени по пътя. Полезна допълнителна защита е, особено за бизнес домейни, ако регистраторът и DNS доставчикът я поддържат.
Как да видя DNS записите на домейна си?
В контролния панел на хостинга или регистратора, в раздела за DNS. Можете да ги проверите и с командите nslookup или dig, както и с онлайн инструменти за проверка на DNS.
Обобщение
DNS е невидимата карта на интернет. Той превежда името на домейна в IP адрес, насочва пощата и пази проверките, които правят имейлите ви доверени. Знаейки основните записи (A, AAAA, CNAME, MX, TXT, NS), значението на TTL и разликата между смяна на запис и смяна на nameservers, можете уверено да свързвате домейни, да местите сайтове и да избягвате най-честите грешки. В следващата статия ще видим как да изберем добро име на домейн за бизнеса.
Регистрирайте своя домейн
Проверете дали желаното име е свободно и го свържете с хостинг за минути.
Търсене на домейн