DNS (Domain Name System). Това е услуга отговаряща за преобразуването на имената в IP адреси и обратно, от IP адреси в имена. Наложила се е като услуга, защото човек по-лесно запомня имена а не числа. Да разгледаме едно име примерно www.core.tlan.net.. Името в DNS-a се разглежда отзад напред. Започва с: - . е основния домейн. Те са няколко и се водят за нулеви (на най-високо ниво). Още се наричат root домейни. - net е следващия домейн в йерархията. Root домейна има няколко под домейна. Примерно: com, net, bg, org и т.н. Най-често това деление е или организационно или по страни. Пак за пример: bg означава домейни в българия, com са домейни за компании. Това са домейни от 1 ниво. - Следват домейните от второ ниво. Това са домейни указващи самия човек или организация. Пример: microsoft.com. Това е домейна на компанията Microsoft. - Следа домейн 3-то ниво. Пример: mail.microsoft.com. Това е пощенски сървър на Microsoft. В случая е хост но може и да е под домейн. В същата логика може да се навлиза в под домейни на 4, 5 и т.н домейни. Как работи всичко това. За пример търсим да се свържем с core.tlan.net - Първоначално Клиента се обръща към собствения си компютър да види има ли името което търси в кеша си. Ако го няма прави рекурсивен въпрос към сървъра който си е указал да е DNS. - сървъра по същата логика прави проверка първо в кеша си и ако няма отговор тогава се обръща към корена на домейна с итеративен въпрос. - root домейна ако не знае, казва на сървъра да провери в .net, като указва към кое IP да се обърне. - сървъра на клиента прави интерактивен въпрос към .net. Ако и .net не знае казва да провери в tlan.net. - сървъра изпраща наново интерактивен въпрос към tlan.net. Ако има такъв запис то сървъра получава отговор че за core.tlan.net отговаря IP еди-кое си. - Тогава сървъра казва на клиента, за core.tlan.net се обърни към IP …. Следващия важен въпрос е дадени зони как са дефинирани в определен домейн. Зоните могат да бъдат Primary и Secondary. Това се прави с цел намаляване натовареността на Primary зоната (сървъра). Primary може да се редактира докато Secondary може само да чете. Промените се правят на Primary, а промените се получават автоматично в Secondary. В подробности няма да влизаме в процеса на работа ще се сблъскаме и ще се разбере. Време е за малко практика. За начало да инсталираме DNS сървъра от ролите.
Изчакваме инсталацията и натискаме бутона Close за да затворим прозореца. След инсталиране на ролята да я разгледаме.
В услугата DNS на core има два раздела, Forward Lookup Zones и Reverse Lookup Zones. Тези зони отговаря за преобразуването съответно на имената в IP адрес, а Reverse Lookup Zones обратно, за преобразуването на IP адреси в имена. В примерите ще се разбере. Да започнем с Forward Lookup Zones:
Избираме New Zone…
Предлага да изберем Primary zone или Secondary zone. Има още и Stub zone но за нея ще стане на въпрос малко по-късно. Да се върнем на избора. В случая ще изберем Primary zone защото това е първичен DNS сървър. Нямаме бекъп затова за сега Secondary zone не ни интересуват.
Зоната ще се казва tlan.net. В реалност такава зона има вече дефинирана в Интернет пространството. Тази ще я направим да действа само за локалната мрежа. Или по друг начин казано компютрите от локалната мрежа няма да знаят за истинския домейн tlan.net, а само за този който ще опишем.
Предлага къде да съхраним зоната. Избираме да създадем нов файл.
Предлага динамично да се обновява. Тъй като нямаме още активна директория за сега ще е така.
Завършваме със създаването на Primary zone.
Виждаме, че е създадена зоната tlan.net. Да влезем в самата зона:
Има два записа. Единия е SOA другия е NS. SOA e главния и първи запис в зоната даващ информация за нея. Да я разгледаме като цъкнем с мишката върху зоната.
SOA това е весия на зоната и се състои от: - Serial number: (1) Ако направим някакво изменение този номер нараства. По този номер Secondary Zone вижда има ли промени в оригиналната зона и ги полага върху себе си. - Primary server: (core.) Това е първия именен сървър отговарящ за домейна. Това е сървъра съдържащ копие на зоната и е описан в NS записа на тази зона. - Responsible person: (hostmaste.) Това е този с който може да се свържем при проблем. Най-често се поставя мейла на личността. Пример: вместо hostmaster. Може да сложим tachko.tachko.com, което отговаря на tachko@tachko.com. Вместо @ тука се ползва ., това е свързано с особенностите на SOA записа. - Refresh interval: (15 min.) Определя интервале през колко време Secondary Zone да пита Primary zone за опресняване. - Retry interval: (10 min.) През колко време да изпрати втори въпрос, ако предния не е успял. - Expires after: (1 ден.) За колко време информацията да е актуална в “Secondary Zone” при пропаднала “Primary zone” - Minimum TTL: (1 час.) Колко да живее DNS записа в кеша. Това е глобален запис. - TTL for this record: Както горния TTL но отговаря за точно определен домейн. Сега да направим някакви промени и да видим разликата:
Даваме Refresh.
Виждаме, че записа от 1 се промени на 2. Това значи че има изменение по записа и серийния номер стана 2. Сега да разгледаме NS записите, отговарящ за удостоверяващите сървъри. Удостоверяващите сървъри са тези които имат в себе си записи за собствените под-домейни. Пример: tlan.net има записи в себе си за home.tlan.net, mail.tlan.net. Значи е за удостоверяващ сървър. Но да разгледаме самия NS запис. Той е един и съдържа в себе си Name servers: core.. Да оправим това.
Създаваме нов A запис. New Host (A or AAAA)….
Name: (core) – Така се казва хоста IP: (192.168.0.1) – Това ни е IP-то на вътрешния мрежови интерфейс. Махаме избирането на: Create associated pointer (PTR) record – Това ще направи автоматично запис и в Reverse Lookup Zones. Add Host за да активираме промените. Резултата е:
Сега да ремонтираме и самия NS запис
Избираме Edit…
Натискаме бутона Resolve Получава се:
Това е така, защото когато дефинирахме мрежовия интерфейс гледащ към Интернет, указахме DNS-a да е 8.8.8.8. Това е публичен DNS. Там има истински запис отговарящ за този домейн и записа който правим не е верен, не съвпада с истинския. За целта преправяме мрежовия интерфейс и слагаме DNS да има IP=127.0.0.1, след което пробваме наново. Натискаме отново бутона Resolve.
Получи се, натискаме OK и продължаваме.
OK за завършване. За външни клиенти да променим и записа “SOA”.
OK за продължение. Refresh на зоната и резултата е:
SOA записа се промени на 5. Освен А записа има и още няколко. Сега няма да ги разглеждаме но е необходимо да се знаят. Да се занимаем с Reverse Lookup Zones.
New Zone… за да създадем нова зона.
Завършваме със създаване на реверсивната зона.
Обърнете внимание. Реверсивната зона е описана като: 0.168.192.in-addr.arpa. В обратен порядък. Това е така защото FQDN се търси в обратен порядък. Пример: core.tlan.net. се проверява за истинност по следния начин. Първо се търси в корена root. После се търси в net. После в tlan и накрая се търси за запис core. Сега да видим самото IP което е 192.168.0.1. Числото което ще се промени за друг хост (примерно test) ще е 1-цата. IP на test примерно ще е 192.168.0.20. Това определя и вида на ревърсната зона да е ip-обратно.in-addr.arpa. Малко практика:
New Pointer (PTR)…
Натискаме на бутона Browse…
OK за край. Сега малко да си поиграем с записите които създадохме. Отваряме Command Prompt и да проверим интерфейса който е към Интернет:
C:\Users\Administrator>ipconfig /all Ethernet adapter Internet: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection Physical Address. . . . . . . . . : 00-0C-29-15-BA-7B DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes Link-local IPv6 Address . . . . . : fe80::64af:d06f:9fac:498c%14(Preferred) IPv4 Address. . . . . . . . . . . : 10.25.0.89(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.248.0 Lease Obtained. . . . . . . . . . : Friday, March 27, 2020 5:09:09 PM Lease Expires . . . . . . . . . . : Saturday, March 28, 2020 5:29:29 AM Default Gateway . . . . . . . . . : 10.25.0.1 DHCP Server . . . . . . . . . . . : 10.25.0.1 DHCPv6 IAID . . . . . . . . . . . : 33557545 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-26-10-34-F8-00-0C-29-15-BA-7B DNS Servers . . . . . . . . . . . : 127.0.0.1 NetBIOS over Tcpip. . . . . . . . : Enabled
Командата с която проверяваме DNS-ите е:
C:\Users\Administrator>nslookup dir.bg Server: localhost Address: 127.0.0.1 Non-authoritative answer: Name: dir.bg Address: 194.145.63.12
Горепоказаната команда по подразбиране е за А записите. Равносилна е и командата:
C:\Users\Administrator>nslookup -type=A dir.bg
Сега да укажем на nslookup кой сървър да пита за записи.
C:\Users\Administrator>nslookup -type=A dir.bg 8.8.8.8 Server: dns.google Address: 8.8.8.8 Non-authoritative answer: Name: dir.bg Address: 194.145.63.12
Отговора се получава от сървъра на Google с IP=8.8.8.8 Да си поиграем със домейна който създадохме. Първо се допитваме до оригиналния:
C:\Users\Administrator>nslookup -type=NS tlan.net 8.8.8.8 Server: dns.google Address: 8.8.8.8 Non-authoritative answer: tlan.net nameserver = post.tlan.net tlan.net nameserver = b8800a941ea7.sn.mynetname.net tlan.net nameserver = beeb0a97e852.sn.mynetname.net
Това е отговора от Google.
C:\Users\Administrator>nslookup -type=NS tlan.net 127.0.0.1 Server: localhost Address: 127.0.0.1 tlan.net nameserver = core.tlan.net core.tlan.net internet address = 192.168.0.1
Това е отговора от нашия сървър. Да видим какво е положението в големите компании като Microsoft:
C:\Users\Administrator>nslookup -type=NS microsoft.com Server: localhost Address: 127.0.0.1 Non-authoritative answer: microsoft.com nameserver = ns3.msft.net microsoft.com nameserver = ns1.msft.net microsoft.com nameserver = ns2.msft.net microsoft.com nameserver = ns4.msft.net ns3.msft.net internet address = 193.221.113.53 ns3.msft.net AAAA IPv6 address = 2620:0:34::53 ns1.msft.net internet address = 208.84.0.53 ns1.msft.net AAAA IPv6 address = 2620:0:30::53 ns2.msft.net internet address = 208.84.2.53 ns2.msft.net AAAA IPv6 address = 2620:0:32::53 ns4.msft.net internet address = 208.76.45.53 ns4.msft.net AAAA IPv6 address = 2620:0:37::53 C:\Users\Administrator>nslookup -type=A microsoft.com ns1.msft.net Server: ns1.msft.net Address: 208.84.0.53 Name: microsoft.com Addresses: 13.77.161.179 40.76.4.15 40.112.72.205 40.113.200.201 104.215.148.63
Сега да проверим и “SOA” записите:
C:\Users\Administrator>nslookup -type=SOA tlan.net 8.8.8.8 Server: dns.google Address: 8.8.8.8 Non-authoritative answer: tlan.net primary name server = ns1.he.net responsible mail addr = hostmaster.he.net serial = 2019100400 refresh = 86400 (1 day) retry = 7200 (2 hours) expire = 3600000 (41 days 16 hours) default TTL = 86400 (1 day)
Това беше запитване към Google
C:\Users\Administrator>nslookup -type=SOA tlan.net 127.0.0.1 Server: localhost Address: 127.0.0.1 tlan.net primary name server = core.tlan.net responsible mail addr = tachko.tachko.com serial = 5 refresh = 900 (15 mins) retry = 600 (10 mins) expire = 86400 (1 day) default TTL = 3600 (1 hour) core.tlan.net internet address = 192.168.0.1 expire = 2419200 (28 days) default TTL = 3600 (1 hour)
А това е отговора от нашия DNS сървър. И за накрая:
Properties
Можем да укажем на кой интерфейс да действа DNS зоната. Следва да се запознаем с активната директория.