Устранение неполадок DNS-серверов | Microsoft Docs
- Чтение занимает 8 мин
В этой статье
В этой статье описывается, как устранять неполадки на DNS-серверах.This article discusses how to troubleshoot issues on DNS servers.
Проверка IP-конфигурацииCheck IP configuration
Выполните
ipconfig /all
команду из командной строки и проверьте IP-адрес, маску подсети и шлюз по умолчанию.Runipconfig /all
at a command prompt, and verify the IP address, subnet mask, and default gateway.Проверьте, является ли DNS-сервер полномочным для имени, которое ищется.Check whether the DNS server is authoritative for the name that is being looked up. Если это так, см. раздел Проверка на наличие проблем с достоверными данными.If so, see Checking for problems with authoritative data.
Выполните следующую команду.Run the following command:
nslookup <name> <IP address of the DNS server>
Например:For example:
nslookup app1 10.0.0.1
Если вы получаете ответ об ошибке или истечении времени ожидания, см. раздел Проверка проблем с рекурсией.If you get a failure or time-out response, see Checking for recursion problems.
Очистка кэша сопоставителя.Flush the resolver cache. Для этого выполните следующую команду в окне командной строки с правами администратора:To do this, run the following command in an administrative Command Prompt window:
dnscmd /clearcache
Или в окне администрирования PowerShell выполните следующий командлет:Or, in an administrative PowerShell window, run the following cmdlet:
Clear-DnsServerCache
Повторите шаг 3. Repeat step 3.
Проверка неполадок DNS-сервераCheck DNS server problems
Журнал событийEvent log
Проверьте следующие журналы, чтобы узнать, есть ли записанные ошибки:Check the following logs to see whether there are any recorded errors:
Тестирование с помощью запроса nslookupTest by using nslookup query
Выполните следующую команду и проверьте, доступен ли DNS-сервер с клиентских компьютеров.Run the following command and check whether the DNS server is reachable from client computers.
nslookup <client name> <server IP address>
Если сопоставитель возвращает IP-адрес клиента, у сервера нет проблем.If the resolver returns the IP address of the client, the server does not have any problems.
Если сопоставитель возвращает ответ «сбой сервера» или «Запрос отклонен», зона может быть приостановлена или сервер может быть перегружен.If the resolver returns a «Server failure» or «Query refused» response, the zone is probably paused, or the server is possibly overloaded. Чтобы узнать, приостановлен ли он, перейдите на вкладку Общие окна свойств зоны в консоли DNS.You can learn whether it’s paused by checking the General tab of the zone properties in the DNS console.
Если сопоставитель возвращает ответ «запрос на превышение времени ожидания сервера» или «нет ответа от сервера», возможно, служба DNS не запущена.If the resolver returns a «Request to server timed out» or «No response from server» response, the DNS service probably is not running. Попробуйте перезапустить службу DNS-сервера, введя следующую команду в командной строке на сервере:Try to restart the DNS Server service by entering the following at a command prompt on the server:
net start DNS
Если проблема возникает при запуске службы, сервер может не прослушивать IP-адрес, который использовался в запросе nslookup.If the issue occurs when the service is running, the server might not be listening on the IP address that you used in your nslookup query.
В редких случаях DNS-сервер может иметь расширенную конфигурацию безопасности или брандмауэра.In rare cases, the DNS server might have an advanced security or firewall configuration. Если сервер расположен в другой сети, доступной только через промежуточный узел (например, маршрутизатор фильтрации пакетов или прокси-сервер), DNS-сервер может использовать нестандартный порт для прослушивания и получения клиентских запросов.If the server is located on another network that is reachable only through an intermediate host (such as a packet filtering router or proxy server), the DNS server might use a non-standard port to listen for and receive client requests. По умолчанию программа nslookup отправляет запросы на DNS-серверы через порт UDP 53.By default, nslookup sends queries to DNS servers on UDP port 53. Поэтому, если DNS-сервер использует любой другой порт, запросы nslookup завершатся ошибкой.Therefore, if the DNS server uses any other port, nslookup queries fail. Если вы считаете, что это может быть проблема, проверьте, используется ли промежуточный фильтр для блокировки трафика на хорошо известных портах DNS.
Проверка на наличие проблем с достоверными даннымиChecking for problems with authoritative data
Проверьте, является ли сервер, который возвращает неверный ответ, основным сервером для зоны (основным сервером-источником для зоны или сервером, который использует интеграцию Active Directory для загрузки зоны) или сервер, на котором размещена дополнительная копия зоны.Check whether the server that returns the incorrect response is a primary server for the zone (the standard primary server for the zone or a server that uses Active Directory integration to load the zone) or a server that’s hosting a secondary copy of the zone.
Если сервер является сервером-источникомIf the server is a primary server
Проблема может быть вызвана ошибкой пользователя при вводе пользователем данных в зону.The problem might be caused by user error when users enter data into the zone. Кроме того, это может быть вызвано проблемой, которая влияет на Active Directory репликацию или динамическое обновление.Or, it might be caused by a problem that affects Active Directory replication or dynamic update.
Если на сервере размещается дополнительная копия зоныIf the server is hosting a secondary copy of the zone
Изучите зону на сервере-источнике (сервере, с которого этот сервер извлекает зоны).Examine the zone on the primary server (the server from which this server pulls zone transfers).
Примечание
Вы можете определить, какой сервер является сервером-источником, проверив свойства дополнительной зоны в консоли DNS.You can determine which server is the primary server by examining the properties of the secondary zone in the DNS console.
Если на сервере-источнике указано неправильное имя, перейдите к шагу 4.If the name is not correct on the primary server, go to step 4.
Если на сервере-источнике указано правильное имя, убедитесь, что серийный номер на сервере-источнике меньше или равен серийному номеру на сервере-получателе.If the name is correct on the primary server, check whether the serial number on the primary server is less than or equal to the serial number on the secondary server. Если это так, измените либо сервер-источник, либо сервер-получатель, чтобы серийный номер на сервере-источнике был больше, чем серийный номер на сервере-получателе.If it is, modify either the primary server or the secondary server so that the serial number on the primary server is greater than than the serial number on the secondary server.
На сервере-получателе выполните принудительную пересылку зоны с помощью консоли DNS или выполните следующую команду:On the secondary server, force a zone transfer from within the DNS console or by running the following command:
dnscmd /zonerefresh <zone name>
Например, если зона — corp.contoso.com, введите:
dnscmd /zonerefresh corp.contoso.com
.For example, if the zone is corp.contoso.com, enter:
.Изучите сервер-получатель еще раз, чтобы узнать, правильно ли передана зона.Examine the secondary server again to see whether the zone was transferred correctly. В противном случае у вас, вероятно, возникает проблема с переносом зоны.If not, you probably have a zone transfer problem. Дополнительные сведения см. в статье проблемы зонных передач.For more information, see Zone Transfer Problems.
Если зона была передана правильно, проверьте, правильно ли указаны данные.If the zone was transferred correctly, check whether the data is now correct. В противном случае данные в основной зоне неверны.If not, the data is incorrect in the primary zone. Проблема может быть вызвана ошибкой пользователя при вводе пользователем данных в зону.The problem might be caused by user error when users enter data into the zone. Кроме того, это может быть вызвано проблемой, которая влияет на Active Directory репликацию или динамическое обновление.Or, it might be caused by a problem that affects Active Directory replication or dynamic update.
Проверка проблем с рекурсиейChecking for recursion problems
Чтобы рекурсия работала успешно, все DNS-серверы, используемые в пути рекурсивного запроса, должны иметь возможность отвечать и пересылать правильные данные.For recursion to work successfully, all DNS servers that are used in the path of a recursive query must be able to respond and forward correct data. Если это не так, рекурсивный запрос может завершиться ошибкой по одной из следующих причин:If they can’t, a recursive query can fail for any of the following reasons:
Время ожидания запроса истекло, прежде чем его можно будет завершить.The query times out before it can be completed.
Сервер, используемый во время запроса, не отвечает.A server that’s used during the query fails to respond.
Сервер, используемый во время запроса, предоставляет неверные данные.A server that’s used during the query provides incorrect data.
Начните устранение неполадок на сервере, который использовался в исходном запросе.Start troubleshooting at the server that was used in your original query. Проверьте, пересылает ли этот сервер запросы на другой сервер, изучив вкладку серверы пересылки в свойствах сервера в консоли DNS.Check whether this server forwards queries to another server by examining the Forwarders tab in the server properties in the DNS console. Если флажок включить серверы пересылки установлен и в списке присутствует один или несколько серверов, этот сервер перенаправляет запросы.If the Enable forwarders check box is selected, and one or more servers are listed, this server forwards queries.
Если этот сервер пересылает запросы на другой сервер, проверьте наличие проблем, влияющих на сервер, на который сервер пересылает запросы.If this server does forward queries to another server, check for problems that affect the server to which this server forwards queries. Чтобы проверить наличие проблем, см. раздел Проверка неполадок DNS-сервера.To check for problems, see Check DNS Server problems. Когда этот раздел предписывает выполнить задачу на клиенте, выполните его на сервере.When that section instructs you to perform a task on the client, perform it on the server instead.
Если сервер находится в работоспособном состоянии и может пересылать запросы, повторите этот шаг и проверьте сервер, на который сервер пересылает запросы.If the server is healthy and can forward queries, repeat this step, and examine the server to which this server forwards queries.
Если этот сервер не перенаправляет запросы на другой сервер, проверьте, может ли этот сервер запрашивать корневой сервер.If this server does not forward queries to another server, test whether this server can query a root server. Для этого выполните следующую команду:To do this, run the following command:
nslookup
server <IP address of server being examined>
set q=NS
Если сопоставитель возвращает IP-адрес корневого сервера, возможно, имеется разорванное делегирование между корневым сервером и именем или IP-адресом, который вы пытаетесь разрешить.If the resolver returns the IP address of a root server, you probably have a broken delegation between the root server and the name or IP address that you’re trying to resolve. Следуйте инструкциям по тестированию неработающей процедуры делегирования , чтобы определить, где находится неработающее делегирование.Follow the Test a broken delegation procedure to determine where you have a broken delegation.
Если сопоставитель возвращает ответ «запрос на превышение времени ожидания сервера», проверьте, указывает ли корневые ссылки на работоспособность корневых серверов. If the resolver returns a «Request to server timed out» response, check whether the root hints point to functioning root servers. Для этого используйте для просмотра текущей процедуры корневых ссылок .To do this, use the To view the current root hints procedure. Если корневые ссылки указывают на работающие корневые серверы, возможно, возникла проблема с сетью или сервер может использовать расширенную конфигурацию брандмауэра, которая не позволяет арбитру конфликтов запрашивать сервер, как описано в разделе Проверка проблем DNS-сервера .If the root hints do point to functioning root servers, you might have a network problem, or the server might use an advanced firewall configuration that prevents the resolver from querying the server, as described in the Check DNS server problems section. Также возможно, что рекурсивное время ожидания по умолчанию слишком мало.It’s also possible that the recursive time-out default is too short.
Тестирование неработающего делегированияTest a broken delegation
Начните тесты в следующей процедуре, запросив допустимый корневой сервер.Begin the tests in the following procedure by querying a valid root server. Этот тест позволяет выполнить запрос всех DNS-серверов из корня к серверу, который тестируется для неработающего делегирования.The test takes you through a process of querying all the DNS servers from the root down to the server that you’re testing for a broken delegation.
В командной строке на тестируемом сервере введите следующее:At the command prompt on the server that you’re testing, enter the following:
nslookup server <server IP address> set norecursion set querytype= <resource record type> <FQDN>
Примечание
Тип записи ресурса — это тип записи ресурса, для которой был выполнен запрос в исходном запросе, а полное доменное имя — полное доменное имя, для которого выполнялись запросы (заканчивающиеся точкой).Resource record type is the type of resource record that you were querying for in your original query, and FQDN is the FQDN for which you were querying (terminated by a period).
Если ответ содержит список записей ресурсов «NS» и «A» для делегированных серверов, повторите шаг 1 для каждого сервера и используйте IP-адрес из записей ресурсов «A» в качестве IP-адреса сервера.If the response includes a list of «NS» and «A» resource records for delegated servers, repeat step 1 for each server and use the IP address from the «A» resource records as the server IP address.
Если ответ не содержит запись ресурса NS, делегирование будет разорвано.If the response does not contain an «NS» resource record, you have a broken delegation.
Если ответ содержит записи ресурсов «NS», но нет записей ресурсов «A», введите » задать рекурсию» и выполните запрос по отдельности для записей ресурсов «a» серверов, перечисленных в записях NS.If the response contains «NS» resource records, but no «A» resource records, enter set recursion, and query individually for «A» resource records of servers that are listed in the «NS» records. Если вы не нашли по меньшей мере один допустимый IP-адрес записи ресурса «A» для каждой записи ресурса NS в зоне, то у вас есть неработающее делегирование.If you do not find at least one valid IP address of an «A» resource record for each NS resource record in a zone, you have a broken delegation.
Если вы определили, что вы используете неработающее делегирование, исправьте его, добавив или обновив запись ресурса «A» в родительской зоне, используя допустимый IP-адрес для соответствующего DNS-сервера для делегированной зоны.If you determine that you have a broken delegation, fix it by adding or updating an «A» resource record in the parent zone by using a valid IP address for a correct DNS server for the delegated zone.
Просмотр текущих корневых ссылокTo view the current root hints
Запустите консоль DNS.Start the DNS console.
Добавьте или подключитесь к DNS-серверу, который не прошел рекурсивный запрос. Add or connect to the DNS server that failed a recursive query.
Щелкните правой кнопкой мыши сервер и выберите пункт Свойства.Right-click the server, and select Properties.
Щелкните корневые ссылки.Click Root Hints.
Проверьте наличие базовых подключений к корневым серверам.Check for basic connectivity to the root servers.
Если правильно настроены корневые ссылки, убедитесь, что DNS-сервер, используемый в разрешении имен с ошибками, может проверить связь с корневыми серверами по IP-адресу.If root hints appear to be configured correctly, verify that the DNS server that’s used in a failed name resolution can ping the root servers by IP address.
Если корневые серверы не отвечают на проверку связи по IP-адресу, IP-адреса для корневых серверов могли измениться.If the root servers do not respond to pinging by IP address, the IP addresses for the root servers might have changed. Однако нередко можно увидеть перенастройку корневых серверов.However, it’s uncommon to see a reconfiguration of root servers.
Проблемы с зонными ошибкамиZone Transfer Problems
Выполните следующие проверки:Run the following checks:
Проверьте Просмотр событий как для основного, так и для дополнительного DNS-сервера.Check Event Viewer for both the primary and secondary DNS server.
Проверьте сервер источника, чтобы узнать, не отправит ли он передачу данных для безопасности.Check the primary server to see whether it’s refusing to send the transfer for security.
Проверьте вкладку зонные передачи свойств зоны в консоли DNS.Check the Zone Transfers tab of the zone properties in the DNS console. Если сервер ограничит передачу зоны на список серверов, например на вкладке серверы имен в свойствах зоны, убедитесь, что сервер-получатель находится в этом списке.If the server restricts zone transfers to a list of servers, such as those listed on the Name Servers tab of the zone properties, make sure that the secondary server is on that list. Убедитесь, что сервер настроен на отправку зонных передач.Make sure that the server is configured to send zone transfers.
Проверьте наличие проблем на основном сервере, выполнив действия, описанные в разделе Проверка проблем DNS-сервера .Check the primary server for problems by following the steps in the Check DNS server problems section. Когда появится запрос на выполнение задачи на клиенте, выполните задачу на сервере-получателе.When you’re prompted to perform a task on the client, perform the task on the secondary server instead.
Проверьте, не работает ли на сервере-получателе другая реализация сервера DNS, например BIND.Check whether the secondary server is running another DNS server implementation, such as BIND. Если это так, проблема может быть вызвана одной из следующих причин:If it is, the problem might have one of the following causes:
Основной сервер Windows может быть настроен для отправки быстрых зонных передач, но сервер-получатель стороннего производителя может не поддерживать быструю передачу зоны.The Windows primary server might be configured to send fast zone transfers, but the third-party secondary server might not support fast-zone transfers. В этом случае отключите передачу данных с помощью быстрой зоны на сервере-источнике из консоли DNS, установив флажок включить вторичные базы данных-получатели на вкладке Дополнительно свойств сервера.If this is the case, disable fast-zone transfers on the primary server from within the DNS console by selecting the Enable Bind secondaries check box on the Advanced tab of the properties for your server.
Если зона прямого просмотра в Windows Server содержит тип записи (например, запись SRV), которую сервер-получатель не поддерживает, то на сервере-получателе могут возникнуть проблемы с извлечением зоны.If a forward lookup zone on the Windows server contains a record type (for example, an SRV record) that the secondary server does not support, the secondary server might have problems pulling the zone.
Проверьте, запущена ли на сервере-источнике другая реализация сервера DNS, например BIND.Check whether the primary server is running another DNS server implementation, such as BIND. Если да, то возможно, что зона на сервере источника включает несовместимые записи ресурсов, которые Windows не распознает.If so, it’s possible that the zone on the primary server includes incompatible resource records that Windows does not recognize.
Если на главном или вторичном сервере используется другая реализация DNS-сервера, проверьте оба сервера, чтобы убедиться, что они поддерживают одни и те же функции.If either the master or secondary server is running another DNS server implementation, check both servers to make sure that they support the same features. Можно проверить Windows Server на консоли DNS на вкладке Дополнительно страницы Свойства сервера.You can check the Windows server in the DNS console on the Advanced tab of the properties page for the server. В дополнение к полю включить вторичные получатели привязок на этой странице содержится раскрывающийся список Проверка имен .In addition to the Enable Bind secondaries box, this page includes the Name checking drop-down list. Это позволяет выбрать принудительное соответствие требованиям RFC для символов в DNS-именах.This enables you to select enforcement of strict RFC compliance for characters in DNS names.
Как изменить DNS-сервер в своем Windows. Инструкция. » Блог. ArtKiev Design Studio
Возможно вы столкнулись с ситуацией, когда ваш провайдер некорректно перенаправляет на тот или иной сайт или он вовсе заблокирован по различным причинам, а вам жизненно необходимо на него зайти. Что делать? Во многих случаях поможет смена днс-сервера.
Как сменить DNS в Windows
Для все существующих версий Windows (10 / 8.1 / 8 / 7 / Vista / XP) существует простая маленькая бесплатная программка — DNS Jumper. Скачать программу по ссылке. Ее интерфейс многоязычный и она очень проста:
Как настроить DNS в Windows 10, 8.1, 8 без дополнительных программ
- Нажмите правой кнопкой мыши на значок интернета в трее, выберите Центр управления сетями и общим доступом
- В разделе Просмотр основных сведений о сети и настройка подключений, нажмите на пункт справа от Подключения
- В открывшемся окне выберите пункт Свойства
- В окне в списке Отмеченные компоненты используются этим подключением выберите пункт IP версии 4 (TCP/IPv4) в Windows 10 или Протокол Интернета версии 4 (TCP/IP) и опять нажмите кнопку Свойства
- В открывшемся окне на вкладке Общие выберите пункт Использовать следующие адреса DNS-серверов и введите выбранные вами адреса DNS, например Google DNS (показаны на скриншоте ниже), в поля Предпочитаемый DNS-cepвep и Альтернативный DNS-cepвep.
- Поставьте галочку для Подтвердить параметры при выходе и нажмите OK
- Перезагрузите ваш компьютер
Как настроить DNS в Windows 7 без дополнительных программ
- Нажмите правой кнопкой мыши на значок интернета в трее, выберите Центр управления сетями и общим доступом
- В разделе Просмотр активных сетей, выберите пункт справа от Подключения
- На вкладке Общие в окне Состояние Подключения нажмите кнопку Свойства
- На вкладке Сеть, прокрутите вниз и выберите Протокол Интернета версии 4 (TCP/IPv4), нажмите кнопку Свойства
- На вкладке Общие в нижней части окна, выберите Использовать следующие адреса DNS-серверов, а затем введите IP-адреса выбранного DNS-сервиса, например, DNS от Google
- Поставьте галочку для Подтвердить параметры при выходе и нажмите OK
- Перезагрузите ваш компьютер
Как настроить DNS в Windows XP без дополнительных программ
- Нажимаем Пуск и открываем Панель управления
- В нем выберите Сетевые подключения, затем текущее подключение
- На вкладке Общие нажмите Свойства
- На вкладке Общие выберем Протокол Интернета (TCP/IP) и нажмите Свойства
- На вкладке Общие окна Свойства Протокол Интернета (TCP/IP), в нижней части, выберите Использовать следующие адреса DNS-серверов, а затем введите IP-адреса выбранного DNS-сервиса, например Google DNS
- Нажмите кнопку ОК и закройте все окна
- Перезагрузите ваш компьютер
Вот и все. Надеемся, что эта инструкция помогла Вам изменить днс-сервер и достичь нужного результата.
Как настроить DNS-сервер с помощью диспетчера WebHost (WHM)
В этой статье рассказывается о том, как использовать доменное имя в качестве DNS-сервера для веб-сайтов, размещенных на вашем сервере.
Посмотрите ниже на странице короткий видеоролик, поясняющий эту задачу.
- Войдите в диспетчер WebHost по ссылке https://yourserverip:2087, где yourserverip — это IP-адрес вашего сервера. Введите root в качестве имени пользователя и пароль сервера.
- В разделе Функции DNS выберите Изменить зону DNS.
- Выберите доменное имя и нажмите Редактировать.
- В первых двух строках меню, показывающим NS, измените крайнюю справа колонку на ns1.ваше доменное имя. и ns2.ваше доменное имя. соответственно.
Примечание. Не забудьте поставить точку («.») после названия DNS-сервера в этих полях.
- В разделе Добавить новые записи под этой строкой в первой строке необходимо выполнить следующее:
- Первое поле: введите ns1.
- Второе поле: введите 14400.
- Третье поле: выберите A.
- Четвертое поле: введите IP-адрес сервера.
Затем, во второй строке, выполните следующее:
- Первое поле: введите ns2.
- Второе поле: введите 14400.
- Третье поле: выберите A.
- Четвертое поле: введите IP-адрес сервера.
- Нажмите Сохранить.
Примечание. Синхронизация DNS может длиться от 24 до 48 часов с момента внесения изменений.
Как это работает
Другие действия
Теперь необходимо выполнить следующие шаги, чтобы использовать свое доменное имя в качестве сервера имен:
- Добавьте собственное имя хоста, чтобы использовать свое доменное имя в качестве сервера имен.
- Затем измените сервер имен для вашего домена на новый пользовательский сервер имен.
Настройка DNS на маршрутизаторах Cisco
Целью этого документа является сведение воедино некоторых данных об использовании DNS маршрутизаторами Cisco.
Требования
Читатели данного документа должны обладать знаниями по следующим темам:
Используемые компоненты
Сведения, содержащиеся в данном документе, касаются следующих версий программного обеспечения и оборудования:
Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.
Условные обозначения
Дополнительные сведения об условных обозначениях см. в документе Технические рекомендации Cisco. Условные обозначения.
Можно настраивать конфигурацию маршрутизатора для использования поиска DNS, если вы хотите использовать команды ping или traceroute с именем хоста, а не IP адресом. Используйте для этого следующие команды:
Команда | Описание |
---|---|
команда ip domain lookup | Включает преобразование имени хоста в адрес на основе DNS. Эта команда включена по умолчанию. |
ip name-server | Задает адрес одного или более сервера доменных имен. |
ip domain list | Задает список доменов, для каждого из которых выполняется попытка использования. Примечание. Если список доменов отсутствует, используется доменное имя, заданное с помощью команды глобальной кофигурации ip domain name. При наличии списка доменов доменное имя по умолчанию не используется. |
ip domain name | Задает доменное имя по умолчанию, которое используется ПО Cisco IOS для дополнения неполных имен хоста (имен без доменных имен в виде десятичного представления с точкой). Не включайте первую точку, которая отделяет неполное имя от доменного имени. |
ip ospf name-lookup | Настраивает протокол OSPF для поиска имен DNS, которые необходимо использовать во всех выводах команды OSPF show EXEC. Эта функция упрощает идентификацию маршрутизатора, потому что маршрутизатор называется по имени, а не по идентификатору маршрутизатора или соседа. |
Здесь приведен пример конфигурации на маршрутизаторе, конфигурированном для основного поиска DNS:
Пример основной конфигурации поиска в DNS |
---|
Router# show running-config Building configuration... Current configuration : 470 bytes ! version 12.2 service timestamps debug datetime msec service timestamps log uptime no service password-encryption ! hostname Router ! ! ip subnet-zero ip name-server 192.168.1.100 !--- Configures the IP address of the name server. !--- Domain lookup is enabled by default. ! ! interface Ethernet0 ip address 192.168.1.1 255.255.255.0 ! ! !--- Output Suppressed. end |
Router# ping www.cisco.com Translating "www.cisco.com"...domain server (192.168.1.100) [OK] Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 198.133.219.25, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 224/228/236 ms
Устранение неисправностей
Довольно редко можно увидеть одну из следующих ошибок:
Router# debug ip udp UDP packet debugging is on Router# ping www.yahoo.com Translating "www.yahoo.com"...domain server (129.250.35.250) *Mar 8 06:26:41.732: UDP: sent src=209.69.16.66(5476), dst=129.250.35.250(53), length=59 *Mar 8 06:26:44.740: UDP: sent src=209.69.16.66(5476), dst=129.250.35.250(53), length=59 *Mar 8 06:26:47.744: UDP: sent src=209.69.16.66(5476), dst=129.250.35.250(53), length=59 % Unrecognized host or address, or protocol not running. Router#undebug allAll possible debugging has been turned off Router# ping www.yahoo.co.kr Translating "www.yahoo.co.kr"...domain server (169.140.249.4) ¡¦ Not process Router# ping www.novell.com Translating "www.novell.com"...domain server (255.255.255.255) % Unrecognized host or address, or protocol not running.
Для того чтобы устранить эту проблему, выполните следующие шаги:
Убедитесь, что маршрутизатор может достичь сервера DNS. Отправьте на сервер DNS эхозапрос от маршрутизатора с помощью его IP-адреса и убедитесь, что для настройки IP-адреса сервера DNS на маршрутизаторе используется команда ip name-server.
Используйте эти шаги, чтобы проверить, перенаправляет ли маршрутизатор запросы поиска:
Задайте список контроля доступа (ACL), совпадающий на пакетах DNS:
access-list 101 permit udp any any eq domain access-list 101 permit udp any eq domain any
Используйте команду debug ip packet 101.
Примечание. Убедитесь, что задан ACL. При выполнении без ACL объем выходных данных команды debug ip packet в консоли может оказаться слишком большим, что приведет к перезагрузке маршрутизатора.
Убедитесь, что на маршрутизаторе включена команда ip domain-lookup.
В редких случаях доступ к определенным веб-сайтам по имени невозможен. Обычно проблема возникает из-за недоступных сайтов, выполняющих обратный поиск DNS на исходном IP адресе с целью проверки того, что адрес не имитируется. При возврате неверной записи или отсутствии записей (иными словами, при отсутствии cвязанного названия для диапазона IP-адресов) запрос HTTP будет заблокирован.
Получив доменное имя в Интернете, следует также обратиться за получением домена inaddr.arpa. Этот специальный домен иногда называют обратным доменом. Домен обратного преобразования осуществляет преобразование цифровых IP-адресов в доменные имена. Если интернет-провайдер предоставляет вам сервер имен или назначил вам адрес из блока своих адресов, не требуется самостоятельно обращаться за получением домена in-addr.arpa. Консультация Интернет-провайдера.
Давайте Давайте Рассмотрим пример, в котором используется www.cisco.com. Приведенные ниже выходные данные были получены от рабочей станции UNIX. Использовались программы nslookup и dig. Обратите внимание на различия в выходных данных:
sj-cse-280% nslookup www.cisco.com Note: nslookup is deprecated and may be removed from future releases. Consider using the 'dig' or 'host' programs instead. Run nslookup with the '-sil[ent]' option to prevent this message from appearing. Server: 171.68.226.120 Address: 171.68.226.120#53 Name: www.cisco.com Address: 198.133.219.25 sj-cse-280% nslookup 198.133.219.25 Note: nslookup is deprecated and may be removed from future releases. Consider using the 'dig' or 'host' programs instead. Run nslookup with the '-sil[ent]' option to prevent this message from appearing. Server: 171.68.226.120 Address: 171.68.226.120#53 25.219.133.198.in-addr.arpa name = www.cisco.com.
Программа dig дает более детальную информацию о DNS пакетах:
sj-cse-280% dig 198.133.219.25 ; <<>> DiG 9.0.1 <<>> 198.133.219.25 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 5231 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;198.133.219.25. IN A ;; AUTHORITY SECTION: . 86400 IN SOA A.ROOT-SERVERS.NET. nstld.verisign-grs.com. ( 2002031800 1800 900 604800 86400 ) ;; Query time: 135 msec ;; SERVER: 171.68.226.120#53(171.68.226.120) ;; WHEN: Mon Mar 18 09:42:20 2002 ;; MSG SIZE rcvd: 107
В зависимости от уровня сетевой активности маршрутизатор может запросить несколько серверов имен, перечисленных в конфигурации. Ниже представлен пример:
router> test002 Translating ?test002?...domain server (172.16.33.18) (171.70.10.78) (171.100.20.78) (172.16.33.18) (171.70.10.78) (171.10.20.78) Translating ?test002?...domain server (172.16.33.18) [OK] Trying test002.rtr.abc.com (171.68.23.130)... Open
Это поведение весьма вероятно и имеет место, когда маршрутизатору требуется создать запись протокола разрешения адресов (ARP) для сервера DNS. По умолчанию маршрутизатор поддерживает ARP-запись в течение четырех часов. В периоды низкой активности маршрутизатору требуется дополнить ARP-запись и затем выполнить запрос DNS. Если ARP-запись для сервера DNS отсутствует в ARP-таблице маршрутизатора, при передаче только одного запроса DNS произойдет сбой. Поэтому отправляются два запроса: один для получения ARP-записи, если необходимо, а второй — для отправки запроса DNS. Такое поведение является обычным для приложений TCP/IP.
Поддержка | Synology Inc.
Служба ремонта Synology
Synology предоставляет гарантийное обслуживание всех аппаратных продуктов. Восстановительный ремонт выполняется специалистами Synology, и мы тщательно отслеживаем все детали процесса, гарантируя, что компонент будет отремонтирован надлежащим образом. Для некоторых моделей профессионального уровня доступно продление срока ограниченной гарантии на оборудование.
Служба ремонта
Указанные компоненты будут отремонтированы или восстановлены в течение гарантийного срока в соответствии со стандартом Synology (с новыми или восстановленными компонентами), чтобы гарантировать правильную работу компонентов после ремонта.
Прочитайте это перед тем, как обращаться в службу ремонта.
- Прочитайте и примите Warranty agreement.
- Гарантия может отличаться для разных моделей, поэтому убедитесь, что гарантия распространяется на указанный компонент. Learn more
- Убедитесь, что вы выполнили checklist и определили, что причина неисправности в оборудовании.
Примечание. В обычных условиях гарантия активируется с даты, указанной в счете, выставленном компанией Synology, ее уполномоченными дистрибьюторами или реселлерами.
Процедура ремонта
- Обратитесь в офис продаж, в котором вы приобретали продукт — сначала обратитесь в офис продаж, в котором вы приобрели продукт, или к местному представителю (реселлеры или дистрибьюторы) для получения услуг по ремонту.
- Свяжитесь с Synology — обратитесь в компанию Synology для получения дополнительной помощи, только если офис, в котором вы приобрели продукт, по какой-либо причине не может предоставить услуги ремонта.
Чтобы подать заявку на услуги ремонта от Synology, войдите в учетную запись Synology Account.
Примечание.
- Перед отправкой NAS в службу ремонта необходимо выполнить резервное копирование личных данных и конфигураций. Компания Synology и ее авторизованные партнеры не несут ответственности за сохранение вашей конфиденциальности.
- Устройство и система будут восстановлены до заводских настроек по умолчанию, и исходные данные нельзя будет восстановить. Компания Synology не несет ответственность за потерю данных во время ремонта.
- Гарантия распространяется только на продукты Synology. На жесткие диски и другие совместимые устройства гарантия не распространяется.
- Компания Synology сохраняет за собой все права на окончательное решение, и оно будет принято исключительно компанией Synology.
Как изменить настройки DNS-сервера на роутере TP-Link (новый интерфейс)?
Эта статья подходит для:
Archer C54 , Archer AX50 , Archer A2300 , Archer VR900 v1 , Archer C2 V1 , Archer AX10 , Archer C50 , Archer C5200 , Archer A2600 , Archer C59 , Archer AX90 , Archer C58 , Archer C20 V4 , Archer VR600v , Archer AX55 , Archer AX11000 , Archer C900 , Archer C2 V3 , Archer C3200 , Archer AX51 , Archer A6 , Archer C3150 , Archer C50 V3.0 , Archer A7 , Archer C5 v4.0 , Archer C21 , Archer VR2800 , Archer A5 , Archer A8 , Archer VR400 , Archer A9 , Archer C4000 , Archer C1900 , Archer C24 , Archer VR600 , Archer C3000 , Archer AX1500 , Archer C5 Pro , Archer VR900 , Archer C2600 , Archer A10 , Archer C5400X , Archer C2700 , Archer A10 Pro , Archer A54 , Archer VR200 , Archer A2 , Archer VR2100 , Archer VR900v , Archer VR900v v1 , Archer VR2800v , Archer AX3200 , Archer C2(EU) , Archer AX6000 , Archer AX4400 , Archer AX73 , Archer AX75 , Archer AX1800 , Archer C2300 , Archer C80 , Archer C60 , Archer A2600 Pro , Archer C8 , Archer C9 , Archer AX10/A , Archer C6 , Archer C7 , Archer C5400 , Archer AX60 , Archer C1200 , Archer AX68 , Archer C5 , Archer C4 , Archer AX3000
В данной инструкции мы покажем, как изменить DNS-адрес в настройках вашего роутера TP-LINK в новом интерфейсе.
Синий интерфейс
Шаг 1: Откройте браузер IE, Firefox или Google Chrome для входа в веб-интерфейс роутера.
-или-
Шаг 2: Войдите в веб-интерфейс роутера, по умолчанию имя пользователя и пароль для входа — “admin”.
Шаг 3: Выберите вкладку “Дополнительные настройки” (1), далее пункт “Сеть” (2), далее “Интернет”(3).
Шаг 4: Выберите в меню “Дополнительные настройки” (4) параметр “Использовать следующие адреса DNS-серверов”(5). Укажите предпочитаемый DNS-сервер (6) и нажмите Сохранить (7).
Шаг 5: Выберите пункт Перезагрузить (8) в верхнем правом углу и в всплывающем окне нажмите Да (9).
Чтобы получить подробную информацию о каждой функции и настройке оборудования, перейдите на страницу Загрузки для загрузки руководства пользователя к Вашей модели устройства.
Элемент |
Параметры по умолчанию |
Описание |
||
---|---|---|---|---|
TCP/IP |
Включить |
Включение TCP/IP. |
||
NetBIOS через TCP |
Включить |
Включение NetBIOS по TCP/IP. Данный элемент отображается, если включен протокол TCP/IP. |
||
Адресное пр-во IP |
Авто |
Определяет метод настройки IP-адреса. |
||
Адрес IPv4 |
192.168.100.100 |
Настройка IP-адреса. Данный элемент отображается, если включен протокол TCP/IP. |
||
Маска подсети |
255.255.255.0 |
Установка маски подсети. Данный элемент отображается, если включен протокол TCP/IP. |
||
Адрес Шлюза |
0.0.0.0 |
Устанавливает адрес шлюза. Данный элемент отображается, если включен протокол TCP/IP. |
||
DNS-сервер (основной) |
0.0.0.0 |
Установка IP-адреса для основного DNS-сервера. Данный элемент отображается, если включен протокол TCP/IP. |
||
DNS-сервер (вторичный) |
0.0.0.0 |
Установка IP-адреса для вторичного DNS-сервера. Данный элемент отображается, если включен протокол TCP/IP. |
||
WINS-сервер (основной) |
0.0.0.0 |
Установка названия или IP-адреса для сервера WINS. Данный элемент отображается, если включен протокол TCP/IP. |
||
WINS-сервер (вторичный) |
0.0.0.0 |
Установка названия или IP-адреса для сервера WINS. Данный элемент отображается, если включен протокол TCP/IP. |
||
Прокси-сервер |
Выключить |
Настройка использования прокси-сервера. |
||
Прокси-сервер |
(НОЛЬ) |
Установка названия или IP-адреса для прокси-сервера. Можно ввести до 15 символов. |
||
Номер порта прокси-сервера |
8080 |
Установка номера порта прокси-сервера. |
||
ID пользователя прокси-сервера |
(НОЛЬ) |
Установка ID пользователя для подключения к прокси-серверу. |
||
Пароль прокси-сервера |
(НОЛЬ) |
Установка пароля для подключения к прокси-серверу. |
||
Web |
Включить |
Включение/ выключение функции доступа через веб-браузер. Данный элемент отображается, если включен протокол TCP/IP. |
||
Telnet |
Выключить |
Включение/ выключение функции доступа через Telnet. Данный элемент отображается, если включен протокол TCP/IP. |
||
FTP |
Выключить |
Включение/ выключение функции доступа через FTP. Данный элемент отображается, если включен протокол TCP/IP. |
||
IPSec |
Выключить |
Данный элемент отображается, только если IPSec допустим. Данный элемент можно изменить только для выключения. |
||
SNMP |
Включить |
Включение/ выключение функции доступа через SNMP. Данный элемент отображается, если включен протокол NetWare или TCP/IP. |
||
Масштаб сети |
Нормальное |
[Нормальное]: При подключении к концентратору, выполняющему функции связующего дерева, производительность устройства увеличивается. Однако требуется больше времени для запуска устройства при подключении к небольшой ЛВС, состоящей из двух-трех компьютеров. [Малый]: Данный параметр подходит для небольшой ЛВС, которая состоит из двух-трех компьютеров по сравнению с крупной ЛВС, однако производительность устройства не повышается при подключении к концентратору с функцией связующего дерева. |
||
Гигабитная сеть |
Выключить |
Включение/ выключение функции доступа через Gigabit Ethernet. |
||
Параметр связи с концентратором |
Авто |
Установка способа подключения к концентратору. Обычно выбирается значение [Автоматическое согласование]. |
Создайте свой собственный сервер имен DNS в Linux
В предыдущей статье этой серии из двух частей «Введение в DNS (систему доменных имен)» я описал структуру базы данных DNS и настройку служб имен на клиенте. Я также перечислил и описал некоторые из наиболее распространенных DNS-записей, с которыми вы, вероятно, столкнетесь при создании сервера имен или просто при попытке интерпретировать результаты команды dig .
В этой статье я покажу вам, как создать собственный сервер имен с помощью BIND (Berkeley Internet Name Domain).Это не так сложно, как вы думаете, тем более, что вы можете сделать это в два этапа.
В этой статье вы начнете с изучения того, как создать кэширующий сервер имен, затем вы перейдете и узнаете, как обновить его до полного первичного (главного) сервера доменных имен для вашей сети, в комплекте с файлами прямой и обратной зон. .
Настройка DNS-сервера с использованием BIND
Настроить сервер имен с помощью BIND довольно просто, поэтому я покажу вам, как это сделать на любом компьютере, который может быть доступен для экспериментов.Этот небольшой лабораторный проект покажет вам, как установить и настроить BIND на вашем компьютере в качестве кэширующего сервера имен, протестировать его, а затем настроить в качестве основного сервера имен с файлом зоны, который вы можете использовать в качестве преобразователя имен для вашей сети или просто для тестирования.
Настройка сервера имен на любом имеющемся у вас компьютере GNU / Linux технически возможна, потому что это не будет мешать другим хостам в сети или их работе. Однако вам, вероятно, не следует делать это на компьютере, которым вы не владеете или не имеете права изменять, если у вас нет явного разрешения на это.
Моя установка
Вам нужен только один компьютер для выполнения всех задач, кроме одной, в этом лабораторном проекте. Я использую эту настройку на своем гораздо более мощном ThinkPad, потому что серверы имен, предоставляемые DHCP (протокол динамической конфигурации хоста), когда я подключаюсь к не-домашним сетям с использованием проводных или беспроводных подключений, иногда могут быть ненадежными. Чтобы показать, что практически любой хост может хорошо работать в качестве сервера имен, я протестировал этот проект на старом нетбуке ASUS EeePC 900.
Я буду использовать частный IP-адрес моего ASUS для этого проекта, но вы должны использовать IP-адрес хоста, который вы используете.
Файл hosts
Сначала давайте взглянем на файл / etc / hosts . В состоянии по умолчанию в файле hosts должно быть только две строки, первые две строки показаны в листинге 1 ниже.
127.0.0.1 локальный хост localhost.localdomain localhost4 localhost4.localdomain4
:: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6# Лабораторные хосты
192.168.25.1 server
192.168.25.21 host1
192.168.25.22 host2
192.168.25.23 host3
192.168.25.24 host4
Листинг 1: Вы можете поддерживать простой файл hosts для выполнения функции распознавателя в небольших сетях.
Хотя вы можете добавлять имена хостов и их соответствующие IP-адреса, как показано в листинге 1, это не оптимальное решение для именных служб, особенно во время путешествий. Если в вашем файле hosts есть другие записи, вам может потребоваться закомментировать их на время этого проекта, если они мешают именованию или IP-адресам.У большинства из вас не будет никаких записей, кроме двух строк по умолчанию.
Препарат
Кэширующий сервер имен не может заменить использование вами / etc / hosts для разрешения имен хостов во внутренней сети; однако по сравнению с использованием ISP или другого общедоступного сервера имен кэширующий сервер имен может повысить производительность при разрешении часто используемых внешних имен, таких как www.cnn.com. Самое приятное то, что настроить кеширующий сервер имен довольно просто.
Перед запуском вам следует подготовиться, выполнив следующие шаги.
Сначала сделайте резервные копии файлов / etc / hosts , /etc/ named.conf , resolv.conf и / etc / sysconfig / iptables .
Если они еще не установлены, используйте диспетчер пакетов вашего дистрибутива для установки следующих RPM BIND: bind , bind-chroot и bind-utils . Чтобы ваш лабораторный хост мог использовать кэширующий сервер имен, вы должны добавить строку сервера имен, чтобы указать на ваш собственный хост в / etc / resolv.conf . Например, если IP-адрес вашего лабораторного хоста — 192.168.0.203, как и мой epc , добавьте следующую строку в верхнюю часть списка серверов имен в /etc/resolv.conf :
сервер имен 192.168.0.203
Обязательно используйте IP-адрес хоста, на котором вы выполняете этот проект.
Вы можете использовать IP-адрес вашего локального хоста 127.0.0.1 вместо внешнего IP-адреса. Вы также должны закомментировать любые строки, указывающие на другие хосты как на серверы имен.Обязательно сохраните исправленный файл resolv.conf .
Эти изменения вступят в силу немедленно, перезагрузка или перезапуск службы не требуется. Теперь попробуйте выполнить эхо-запрос общего общедоступного хоста, который не блокирует пакеты ICMP (протокол управляющих сообщений Интернета); не стесняйтесь использовать мой брандмауэр, который является Raspberry Pi.
пинг wally2.both.org
Вы должны получить сообщение об ошибке «Неизвестный хост» или «Имя или служба не известны», потому что в настоящее время у вас нет работающей службы DNS или преобразователя, определенного в resolv.conf файл. Теперь используйте команду dig , чтобы проверить, работают ли службы имен.
копать wally2.both.com
Вы должны получить сообщение об ошибке «Время ожидания соединения истекло; серверы недоступны».
Настроить кэширующий сервер имен
Кэширующий сервер имен не является официальным источником для любого домена. Он просто кэширует результаты всех запросов преобразователя имен из сети, которую он обслуживает, чтобы ускорить ответы на будущие запросы для того же удаленного хоста.
Примечание. Файл named.conf очень специфичен в отношении синтаксиса и особенно знаков препинания. Точка с запятой используется для обозначения конца записи и конца строфы, а также конца строки. Обязательно добавьте их правильно, как показано в образцах.
Для первоначальной настройки кэширующего сервера имен необходимо внести несколько изменений в файл по умолчанию /etc/ named.conf , поэтому отредактируйте этот файл с помощью вашего любимого редактора. Сначала добавьте IP-адрес вашего локального тестового хоста в строку «порт прослушивания 53», как показано в листинге 2 ниже.Это позволяет с именем прослушивать внешний IP-адрес вашего хоста, чтобы другие компьютеры также могли использовать его в качестве сервера имен.
По умолчанию BIND обращается к корневым серверам имен в Интернете, чтобы найти авторитетные серверы имен для домена. Можно указать другие серверы, называемые «пересылками», которым локальный экземпляр BIND будет отправлять запросы вместо корневых серверов. Это увеличивает вероятность перехвата DNS.
Добавьте строку «пересылки», как показано ниже.Это сообщает вашему кэширующему DNS-серверу, где получить IP-адреса, если они еще не кэшированы локально. IP-адреса в приведенном ниже списке предназначены для общедоступных DNS-серверов Google. В качестве пересылки можно использовать своего локального интернет-провайдера, OpenDNS или какой-либо другой общедоступный сервер имен. Нет необходимости определять какие-либо серверы пересылки, и в этом случае BIND будет использовать корневые серверы Интернета, как определено в файле /var/ named/ named.ca , чтобы найти авторитетные серверы имен для доменов, если серверы пересылки не определены.Но для этого упражнения определите серверы пересылки, как в листинге 2.
Закомментируйте строку IPV6, потому что мы не используем IPV6 в лабораторной среде. Обратите внимание, что две косые черты «//» обозначают комментарии в файле named.conf .
//
// named.conf
// Предоставляется пакетом привязки Red Hat для настройки ISC BIND с именем (8) DNS
// сервер как кэширующий только сервер имен (только как DNS-преобразователь localhost).
// См. / Usr / share / doc / bind * / sample /, например, именованные файлы конфигурации.
//
//опции {
порт прослушивания 53 {127.0.0.1; 192.168.0.203; };
// порт 53 прослушивания v6 {:: 1; }; Экспедиторы
{8.8.8.8; 8.8.4.4; };
каталог "/ var / named";
дамп-файл "/var/ named/data/cache_dump.db";
файл статистики "/var/ named/data/ named_stats.txt";
memstatistics-файл "/var/ named/data/ named_mem_stats.txt";
разрешить запрос {localhost; 192.168.0.0/24; };
рекурсия да;dnssec-enable да;
dnssec-проверка да;
dnssec-lookaside auto;/ * Путь к ключу ISC DLV * /
bindkeys-file "/ etc / named.iscdlv.key ";каталог-управляемых-ключей" / var / named / dynamic ";
};
logging {
channel default_debug {
file" data / named.run ";
severity dynamic;
};
} ; Зона
"." IN {подсказка типа
;
файл "named.ca";
};
включает "/etc/ named.rfc1912.zones";
включает "/etc/ named.root.key";
Листинг 2: Файл /etc/ named.conf предоставляет простую конфигурацию, необходимую для настройки кэширующего сервера имен.Строки, которые необходимо добавить или изменить, выделены жирным шрифтом.
Добавьте адрес локальной сети 192.168.0.0/24 в строку allow-query . В этой строке указываются сети, из которых DNS-запросы будут приниматься этим DNS-сервером.
Запустите службу имен
Теперь запустите названную службу и настройте названную службу для запуска при каждой загрузке. Я использую команду systemctl на моем хосте Fedora, но команда может отличаться на вашем хосте, в зависимости от используемого вами дистрибутива.Обратите внимание, что имя службы распознавания BIND указано.
systemctl enable named
systemctl start named
Первый тест, который вы можете выполнить, чтобы убедиться, что ваш кэширующий сервер имен работает, — это использовать dig для поиска информации базы данных DNS для wally2.both.org. Для дальнейшего тестирования вашего кэширующего сервера имен используйте команду dig , чтобы получить IP-адрес (а) некоторых распространенных веб-сайтов в Интернете, таких как www.opensource.com, CNN, Wired и любые другие, которые вам нравятся. Теперь в результатах должен отображаться ваш хост как отвечающий сервер.
На этом этапе ваш кэширующий сервер имен будет правильно разрешать хосты в Интернете, и это потому, что эти DNS-запросы для общедоступных хостов пересылаются на общедоступные серверы имен Google — см. Строку «пересылки» в named.conf . Однако вы по-прежнему зависите от файла / etc / hosts для внутренних служб имен. Эту проблему может решить создание первичного сервера имен.
Создание первичного сервера имен
После создания кэширующего сервера имен преобразовать его в полноценный первичный сервер имен не так уж сложно. Первичный сервер имен является авторитетным источником для домена, который он представляет.
Вам нужно снова изменить named.conf и создать пару новых файлов. Вы создадите домен с именем Example.com, который представляет собой доменное имя, зарезервированное для примеров в таких документах, как этот. У домена Example.com действительно есть IP-адрес в Интернете и очень редкий веб-сайт, но вы можете использовать это имя в остальной части лабораторного проекта, не вызывая проблем ни у кого.В оставшейся части этого упражнения вы будете использовать домен Example.com в качестве внутреннего доменного имени.
Два новых файла, которые вы создадите, — это файлы прямой и обратной зоны, которые вы поместите в каталог / var / named . Это местоположение определяется директивой «directory» в файле конфигурации named.conf .
Создайте файл прямой зоны
Файл прямой зоны содержит записи «A», которые объединяют имена хостов в зоне, также известной как домен, с их соответствующими IP-адресами.Он также может содержать записи CNAME, которые являются псевдонимами реальных имен хостов в записях A, и записи MX для почтовых серверов.
Создайте файл базовой зоны пересылки, /var/ named/example.com.zone , и добавьте в него следующие строки. Когда вы закончите, ваш файл зоны должен выглядеть как образец файла зоны в листинге 3 ниже.
; Авторитетные данные по зоне example.com
;
$ TTL 1D
@ IN SOA epc.example.com root.epc.example.com. (
2017031301; серийный
1D; обновить
1H; повторить попытку
1Вт; истекает
3H); Пример минимум$ ORIGIN.com.
example.com. В НС epc.example.com.
epc IN A 127.0.0.1
server IN A 192.168.25.1
www IN CNAME server
mail IN CNAME server
test1 IN A 192.168.25.21
t1 IN CNAME test1
test2 IN A 192.168.25.22
test3 IN A 192.168.25.23
test4 IN A 192.168.25.24; MX-запись почтового сервера
example.com. В MX 10 mail.example.com.
Листинг 3: Файл зоны пересылки для домена Example.com содержит имена хостов и их IP-адреса для этого домена.
Первая строка без комментариев в листинге 3 — это спецификатор Time to Live, который в данном случае составляет один день для всех записей, которые не указаны иначе.D означает День. Спецификаторы в строке SOA (Start of Authority) столь же очевидны. Подробное описание параметров в записи SOA подробно описано здесь.
Запись NS должна иметь полное доменное имя (полное доменное имя) хоста, на котором вы выполняете этот лабораторный проект. В файле также должна быть запись A с действительным IP-адресом хоста. В этом случае вы должны использовать IP-адрес localhost 127.0.0.1.
Записи, показанные выше, дадут вам несколько имен хостов, с которыми можно поэкспериментировать.
Обязательно используйте сегодняшнюю дату и добавьте счетчик, начинающийся с 01, для серийного номера. Приведенный выше серийный номер является первым изменением от 4 марта 2017 г. Серийный номер увеличивается при каждом изменении файла зоны. Если бы существовали вторичные серверы имен, которые использовали этот сервер в качестве первичного, они не обновлялись бы, если серийный номер не был увеличен.
Добавьте файлы зоны пересылки в named.conf
Однако, прежде чем ваш DNS-сервер заработает, вам необходимо создать запись в / etc / named.conf , который будет указывать на ваш новый файл зоны. Добавьте следующие строки под записью для зоны подсказок верхнего уровня, но перед строками «включить».
зона "example.com" IN {ведущее устройство типа
;
файл "example.com.zone";
};
Листинг 4. Добавьте эти строки в файл named.conf, чтобы добавить файл зоны Example.com в конфигурацию преобразователя.
Теперь перезапустите с именем , чтобы изменения вступили в силу.Проверьте свой сервер имен с помощью команд dig и nsloookup , чтобы получить IP-адреса для хостов, которые вы настроили в файле зоны пересылки. Обратите внимание, что хост не обязательно должен существовать в сети, чтобы команды dig и nslookup возвращали IP-адрес.
dig test1.example.com
dig t1.example.com
dig mx example.com
dig mail.example.com
nslookup test3.example.com
dig www.amazon.ком
Имейте в виду, что использование полного доменного имени для этих команд необходимо, за исключением команды nslookup , если домен и записи поиска Example.com указаны в файле /etc/resolv.conf . В этом случае, вероятно, это не так, поэтому просто используйте полные доменные имена для всего тестирования в этом проекте.
Использование корневых серверов имен
Обратите внимание, что корневые серверы имен указаны как официальные серверы для поиска Amazon.com.Но помните, что вы используете общедоступные серверы имен Google в качестве серверов пересылки. Теперь закомментируйте строку пересылки в named.conf и перезапустите с именем . Выполните приведенные выше команды еще раз, чтобы сравнить полученные результаты. Результаты должны выглядеть примерно так, как показано в листинге 5.
# dig www.amazon.com; << >> DiG 9.10.4-P6-RedHat-9.10.4-4.P6.fc25 << >> www.amazon.com
;; глобальные параметры: + cmd
;; Получил ответ:
;; - >> HEADER << - код операции: QUERY, статус: NOERROR, id: 65004
;; флаги: qr rd ra; ВОПРОС: 1, ОТВЕТ: 6, АВТОРИТЕТ: 4, ДОПОЛНИТЕЛЬНО: 1;; ОПТ. ПСЕВДОЗРЕНИЕ:
; EDNS: версия: 0, флаги :; UDP: 4096
;; ВОПРОСЫ:
; www.amazon.com. В А;; РАЗДЕЛ ОТВЕТОВ:
www.amazon.com. 1800 В CNAME www.cdn.amazon.com.
www.cdn.amazon.com. 300 В CNAME d3ag4hukkh62yn.cloudfront.net.
d3ag4hukkh62yn.cloudfront.net. 60 IN A 52.85.147.120
d3ag4hukkh62yn.cloudfront.net. 60 IN A 52.85.147.50
d3ag4hukkh62yn.cloudfront.net. 60 IN A 52.85.147.92
d3ag4hukkh62yn.cloudfront.net. 60 IN A 52.85.147.109;; РАЗДЕЛ ВЛАСТИ:
d3ag4hukkh62yn.cloudfront.net. 1831 IN NS ns-1144.awsdns-15.org.
d3ag4hukkh62yn.cloudfront.net. 1831 IN NS ns-130.awsdns-16.com.
d3ag4hukkh62yn.cloudfront.net. 1831 IN NS ns-2021.awsdns-60.co.uk.
d3ag4hukkh62yn.cloudfront.net. 1831 IN NS ns-824.awsdns-39.net.;; Время запроса: 3857 мсек
;; СЕРВЕР: 192.168.0.203 # 53 (192.168.0.203)
;; КОГДА: 13 марта, понедельник, 09:18:30 EDT 2017
;; РАЗМЕР MSG rcvd: 306
Листинг 5: Результаты поиска на www.На amazon.com есть интересная информация, в том числе время жизни для различных типов записей.
Когда я это сделал, первый вызов для разрешения внешнего адреса для Amazon занял 3857 мс, пока данные были обнаружены и возвращены. Последующие результаты для выполнения того же запроса составили 1 мс, что показывает преимущество локального кэширования результатов распознавателя. Обратите внимание на числа 1800, 300 и 60 в строках разделов ответов и 1831 в строках авторитетных разделов — это TTL (время жизни) в секундах.Если вы выполните поиск несколько раз, эти числа изменятся, показывая количество времени, в течение которого записи остаются в локальном кэше.
Создание файла обратной зоны
Обратная зона для вашего домена предоставит возможность выполнять обратный поиск. Многие организации не делают этого внутри компании, но обратный поиск может быть полезен при определении проблем. Многие конфигурации борьбы со спамом, такие как SpamAssassin, ищут возможности обратного просмотра для проверки действительных серверов электронной почты.
Создайте файл обратной зоны /var/ named/example.com.rev и добавьте следующее содержимое. Обязательно используйте соответствующий серийный номер.
; Авторитетные данные для example.com обратная зона
;
$ TTL 1D
@ IN SOA test1.example.com root.test1.example.com. (
2017031501; серийный
1D; обновить
1H; повторить попытку
1Вт; истекает
3H); минимум@ IN NS epc.example.com.
example.com. В НС epc.example.com.
1 В PTR mail.example.com.
1 В PTR server.example.com.
21 В PTR test1.example.com.
22 В PTR test2.example.com.
23 В PTR test3.example.com.
24 В PTR test4.example.com.
Листинг 6. Используйте этот файл обратной зоны, example.com.rev, для вашего сервера имен.
Вы также можете назвать свой файл обратной зоны /var/ named/25.168.192.in-addr.arpa , что соответствует более старым соглашениям. На самом деле вы можете назвать его как угодно, потому что вы явно укажете на него в файле named.conf , но использование одного из двух соглашений облегчит другим пользователям следить за вашей работой.
Добавьте обратную зону в named.conf :
зона «25.168.192.in-addr.arpa "IN {
type master;
file" example.com.rev ";
};
Листинг 7: Добавление этого раздела в файл named.conf разрешает обратный поиск.
Добавьте раздел из листинга 7 в файл /etc/ named.conf , чтобы указать на новую обратную зону. Теперь перезагрузите с именем и протестируйте свою обратную зону, используя команды из листинга 8. Ваши результаты должны выглядеть примерно так, как показано ниже.
systemctl reload с именем# dig -x 192.168.25.23
; << >> DiG 9.10.4-P6-RedHat-9.10.4-4.P6.fc25 << >> -x 192.168.25.23
;; глобальные параметры: + cmd
;; Получил ответ:
;; - >> HEADER << - код операции: QUERY, статус: NOERROR, id: 48607
;; флаги: qr aa rd ra; ЗАПРОС: 1, ОТВЕТ: 1, АВТОРИТЕТ: 1, ДОПОЛНИТЕЛЬНО: 1;; ОПТ. ПСЕВДОЗРЕНИЕ:
; EDNS: версия: 0, флаги :; UDP: 4096
;; РАЗДЕЛ ВОПРОСОВ:
; 23.25.168.192.in-addr.arpa. В ПТР;; ОТВЕТЫ:
23.25.168.192.in-addr.arpa. 86400 НА PTR test3.example.com.;; РАЗДЕЛ ВЛАСТИ:
25.168.192.in-addr.arpa. 86400 IN NS epc.example.com.;; Время запроса: 21 мс
;; СЕРВЕР: 192.168.0.203 # 53 (192.168.0.203)
;; КОГДА: среда, 15 марта, 16:18:59 EDT 2017
;; РАЗМЕР MSG rcvd: 112
Листинг 8: После перезапуска named вы должны увидеть результаты, подобные этим, когда вы выполняете обратный поиск по IP-адресу в обратной зоне.
Обязательно протестируйте некоторые другие обратные записи в вашей сети, а также попробуйте следующее, а также другие обратные поиски, с которыми вы хотите поэкспериментировать. Параметр -x означает обратный поиск.
dig -x 192.168.25.23
dig -x 192.168.25.1
Обратите внимание, что не все хосты, у которых есть записи в прямой зоне, должны иметь записи в обратной зоне, но это действительно обеспечивает более согласованные результаты, если они есть.
На этом этапе у вас есть рабочий сервер имен, использующий BIND.Однако внешние узлы пока не могут использовать этот сервер имен, поскольку брандмауэр еще не настроен для разрешения DNS-запросов.
Настройка IPTables для DNS
Вы можете сделать этот шаг, если хотите, чтобы другие хосты в вашей локальной сети использовали ваш хост в качестве своего сервера имен.
Брандмауэр на вашем тестовом хосте, вероятно, блокирует доступ к вашему хосту для служб имен. IPTables должен быть настроен на разрешение входящих пакетов UDP (User Datagram Protocol) на ваш сервер имен, чтобы другие хосты могли использовать его для разрешения имен.Используйте следующие команды, чтобы добавить необходимые записи и сохранить их.
Добавьте правило к своему брандмауэру с помощью firewalld или IPTables, которое разрешает входящие пакеты на порт 53 (домен) для UDP, и сохраните новый набор правил. Обязательно вставьте новое правило после строки -A INPUT -m state —state RELATED, ESTABLISHED -j ACCEPT , поэтому для этого вам нужно будет подсчитать количество строк INPUT в таблице фильтров. Номер 7 в следующей команде означает, что это правило будет вставлено в позицию номер 7 в существующих правилах INPUT.
iptables -t filter -I INPUT 7 -p udp -m conntrack --ctstate NEW -m udp --dport 53 -j ACCEPT
Вы можете сохранить свои новые правила брандмауэра, если хотите, и вы бы сделали это, если бы это была постоянная установка, а не лабораторный проект. Затем проверьте это на одном из других хостов, используя команду из листинга 9 ниже. Аргумент @epc указывает команде dig использовать указанный сервер имен с именем хоста epc .Вы должны заменить либо IP-адрес DNS-сервера, который вы только что создали, либо разрешаемое имя хоста в вашей сети, которое указывает на ваш новый сервер имен. Конечно, вы всегда можете добавить это имя хоста с его IP-адресом в файл / etc / hosts хоста, который вы используете для удаленного тестирования.
# dig @epc test1.example.com; << >> DiG 9.10.4-P6-RedHat-9.10.4-4.P6.fc25 << >> @epc test1.example.com
; (Найден 1 сервер)
;; глобальные параметры: + cmd
;; Получил ответ:
;; - >> HEADER << - код операции: QUERY, статус: NOERROR, id: 27957
;; флаги: qr aa rd ra; ЗАПРОС: 1, ОТВЕТ: 1, АВТОРИТЕТ: 1, ДОПОЛНИТЕЛЬНО: 1;; ОПТ. ПСЕВДОЗРЕНИЕ:
; EDNS: версия: 0, флаги :; UDP: 4096
;; РАЗДЕЛ ВОПРОСОВ:
; test1.example.com. В А;; РАЗДЕЛ ОТВЕТОВ:
test1.example.com. 86400 IN A 192.168.25.21;; РАЗДЕЛ ВЛАСТИ:
example.com. 86400 IN NS epc.both.org.;; Время запроса: 0 мсек
;; СЕРВЕР: 192.168.0.203 # 53 (192.168.0.203)
;; КОГДА: 13 марта, понедельник, 08:45:34 EDT 2017
;; РАЗМЕР MSG rcvd: 92
Листинг 9: Тестирование преобразователя имен, созданного вами на другом хосте в той же сети.
Очистка
Для очистки вы должны выполнить следующие задачи, используя инструменты, подходящие для вашего дистрибутива. Вы можете просто сохранить этот сервер имен для своей сети, если у вас его еще нет.
- Восстановить исходный файл / etc / hosts .
- Stop, названный на хосте преобразователя, который использовался для этого лабораторного проекта.
- Отключить указанную службу.
- Удалите файлы зоны.
- Восстановить исходное имя .conf файл.
- Восстановите исходный файл resolv.conf .
Заключительные мысли
Функционирование служб имен казалось мне очень непонятным, пока я не создал сервер имен для своей сети с помощью BIND. Это довольно просто и может улучшить производительность поиска DNS. Наличие собственного сервера имен также может предотвратить многие из относительно незначительных, но досадных перерывов в работе службы имен, вызванных плохо обслуживаемыми серверами имен провайдера.
Обратите внимание, что, хотя мой маленький EeePC работает со 100% загрузкой ЦП для Seti @ Home, он очень быстро реагирует на запросы преобразователя.Вы должны иметь возможность опробовать этот проект на любом доступном хосте Linux с незначительным воздействием. Я надеюсь, что многие из вас попытаются создать свой собственный сервер имен и поэкспериментировать с ним. Специфика установки вашего сервера имен будет зависеть от деталей вашего хоста и сети.
Ресурсы
Как настроить BIND в качестве DNS-сервера частной сети в Ubuntu 18.04
Введение
Важной частью управления конфигурацией и инфраструктурой сервера является обеспечение простого способа поиска сетевых интерфейсов и IP-адресов по имени путем настройки надлежащей системы доменных имен (DNS).Использование полных доменных имен (FQDN) вместо IP-адресов для указания сетевых адресов упрощает настройку служб и приложений и повышает удобство обслуживания файлов конфигурации. Настройка собственного DNS для вашей частной сети — отличный способ улучшить управление вашими серверами.
В этом руководстве мы рассмотрим, как настроить внутренний DNS-сервер с помощью программного обеспечения сервера имен BIND (BIND9) в Ubuntu 18.04, который может использоваться вашими серверами для разрешения частных имен хостов и частных IP-адресов.Это обеспечивает централизованный способ управления вашими внутренними именами хостов и частными IP-адресами, что необходимо, когда ваша среда расширяется до более чем нескольких хостов.
Версию этого руководства для CentOS можно найти здесь.
Предварительные требования
Для выполнения этого руководства вам понадобится следующая инфраструктура. Создайте каждый сервер в одном центре обработки данных с включенной частной сетью :
- Свежий сервер Ubuntu 18.04, служащий основным DNS-сервером, ns1
- (рекомендуется) Второй Ubuntu 18.04 сервер в качестве вторичного DNS-сервера, ns2
- Дополнительные серверы в том же центре обработки данных, которые будут использовать ваши DNS-серверы
На каждом из этих серверов настройте административный доступ через пользователя sudo
и брандмауэр, следуя нашему руководству по начальной настройке сервера Ubuntu 18.04.
Если вы не знакомы с концепциями DNS, рекомендуется прочитать хотя бы первые три части нашего Introduction to Managing DNS.
Пример инфраструктуры и целей
В рамках данной статьи мы примем следующее:
- У нас есть два сервера, которые будут назначены нашими серверами имен DNS.В этом руководстве мы будем называть их ns1 и ns2 .
- У нас есть два дополнительных клиентских сервера, которые будут использовать созданную нами инфраструктуру DNS. В этом руководстве мы будем называть эти host1 и host2 . Вы можете добавить столько, сколько хотите для своей инфраструктуры.
- Все эти серверы находятся в одном центре обработки данных. Предположим, что это центр обработки данных nyc3 .
- На всех этих серверах включена частная сеть (и они находятся на
10.128.0.0 / 16
подсети. Вам, вероятно, придется отрегулировать это для ваших серверов). - Все серверы подключены к проекту, который работает на «example.com». Поскольку наша система DNS будет полностью внутренней и частной, вам не нужно покупать доменное имя. Однако использование собственного домена может помочь избежать конфликтов с общедоступными маршрутизируемыми доменами.
Исходя из этих предположений, мы решили, что имеет смысл использовать схему именования, которая использует «nyc3.example.com» для обозначения нашей частной подсети или зоны.Следовательно, частное полное доменное имя (FQDN) host1 будет host1.nyc3.example.com . См. Соответствующую информацию в следующей таблице:
Хост | Роль | Частный FQDN | Частный IP-адрес |
---|---|---|---|
нс1 | Первичный DNS-сервер | ns1.nyc3.example.com | 10.128.10.11 |
нс2 | Вторичный DNS-сервер | нс2.nyc3.example.com | 10.128.20.12 |
хост1 | Общий хост 1 | host1.nyc3.example.com | 10.128.100.101 |
хост2 | Общий хост 2 | host2.nyc3.example.com | 10.128.200.102 |
Примечание
Ваши существующие настройки будут отличаться, но примеры имен и IP-адресов будут использоваться для демонстрации того, как настроить DNS-сервер для обеспечения работающего внутреннего DNS.Вы сможете легко адаптировать эту настройку к своей собственной среде, заменив имена хостов и частные IP-адреса своими собственными. Не обязательно использовать региональное имя центра обработки данных в вашей схеме именования, но мы используем его здесь, чтобы обозначить, что эти хосты принадлежат к частной сети определенного центра обработки данных. Если вы используете несколько центров обработки данных, вы можете настроить внутренний DNS в каждом соответствующем центре обработки данных.К концу этого руководства у нас будет первичный DNS-сервер, ns1 , и, возможно, вторичный DNS-сервер, ns2 , который будет служить в качестве резервного.
Давайте начнем с установки нашего основного DNS-сервера, ns1.
Установка BIND на DNS-серверы
Примечание
Текст, выделенный красным, важен! Он часто используется для обозначения того, что нужно заменить вашими собственными настройками или что это следует изменить или добавить в файл конфигурации. Например, если вы видите что-то вроде host1.nyc3.example.com
, замените его полным доменным именем вашего собственного сервера. Аналогичным образом, если вы видите host1_private_IP
, замените его частным IP-адресом вашего собственного сервера. На обоих DNS-серверах, ns1 и ns2 , обновите кэш пакетов apt
, набрав:
Теперь установите BIND:
- sudo apt-get install bind9 bind9utils bind9-doc
Настройка привязки к режиму IPv4
Прежде чем продолжить, давайте установим BIND в режим IPv4, поскольку наша частная сеть использует исключительно IPv4. На обоих серверах отредактируйте файл настроек по умолчанию bind9
, набрав:
- sudo nano / etc / default / bind9
Добавьте «-4» в конец параметра OPTIONS
.Должно получиться так:
/ и т.д. / по умолчанию / bind9
. . .
OPTIONS = "- u привязка -4"
Сохраните и закройте файл, когда закончите.
Перезапустите BIND, чтобы изменения вступили в силу:
- sudo systemctl перезапуск bind9
Теперь, когда BIND установлен, давайте настроим основной DNS-сервер.
Настройка основного DNS-сервера
Конфигурация BIND состоит из нескольких файлов, которые включены в основной файл конфигурации с именем .conf
. Эти имена файлов начинаются с по имени
, потому что это имя процесса, который запускает BIND (сокращение от «демон доменного имени»). Начнем с настройки файла опций.
Настройка файла параметров
На ns1 откройте файл named.conf.options
для редактирования:
- sudo nano /etc/bind/ named.conf.options
Над существующим блоком options
создайте новый блок ACL (список управления доступом), называемый «доверенным».Здесь мы определим список клиентов, от которых мы будем разрешать рекурсивные DNS-запросы (то есть ваши серверы, которые находятся в том же центре обработки данных, что и ns1 ). Используя наш пример частных IP-адресов, мы добавим ns1 , ns2 , host1 и host2 в наш список доверенных клиентов:
/etc/bind/ named.conf.options — 1 из 3
acl "доверенный" {
10.128.10.11; # ns1 - можно установить на localhost
10.128.20.12; # ns2
10.128.100.101; # host1
10.128.200.102; # host2
};
опции {
. . .
Теперь, когда у нас есть список доверенных DNS-клиентов, нам нужно отредактировать блок options
. На данный момент начало блока выглядит так:
/etc/bind/ named.conf.options — 2 из 3
. . .
};
опции {
каталог "/ var / cache / bind";
. . .
}
Под директивой каталога
добавьте выделенные строки конфигурации (и замените их на правильный IP-адрес ns1 ), чтобы он выглядел примерно так:
/ etc / bind / named.conf.options — 3 из 3
. . .
};
опции {
каталог "/ var / cache / bind";
рекурсия да; # разрешает повторные запросы
разрешить рекурсию {доверенный; }; # разрешает рекурсивные запросы от "доверенных" клиентов
прослушивание {10.128.10.11; }; # ns1 частный IP-адрес - слушать только в частной сети
разрешить-перевод {нет; }; # отключение передачи зон по умолчанию
экспедиторы {
8.8.8.8;
8.8.4.4;
};
. . .
};
Когда вы закончите, сохраните и закройте файл named.conf.options
. Приведенная выше конфигурация указывает, что только ваши собственные серверы («доверенные») смогут запрашивать у вашего DNS-сервера внешние домены.
Далее мы настроим локальный файл, чтобы указать наши зоны DNS.
Настройка локального файла
На ns1 откройте файл named.conf.local
для редактирования:
- sudo nano / etc / bind / named.conf.local
За исключением нескольких комментариев, файл должен быть пустым. Здесь мы укажем наши прямые и обратные зоны. Зоны DNS обозначают определенную область для управления и определения записей DNS. Поскольку все наши домены будут находиться в субдомене «nyc3.example.com», мы будем использовать его в качестве нашей прямой зоны. Поскольку каждый частный IP-адрес наших серверов находится в IP-пространстве 10.128.0.0/16
, мы настроим обратную зону, чтобы мы могли определять обратный поиск в этом диапазоне.
Добавьте зону пересылки со следующими строками, заменив имя зоны своим собственным и частным IP-адресом вторичного DNS-сервера в директиве allow-transfer
:
/etc/bind/ named.conf.local — 1 из 2
зона "nyc3.example.com" {
тип мастер;
файл "/etc/bind/zones/db.nyc3.example.com"; # путь к файлу зоны
разрешить-перевод {10.128.20.12; }; # ns2 частный IP-адрес - дополнительный
};
Предполагается, что наша частная подсеть — 10.128.0.0 / 16
, добавьте обратную зону со следующими строками ( обратите внимание, что имя нашей обратной зоны начинается с «128.10», что является инверсией октета «10.128» ):
/etc/bind/ named.conf.local — 2 из 2
. . .
};
зона "128.10.in-addr.arpa" {
тип мастер;
файл "/etc/bind/zones/db.10.128"; # 10.128.0.0/16 подсеть
разрешить-перевод {10.128.20.12; }; # ns2 частный IP-адрес - дополнительный
};
Если ваши серверы охватывают несколько частных подсетей, но находятся в одном центре обработки данных, обязательно укажите дополнительную зону и файл зоны для каждой отдельной подсети.Когда вы закончите добавлять все желаемые зоны, сохраните и выйдите из файла named.conf.local
.
Теперь, когда наши зоны указаны в BIND, нам нужно создать соответствующие файлы прямой и обратной зоны.
Создание файла прямой зоны
В файле прямой зоны мы определяем записи DNS для прямого поиска DNS. То есть, когда DNS получает запрос имени, например «host1.nyc3.example.com», он будет искать в файле прямой зоны для разрешения соответствующего частного IP-адреса host1 .
Давайте создадим каталог, в котором будут находиться файлы наших зон. Согласно нашей конфигурации named.conf.local , это местоположение должно быть / etc / bind / zone
:
- sudo mkdir / etc / привязка / зоны
Мы будем основывать наш файл прямой зоны на примере файла зоны db.local
. Скопируйте его в нужное место с помощью следующих команд:
- sudo cp /etc/bind/db.local / etc / bind / zone / db.nyc3.example.com
Теперь давайте отредактируем наш файл прямой зоны:
- sudo nano /etc/bind/zones/db.nyc3.example.com
Изначально это будет выглядеть примерно так:
/etc/bind/zones/db.nyc3.example.com — оригинал
$ TTL 604800
@ В SOA localhost. root.localhost. (
2; Серийный
604800; Обновить
86400; Повторить
2419200; Срок действия
604800); Отрицательный TTL кеша
;
@ IN NS localhost.; удалить эту строку
@ IN A 127.0.0.1; удалить эту строку
@ IN AAAA :: 1; удалить эту строку
Во-первых, вам нужно отредактировать запись SOA. Замените первый localhost на полное доменное имя ns1 , затем замените root.localhost на admin.nyc3.example.com. Каждый раз, когда вы редактируете файл зоны, вам необходимо увеличивать значение serial перед перезапуском процесса с именем
. Мы увеличим его до «3».Теперь это должно выглядеть примерно так:
/etc/bind/zones/db.nyc3.example.com — обновлено 1 из 3
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3; Серийный
. . .
Затем удалите три записи в конце файла (после записи SOA). Если вы не уверены, какие строки следует удалить, они помечаются выше комментарием «удалить эту строку».
В конце файла добавьте записи сервера имен со следующими строками (замените имена своими собственными).Обратите внимание, что во втором столбце указано, что это записи «NS»:
/etc/bind/zones/db.nyc3.example.com — обновлено 2 из 3
. . .
; серверы имен - NS записи
В NS ns1.nyc3.example.com.
В NS ns2.nyc3.example.com.
Теперь добавьте записи A для ваших хостов, которые принадлежат этой зоне. Это включает в себя любой сервер, имя которого мы хотим заканчивать на «.nyc3.example.com» (замените имена и частные IP-адреса). Используя наши примеры имен и частных IP-адресов, мы добавим записи A для ns1 , ns2 , host1 и host2 следующим образом:
/ и т.д. / привязка / зоны / db.nyc3.example.com — обновлено 3 из 3
. . .
; серверы имен - записи A
ns1.nyc3.example.com. В А 10.128.10.11
ns2.nyc3.example.com. В А 10.128.20.12
; 10.128.0.0/16 - A записи
host1.nyc3.example.com. В А 10.128.100.101
host2.nyc3.example.com. В А 10.128.200.102
Сохраните и закройте файл db.nyc3.example.com
.
Наш последний пример файла прямой зоны выглядит следующим образом:
/ и т.д. / привязка / зоны / db.nyc3.example.com — обновлено
$ TTL 604800
@ В SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3; Серийный
604800; Обновить
86400; Повторить
2419200; Срок действия
604800); Отрицательный TTL кеша
;
; серверы имен - NS записи
В NS ns1.nyc3.example.com.
В NS ns2.nyc3.example.com.
; серверы имен - записи A
ns1.nyc3.example.com. В А 10.128.10.11
ns2.nyc3.example.com. В А 10.128.20.12
; 10.128.0.0/16 - A записи
host1.nyc3.example.com. В А 10.128.100.101
host2.nyc3.example.com. В А 10.128.200.102
Теперь перейдем к файлу (файлам) обратной зоны.
Создание файла (ов) обратной зоны
Файлы обратной зоны — это то место, где мы определяем записи DNS PTR для обратного поиска DNS. То есть, когда DNS получает запрос по IP-адресу, например «10.128.100.101», он будет искать в файле (файлах) обратной зоны, чтобы разрешить соответствующее полное доменное имя «host1.nyc3.example.com »в этом случае.
На ns1 для каждой обратной зоны, указанной в файле named.conf.local
, создайте файл обратной зоны. Мы будем основывать наш файл (ы) обратной зоны на примере файла зоны db.127
. Скопируйте его в нужное место с помощью следующих команд (подставив имя файла назначения, чтобы оно соответствовало определению вашей обратной зоны):
- sudo cp /etc/bind/db.127 /etc/bind/zones/db.10.128
Отредактируйте файл обратной зоны, который соответствует обратной зоне (ам), определенной в named.conf.local
:
- судо нано /etc/bind/zones/db.10.128
Изначально это будет выглядеть примерно так:
/etc/bind/zones/db.10.128 — оригинал
$ TTL 604800
@ В SOA localhost. root.localhost. (
1; Серийный
604800; Обновить
86400; Повторить
2419200; Срок действия
604800); Отрицательный TTL кеша
;
@ IN NS localhost.; удалить эту строку
1.0.0 В PTR localhost. ; удалить эту строку
Таким же образом, как и файл прямой зоны, вы захотите отредактировать запись SOA и увеличить значение serial . Должно получиться примерно так:
/etc/bind/zones/db.10.128 — обновлено 1 из 3
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3; Серийный
.. .
Теперь удалите две записи в конце файла (после записи SOA). Если вы не уверены, какие строки следует удалить, они помечаются выше комментарием «удалить эту строку».
В конце файла добавьте записи сервера имен со следующими строками (замените имена своими собственными). Обратите внимание, что во втором столбце указано, что это записи «NS»:
/etc/bind/zones/db.10.128 — обновлено 2 из 3
. . .
; серверы имен - NS записи
IN NS ns1.nyc3.example.com.
В NS ns2.nyc3.example.com.
Затем добавьте записи PTR
для всех ваших серверов, IP-адреса которых находятся в подсети файла зоны, который вы редактируете. В нашем примере это включает в себя все наши хосты, потому что все они находятся в подсети 10.128.0.0/16
. Обратите внимание, что первый столбец состоит из двух последних октетов частных IP-адресов ваших серверов в в обратном порядке . Не забудьте подставить имена и частные IP-адреса, чтобы они соответствовали вашим серверам:
/ и т.д. / привязка / зоны / db.10.128 — обновлено 3 из 3
. . .
; PTR Records
11.10 В PTR ns1.nyc3.example.com. ; 10.128.10.11
12.20 В PTR ns2.nyc3.example.com. ; 10.128.20.12
101.100 В PTR host1.nyc3.example.com. ; 10.128.100.101
102.200 В PTR host2.nyc3.example.com. ; 28.10.200.102
Сохраните и закройте файл обратной зоны (повторите этот раздел, если вам нужно добавить больше файлов обратной зоны).
Наш последний пример файла обратной зоны выглядит следующим образом:
/ и т.д. / привязка / зоны / db.10.128 — обновлено
$ TTL 604800
@ В SOA nyc3.example.com. admin.nyc3.example.com. (
3; Серийный
604800; Обновить
86400; Повторить
2419200; Срок действия
604800); Отрицательный TTL кеша
; серверы имен
В NS ns1.nyc3.example.com.
В NS ns2.nyc3.example.com.
; PTR Records
11.10 IN PTR ns1.nyc3.example.com. ; 10.128.10.11
12.20 В PTR ns2.nyc3.example.com. ; 10.128.20.12
101.100 В PTR host1.nyc3.example.com. ; 10.128.100.101
102.200 В PTR host2.nyc3.example.com. ; 28.10.200.102
Мы закончили редактировать наши файлы, поэтому теперь мы можем проверить наши файлы на наличие ошибок.
Проверка синтаксиса конфигурации BIND
Выполните следующую команду, чтобы проверить синтаксис файлов named.conf *
:
Если в ваших именованных файлах конфигурации нет синтаксических ошибок, вы вернетесь в командную строку оболочки и не увидите сообщений об ошибках.Если есть проблемы с вашими файлами конфигурации, просмотрите сообщение об ошибке и раздел «Настроить первичный DNS-сервер», затем попробуйте named-checkconf
еще раз.
Команду named-checkzone
можно использовать для проверки правильности файлов зоны. Его первый аргумент указывает имя зоны, а второй аргумент указывает соответствующий файл зоны, которые оба определены в named.conf.local
.
Например, чтобы проверить файл «nyc3.example.com », выполните следующую команду (измените имена, чтобы они соответствовали вашей зоне пересылки и файлу):
- sudo named-checkzone nyc3.example.com db.nyc3.example.com
И чтобы проверить конфигурацию обратной зоны «128.10.in-addr.arpa», выполните следующую команду (измените номера, чтобы они соответствовали вашей обратной зоне и файлу):
- sudo с именем checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128
Когда все ваши файлы конфигурации и зоны не содержат ошибок, вы должны быть готовы перезапустить службу BIND.
Перезапуск BIND
Перезапустить BIND:
- sudo systemctl перезапуск bind9
Если у вас настроен брандмауэр UFW, откройте доступ к BIND, набрав:
Ваш основной DNS-сервер теперь настроен и готов отвечать на DNS-запросы. Перейдем к созданию вторичного DNS-сервера.
Настройка вторичного DNS-сервера
В большинстве сред рекомендуется настроить вторичный DNS-сервер, который будет отвечать на запросы, если первичный становится недоступным.К счастью, вторичный DNS-сервер настроить намного проще.
На ns2 отредактируйте файл named.conf.options
:
- sudo nano /etc/bind/ named.conf.options
Вверху файла добавьте ACL с частными IP-адресами всех ваших доверенных серверов:
/etc/bind/ named.conf.options — обновлено 1 из 2 (вторичный)
acl "доверенный" {
10.128.10.11; # ns1
10.128.20.12; # ns2 - можно установить на localhost
10.128.100.101; # host1
10.128.200.102; # host2
};
опции {
. . .
Под директивой directory
добавьте следующие строки:
/etc/bind/ named.conf.options — обновлено 2 из 2 (вторично)
рекурсия да;
разрешить рекурсию {доверенный; };
прослушивание {10.128.20.12; }; # ns2 частный IP-адрес
разрешить-перевод {нет; }; # отключение передачи зон по умолчанию
экспедиторы {
8.8.8.8;
8.8.4.4;
};
Сохраните и закройте файл named.conf.options
. Этот файл должен выглядеть точно так же, как файл ns1 named.conf.options
, за исключением того, что он должен быть настроен на прослушивание частного IP-адреса ns2 .
Теперь отредактируйте файл named.conf.local
:
- sudo nano /etc/bind/ named.conf.local
Определите подчиненные зоны, которые соответствуют главным зонам на первичном DNS-сервере.Обратите внимание, что это тип «подчиненный», файл не содержит пути, и есть директива master
, которая должна быть установлена на частный IP-адрес первичного DNS-сервера. Если вы определили несколько обратных зон на основном DNS-сервере, обязательно добавьте их все сюда:
/etc/bind/ named.conf.local — обновлено (вторично)
зона "nyc3.example.com" {
типа раб;
файл "db.nyc3.example.com";
мастера {10.128.10.11; }; # ns1 частный IP
};
зона »128.10.in-addr.arpa "{
типа раб;
файл "db.10.128";
мастера {10.128.10.11; }; # ns1 частный IP
};
Теперь сохраните и закройте файл named.conf.local
.
Выполните следующую команду, чтобы проверить правильность ваших файлов конфигурации:
После проверки перезапустите BIND:
. - sudo systemctl перезапуск bind9
Разрешить DNS-подключения к серверу путем изменения правил брандмауэра UFW:
Теперь у вас есть первичный и вторичный DNS-серверы для разрешения имени частной сети и IP-адресов.Теперь вы должны настроить свои клиентские серверы для использования ваших частных DNS-серверов.
Настройка DNS-клиентов
Прежде чем все ваши серверы в «доверенном» ACL смогут запрашивать ваши DNS-серверы, вы должны настроить каждый из них для использования ns1 и ns2 в качестве серверов имен. Этот процесс зависит от ОС, но для большинства дистрибутивов Linux он включает добавление серверов имен в файл /etc/resolv.conf
.
Клиенты Ubuntu 18.04
В Ubuntu 18.04, сеть настраивается с помощью Netplan, абстракции, которая позволяет вам написать стандартизированную конфигурацию сети и применить ее к несовместимому внутреннему сетевому программному обеспечению. Чтобы настроить DNS, нам нужно написать файл конфигурации Netplan.
Сначала найдите устройство, связанное с вашей частной сетью, запросив частную подсеть с помощью команды ip address
:
- IP-адрес отображается на 10.128.0.0/16
Выход
3: eth2: mtu 1500 qdisc fq_codel state UP группа по умолчанию qlen 1000
инет 10.128.100.101 / 16 brd 10.128.255.255 область действия global eth2
valid_lft навсегда предпочтительный_lft навсегда
В этом примере частным интерфейсом является eth2
.
Затем создайте новый файл в / etc / netplan
с именем 00-private-nameservers.yaml
:
- sudo nano /etc/netplan/00-private-nameservers.yaml
Внутрь вставьте следующее содержимое. Вам нужно будет изменить интерфейс частной сети, адреса ваших DNS-серверов ns1 и ns2 , а также зону DNS:
. Примечание: Netplan использует формат сериализации данных YAML для своих файлов конфигурации.Поскольку YAML использует отступы и пробелы для определения своей структуры данных, убедитесь, что ваше определение использует последовательные отступы, чтобы избежать ошибок.
/ etc / netplan 00-private-nameservers.yaml
сеть:
версия: 2
Ethernet:
eth2: # Интерфейс частной сети
серверы имен:
адреса:
- 10.128.10.11 # Частный IP для ns1
- 10.132.20.12 # Частный IP для ns2
поиск: [nyc3.example.com] # зона DNS
Сохраните и закройте файл, когда закончите.
Затем скажите Netplan, чтобы он попытался использовать новый файл конфигурации, используя netplan try
. Если есть проблемы, которые вызывают потерю сети, Netplan автоматически откатит изменения после тайм-аута:
Выход
Предупреждение: остановка systemd-networkd.service, но ее все еще можно активировать:
systemd-networkd.socket
Вы хотите сохранить эти настройки?
Нажмите ENTER до истечения времени ожидания, чтобы принять новую конфигурацию.
Изменения вернутся через 120 секунд.
Если обратный отсчет внизу обновляется правильно, новая конфигурация, по крайней мере, достаточно функциональна, чтобы не разрывать ваше SSH-соединение.Нажмите ENTER , чтобы принять новую конфигурацию.
Теперь проверьте, что преобразователь DNS системы определяет, была ли применена ваша конфигурация DNS:
- sudo systemd-resolve --status
Прокрутите вниз, пока не увидите раздел для интерфейса вашей частной сети. Сначала вы должны увидеть частные IP-адреса для ваших DNS-серверов, за которыми следуют некоторые резервные значения. Ваш домен должен быть в «Домене DNS»:
Выход
.. .
Ссылка 3 (eth2)
Текущие области: DNS
Настройка LLMNR: да
Настройка MulticastDNS: нет
Настройка DNSSEC: нет
Поддержка DNSSEC: нет
DNS-серверы: 10.128.10.11
10.128.20.12
67.207.67.2
67.207.67.3
Домен DNS: nyc3.example.com
. . .
Теперь ваш клиент должен быть настроен для использования ваших внутренних DNS-серверов.
Ubuntu 16.04 и клиенты Debian
На серверах Ubuntu 16.04 и Debian Linux вы можете редактировать файл / etc / network / interfaces
:
- sudo nano / etc / network / interfaces
Внутри найдите строку dns-nameservers
и добавьте свои собственные серверы имен перед текущим списком.Под этой строкой добавьте параметр dns-search
, указывающий на базовый домен вашей инфраструктуры. В нашем случае это будет «nyc3.example.com»:
/ etc / network / interfaces
. . .
DNS-серверы 10.128.10.11 10.128.20.12 8.8.8.8
dns-search nyc3.example.com
. . .
Сохраните и закройте файл, когда закончите.
Теперь перезапустите сетевые службы, применив новые изменения с помощью следующих команд. Убедитесь, что вы заменили eth0
на имя вашего сетевого интерфейса:
- sudo ifdown --force eth0 && sudo ip addr flush dev eth0 && sudo ifup --force eth0
Это должно перезапустить вашу сеть без разрыва текущего соединения.Если все сработало правильно, вы должны увидеть что-то вроде этого:
Выход
RTNETLINK отвечает: Нет такого процесса
Жду папу ... Готово
Дважды проверьте, были ли применены ваши настройки, набрав:
Вы должны увидеть свои серверы имен в файле /etc/resolv.conf
, а также ваш поисковый домен:
Выходные данные
# Динамический файл resolv.conf (5) для резолвера glibc (3), сгенерированный resolvconf (8)
# НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ вручную - ВАШИ ИЗМЕНЕНИЯ БУДУТ ПЕРЕЗАПИСАННЫМИ
сервер имен 10.128.10.11
сервер имен 10.128.20.12
сервер имен 8.8.8.8
поиск nyc3.example.com
Теперь ваш клиент настроен на использование ваших DNS-серверов.
Клиенты CentOS
В CentOS, RedHat и Fedora Linux отредактируйте файл / etc / sysconfig / network-scripts / ifcfg-eth0
. Возможно, вам придется заменить eth0
на имя вашего основного сетевого интерфейса:
- sudo nano / etc / sysconfig / network-scripts / ifcfg-eth0
Найдите параметры DNS1
и DNS2
и установите для них частные IP-адреса вашего первичного и вторичного серверов имен.Добавьте параметр DOMAIN
к базовому домену вашей инфраструктуры. В этом руководстве это будет «nyc3.example.com»:
/ и т.д. / sysconfig / сетевые сценарии / ifcfg-eth0
. . .
DNS1 = 10.128.10.11
DNS2 = 10.128.20.12
ДОМЕН = 'nyc3.example.com'
. . .
Сохраните и закройте файл, когда закончите.
Теперь перезапустите сетевую службу, набрав:
- sudo systemctl перезапустить сеть
Команда может зависнуть на несколько секунд, но вскоре вернет вас к командной строке.
Убедитесь, что ваши изменения были применены, набрав:
Вы должны увидеть свои серверы имен и поисковый домен в списке:
/etc/resolv.conf
сервер имен 10.128.10.11
сервер имен 10.128.20.12
поиск nyc3.example.com
Теперь ваш клиент должен иметь возможность подключаться к вашим DNS-серверам и использовать их.
Клиенты для тестирования
Используйте nslookup
, чтобы проверить, могут ли ваши клиенты запрашивать ваши серверы имен.Вы должны иметь возможность сделать это на всех клиентах, которые вы настроили и находятся в «доверенном» ACL.
Для клиентов CentOS вам может потребоваться установить утилиту с:
- sudo yum установить bind-utils
Мы можем начать с прямого просмотра.
Прямой поиск
Например, мы можем выполнить прямой поиск, чтобы получить IP-адрес host1.nyc3.example.com , выполнив следующую команду:
Запрос «host1» заменяется на «host1.nyc3.example.com из-за поиска опция
установлена на ваш частный поддомен, и запросы DNS будут пытаться искать на этом поддомене перед поиском хоста в другом месте. Результат выполнения приведенной выше команды будет выглядеть следующим образом:
Выход
Сервер: 127.0.0.53
Адрес: 127.0.0.53 # 53
Неавторитетный ответ:
Имя: host1.nyc3.example.com
Адрес: 10.128.100.101
Затем мы можем проверить обратный поиск.
Обратный поиск
Чтобы проверить обратный поиск, запросите DNS-сервер с частным IP-адресом host1 :
Вы должны увидеть следующий результат:
Выход
11.10.128.10.in-addr.arpa name = host1.nyc3.example.com.
Авторитетные ответы можно найти здесь:
Если все имена и IP-адреса разрешаются в правильные значения, это означает, что файлы зоны настроены правильно. Если вы получаете неожиданные значения, обязательно просмотрите файлы зоны на своем основном DNS-сервере (например, db.nyc3.example.com
и db.10.128
).
Поздравляем! Теперь ваши внутренние DNS-серверы настроены правильно! Теперь мы рассмотрим ведение записей вашей зоны.
Ведение записей DNS
Теперь, когда у вас есть работающий внутренний DNS, вам необходимо поддерживать записи DNS, чтобы они точно отражали среду вашего сервера.
Добавление хоста в DNS
Каждый раз, когда вы добавляете хост в свою среду (в том же центре обработки данных), вам нужно будет добавить его в DNS. Вот список шагов, которые вам необходимо предпринять:
Основной сервер имен
- Файл зоны пересылки: добавьте запись «A» для нового хоста, увеличьте значение «Serial»
- Файл обратной зоны: добавьте запись «PTR» для нового хоста, увеличьте значение «Последовательный».
- Добавьте частный IP-адрес вашего нового хоста в «доверенный» ACL (
named.conf.options
)
Проверьте свои файлы конфигурации:
- sudo с именем checkconf
- sudo named-checkzone nyc3.example.com db.nyc3.example.com
- sudo с именем checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128
Затем перезагрузите BIND:
- sudo systemctl перезагрузить bind9
Ваш основной сервер теперь должен быть настроен для нового хоста.
Вторичный сервер имен
- Добавьте частный IP-адрес вашего нового хоста в «доверенный» ACL (
named.conf.options
)
Проверьте синтаксис конфигурации:
Затем перезагрузите BIND:
- sudo systemctl перезагрузить bind9
Ваш вторичный сервер теперь будет принимать соединения от нового хоста.
Настройте новый хост для использования вашего DNS
- Настройте
/etc/resolv.conf
для использования ваших DNS-серверов - Тест с использованием
nslookup
Удаление хоста из DNS
Если вы удаляете хост из своей среды или хотите просто удалить его из DNS, просто удалите все, что было добавлено при добавлении сервера в DNS (т.е.е. в обратном порядке по отношению к шагам выше).
Заключение
Теперь вы можете ссылаться на интерфейсы частной сети своих серверов по имени, а не по IP-адресу. Это упрощает настройку служб и приложений, поскольку вам больше не нужно запоминать частные IP-адреса, а файлы будут легче читать и понимать. Кроме того, теперь вы можете изменить свои конфигурации, чтобы они указывали на новые серверы в одном месте, на вашем основном DNS-сервере, вместо того, чтобы редактировать различные файлы распределенной конфигурации, что упрощает обслуживание.
Если у вас настроен внутренний DNS и в ваших файлах конфигурации используются частные полные доменные имена для определения сетевых подключений, критически важно, , чтобы ваши DNS-серверы поддерживались должным образом. Если они оба станут недоступны, ваши сервисы и приложения, которые на них работают, перестанут работать должным образом. Вот почему рекомендуется настроить DNS как минимум с одним вторичным сервером и поддерживать рабочие резервные копии всех из них.
Настройка DNS-сервера
Сила всемирной паутины, которую мы знаем сегодня, в значительной степени зависит от возможностей системы доменных имен (более популярной как DNS) — одной из крупнейших баз данных в мире, которая отвечает за бесперебойную связь компьютеры в сетях.С помощью DNS-серверов доменные имена преобразуются в соответствующие им числовые IP-адреса, которые необходимы компьютерам для связи друг с другом для поиска веб-сайтов в Интернете.
DNS-серверы
DNS-серверы делятся на публичные и частные DNS-серверы. В то время как большинство общедоступных серверов находится в ведении более крупных интернет-провайдеров и коммерческих компаний, частные DNS-серверы используются в основном для частных домашних сетей.Настоятельно рекомендуется настраивать DNS-серверы в домашней сети в случаях, когда ваша сеть включает в себя более нескольких компьютеров с целью повышения ее эффективности.
С DNS-сервером, настроенным для вашей частной домашней сети, вы можете централизовать управление информацией хоста и отслеживать файл хоста для каждого клиента в вашей сети. Кроме того, частные DNS-серверы позволяют вашим клиентам делать запросы на разрешение DNS в вашей домашней сети, поскольку они имеют возможность кэшировать информацию DNS.
Установите и настройте DNS-сервер BIND
Bind можно легко установить с большинством дистрибутивов Linux — он доступен в их репозиториях. Вы также можете скомпилировать его из исходного кода.
Чтобы установить BIND 9 из репозиториев, войдите в режим суперпользователя и запустите:
apt-get install bind9И теперь на вашем компьютере установлена привязка. Вы можете запустить и остановить его в любой момент с помощью команд «старт» и «стоп».
Остановка привязки
/ etc / init.d / bind9 стопНачальная привязка
/etc/init.d/bind9 началоКак «chroot» привязать
Первым шагом настройки Bind является его «chroot». Это означает, что привязка будет выполняться не с правами суперпользователя, а от имени отдельного пользователя, который может видеть только свое дерево папок. Это сделано в целях безопасности — если кому-то удастся использовать уязвимость BIND, он не сможет нанести большой ущерб, поскольку структура папок BIND будет действовать как корневая папка.
Здесь мы покажем вам, как выполнить chroot-привязку к папке «var / lib / named».Первое, что нужно сделать, это отредактировать файл / etc / default / bind9. Мы скажем демону связывания запустить этот файл от имени пользователя «связывания», у которого нет никаких прав. Вот как должен выглядеть файл:
Файл / etc / default / bind9:
OPTIONS = «- u bind -t / var / lib / named»# Установите RESOLVCONF = no, чтобы не запускать resolvconf
RESOLVCONF = yes
Теперь нам нужно создать конкретную папку в каталоге / var / lib.
mkdir -p / var / lib / named / etcmkdir / var / lib / named / dev
mkdir -p / var / lib / named / var / cache / bind
mkdir -p / var / lib / named / var / запустить / привязать / запустить
Это создаст все необходимые папки для работы BIND в папке «var / lib / named».Следующим шагом является копирование файла конфигурации BIND. Файл находится в папке «/ etc / bind», и нам придется переместить его в папку «/ var / lib / named / etc».
cp / etc / bind / var / lib / с именем / etcКогда у нас есть файл конфигурации в новом месте, пора создать на него символическую ссылку, так как это будет очень полезно для будущих обновлений BIND.
ln -s / var / lib / с именем / etc / bind / etc / bindТеперь BIND будет работать без проблем в chroot jail. Однако для правильной работы ему все равно потребуется доступ к нескольким файлам, например к / dev / null.Вы можете создать их все с помощью следующих команд:
mknod / var / lib / named / dev / null c 1 3mknod / var / lib / named / dev / random c 1 8
chmod 666 / var / lib / named / dev / null / var / lib / named / dev / random
chown -R bind: bind / var / lib / named / var / *
chown -R bind: bind / var / lib / named / etc / bind
Последний шаг — настроить системный журнал для отправки журналов и сообщений об ошибках в правильное место. Для этого вам нужно будет добавить следующую строку:
SYSLOGD = «- a / var / lib / named / dev / log»в файл «/ etc / default / syslogd».Вот как после этого должен выглядеть файл:
Файл syslogd для привязанной к корневому каталогу BIND
## Верхний файл конфигурации для syslogd
#
#
# Полная документация по возможным аргументам находится на странице руководства
# syslogd (8).
#
#
# Для удаленной регистрации UDP используйте SYSLOGD = «- r»
#
SYSLOGD = «- a / var / lib / named / dev / log»
Теперь перезапустите syslogd и BIND и проверьте «/ var / log / syslog» на наличие ошибок.
Перезапустите syslogd и запустите BIND
/ etc / init.d / sysklogd restart/etc/init.d/bind9 start
Настройка BIND
После того, как вы установили и заблокировали BIND, самое время начать его использовать. Первое, что вам нужно сделать, это добавить зону DNS для вашего доменного имени. Для этого вам нужно будет отредактировать файл named.local.conf.
vi /etc/bind/ named.conf.localТам вы можете добавить следующий текст, чтобы создать зону DNS для my-best-server.com.
зона «my-best-server.com» {мастер типа;
файл «/ etc / bind / zone / my-best-server.com.db «;
};
Следующим шагом является редактирование фактической зоны DNS
mkdir / etc / bind / zonevi /etc/bind/zones/my-best-server.com .db
Последняя команда покажет вам действительную зону DNS. Вы можете добавить другие записи DNS или изменить показанные здесь на свои собственные.
$ TTL 1500 |
@ IN SOA my-best-server.com. корень ( |
2007062703; серийный |
28800; обновить |
3600; повторить попытку |
604800; срок действия |
38400); минимум 25 минут |
мой-лучший-сервер.com. | IN | NS | ns1.my-best-server.com. |
my-best-server.com | IN | A | 192.168.0.100 |
my-best-server.com. | IN | MX | 10 my-best-server.com. |
Осталось два шага — настроить сервер пересылки DNS и настройку саморешения.
Чтобы настроить сервер пересылки DNS, нам нужно будет отредактировать «named.conf.options».
vi /etc/bind/ named.conf.optionsНайдите в файле строку «forwarders» и введите IP-адрес вашего IPS DNS-сервера вместо адреса по умолчанию.
экспедиторы {123.123.123.123;
};
Таким образом, если ваш DNS-сервер не может разрешить запрос, он перенаправит его DNS-серверу интернет-провайдера, не отклоняя запрос.
Последнее, что нам нужно сделать, это заставить DNS-сервер разрешить себя.Для этого нам нужно изменить файл resolv.conf.
vi /etc/resolv.confЗдесь введите имя вашего домена и ваш IP-адрес.
поиск my-best-server.comсервер имен 192.168.0.100
И ваш DNS-сервер полностью настроен!
Глупое простое руководство по настройке собственного DNS-сервера
В первую очередь я разработчик. Мне нравится писать код. Для меня обслуживание серверов, настройка, устранение неполадок сети и тому подобное — это то, что я делаю, чтобы поддержать свои основные интересы и работу в качестве разработчика.Я не игнорирую эти вещи, но я считаю, что все это не мои любимые занятия.
Я признаю, что на протяжении многих лет игнорировал одну вещь, так это DNS. Конечно, я знаю на высоком уровне, как это работает. Я даже немного знаю о разных типах записей. Я знал достаточно, чтобы иметь собственное доменное имя, настроенное с использованием DNS-серверов Godaddy, чтобы указывать на мой сервер. Но на самом деле у меня есть собственный сервер имен? То, чего я никогда не делал и по какой-то причине испытывал этот неестественный страх.
Ну не более того.Сейчас я использую свой собственный блестящий новый сервер имен, и, на самом деле, это оказалось не так сложно, как я думал. И поскольку для меня это был познавательный опыт, я решил, что проведу вас через то, что я сделал.
Выбор сервера
В области «программного обеспечения DNS-сервера» есть два крупных игрока: BIND и djbdns. BIND — это 900-фунтовая горилла, которая существует всегда и всегда, и ее безумно сложно настроить. djbdns принадлежит тому же парню, который написал qmail — я позволю вам судить об этом.Но после исследования и попытки установить оба из них я в конце концов сдался. Оба они казались слишком сложными для простого сервера имен, обслуживающего пару доменов, и документация для обоих была одинаково сложной.
Именно тогда кто-то в Твиттере указал мне на MaraDNS. Я просмотрел его и был удивлен, обнаружив хорошую, удобочитаемую и простую документацию, благодаря которой установка выглядела простой. Поэтому я решил покрутить его. Вот что я сделал. Обратите внимание, что эта установка предназначена для системы Gentoo.Ваш будет другим, если вы будете использовать что-то другое.
Установка и настройка MaraDNS
Первым шагом является его установка.
emerge maradns
И пусть Portage сделает свое дело. После того, как он будет установлен, вам действительно нужно будет беспокоиться только о нескольких файлах. В / etc / mararc вам нужно убедиться, что вы привязаны к правильным интерфейсам. В своей конфигурации я привязал его к loopback и к основному интерфейсу:
ipv4_bind_addresses = "x.x.x.x, 127.0.0. "
После этого вы указываете, что он является авторитетным, и для каких доменов вы хотите обслуживать записи.
csv2 = {}
csv2 ["robpeck.com."] = "zone / robpeck.com"
Обратите внимание на точку в конце имени домена — это важно. Каждая запись в массиве csv2 должна отображаться в файл зоны. Я поместил свой в подкаталог «зоны» (который в Gentoo находится в / etc / maradns).
mkdir -p / etc / maradns / zone
Затем с помощью вашего любимого редактора (который должен быть vi: P) вы создаете файл зоны.Один для robpeck.com (частично) выглядит так:
robpeck.com. NS ns1.epsilonthree.com.
robpeck.com. NS ns2.epsilonthree.com.
robpeck.com. +3600 А x.x.x.x
robpeck.com. +3600 MX 0 robpeck.com.
www.robpeck.com. +3600 CNAME robpeck.com.
Итак, что мы здесь делаем? Что ж, здесь полезно кое-что узнать о различных типах записей DNS. Я не собираюсь описывать все типы записей — это хороший список общих, а в Википедии есть полный список.Важными из них являются NS (сервер имен), A (основная запись), MX (записи почтового сервера) и CNAME (псевдоним). «+3600» устанавливает тайм-аут записи на один час (3600 секунд). По умолчанию сервер отправляет один день (86 400 секунд).
Здесь я говорю серверу, что это за серверы имен (строго говоря, это не обязательно, но я все равно добавил) и что основным адресом для людей, запрашивающих «robpeck.com», является этот IP-адрес. . Я также говорю, что люди, запрашивающие www.robpeck.com »должен получить IP-адрес для« robpeck.com ». Я также добавляю запись MX, которая указывает на robpeck.com с приоритетом 0 (первый (и единственный) сервер).
Вот и все! Перезапустите MaraDNS:
/etc/init.d/maradns restart
И вы можете проверить это.
dig @localhost robpeck.com A
У вас должна получиться большая длинная распечатка, но вы хотите видеть эти две строки:
QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
Робпек.com. 3600 IN A x.x.x.x
Если выше указан правильный адрес, поздравляем, теперь ваш DNS-сервер правильно разрешается локально.
Делегирование вашего домена
Следующим шагом будет делегирование вашего домена вашему собственному серверу. Я не буду описывать это слишком подробно, потому что то, как это произойдет, зависит от регистратора. Как правило, это двухэтапный процесс:
Зарегистрируйте IP-адрес вашего сервера имен в качестве имени. В NameCheap, когда вы находитесь на экране домена, это делается в разделе «Дополнительные параметры»> «Регистрация сервера имен».В GoDaddy это находится в разделе «Хосты» на экране информации о домене. Вам необходимо добавить как минимум две записи «nsX.domain.com», но обе они могут указывать на один и тот же IP-адрес.
Делегируйте свой домен только что созданным именам. В NameCheap выберите «Общие»> «Настройка сервера доменных имен» и «Укажите настраиваемые DNS-серверы». Затем введите два (или более) имени, которые вы только что создали, «nsX.domain.com». Я не могу вспомнить, как я делал это в GoDaddy, но помню, что это было довольно очевидно.
Вот и все! Они говорят, что это занимает 24-48 часов, но я начал замечать, что запросы поступают на новый сервер имен примерно в течение часа. Конечно, поскольку я фактически не менял IP-адреса, реального простоя не было.
На данный момент все мои домены обслуживаются с моего собственного сервера имен. Это своего рода изящное чувство выполненного долга — знать, что вы не полагаетесь на чьи-то настройки DNS — они просто дают вам имя. Это значительно упрощает перенос домена и значительно упрощает добавление новых записей.А поскольку я сейчас нахожусь в процессе переноса всех своих доменов из GoDaddy, это упростит переход.
Поддержка | Synology Inc.
Служба ремонта Synology
Synology предоставляет гарантийное обслуживание для всего оборудования. Ремонт осуществляется специалистами Synology, и мы строго следим за каждой деталью процесса, чтобы убедиться, что ваш объект будет отремонтирован должным образом. Расширенная гарантия доступна для некоторых моделей высокого класса для продления срока ограниченной гарантии на оборудование.
Ремонтная служба
Элементы, о которых было сообщено, будут отремонтированы или отремонтированы в течение гарантийного срока в соответствии со стандартами Synology (с новыми или отремонтированными компонентами), чтобы убедиться, что указанные элементы могут работать должным образом после ремонта.
Пожалуйста, прочтите это перед тем, как обращаться в сервисный центр.
- Прочтите и примите гарантийное соглашение.
- Гарантия может различаться для разных моделей, поэтому убедитесь, что указанный товар находится в пределах гарантии.Узнать больше
- Убедитесь, что вы выполнили контрольный список и определили, что неисправность вызвана аппаратным обеспечением.
Примечание: В нормальных условиях гарантия активируется с даты, указанной в счете-фактуре, выставленном Synology или ее авторизованными дистрибьюторами и торговыми посредниками.
Порядок ремонта
- Связаться с первоначальным торговым посредником — Для получения услуг по ремонту сначала свяжитесь с офисом первоначальной закупки или местными представителями (торговыми посредниками или дистрибьюторами).
- Обратитесь в Synology — только если исходный отдел закупок по какой-либо причине больше не может предоставлять услуги по ремонту, обратитесь в Synology за дополнительной помощью.
Чтобы подать заявку на услугу ремонта от Synology, войдите в свою учетную запись Synology.
Примечание:
- Перед отправкой NAS на ремонт необходимо создать резервную копию личных данных и конфигураций. Synology и ее авторизованные партнеры не несут ответственности за сохранение вашей конфиденциальности и конфиденциальности.
- Продукт и система будут восстановлены до заводских настроек по умолчанию, и исходные данные невозможно будет восстановить. Synology не несет ответственности за потерю данных во время ремонта. Гарантия
- распространяется только на продукты Synology. Жесткие диски и любые другие совместимые устройства в комплект не входят.
- Synology оставляет за собой все права на окончательное решение, которое будет приниматься исключительно и окончательно компанией Synology.
Linux для сетевых инженеров: как настроить DNS-сервер с Dnsmasq
В двух предыдущих сообщениях блога мы говорили о DNS-кешировании Dnsmasq и настройке TFTP-сервера только для чтения.Продолжая третий пост, связанный с dnsmasq, мы поговорим о том, как настроить DNS-сервер в вашей сети.
Настройка
Буквально все, что вам нужно сделать, это установить dnsmasq на хосте:
После установки запускается процесс dnsmasq, и у вас есть DNS-сервер в вашей сети! Конечно, желательно установить статический IP-адрес на вашем новом DNS-сервере, чтобы иметь возможность использовать его с других хостов. Мой DNS-сервер работает на 172.31.0.2.
Чтобы продемонстрировать, как это улучшает время поиска, я использую dig ниже, чтобы рассчитать время поиска для bing.com.
При использовании DNS-серверов по умолчанию на этом компьютере, 8.8.8.8, для разрешения bing.com требуется около 15 мсек. Сколько бы раз я ни повторял эту команду, время разрешения примерно одинаковое.
$ dig + noall + статистика bing.com ;; Время запроса: 15 мсек. ;; СЕРВЕР: 172.31.0.154 # 53 (172.31.0.154) ;; КОГДА: Пн, 02 декабря, 13:52:16 PST 2019 ;; РАЗМЕР MSG rcvd: 69
$ dig + noall + stats bing.com ;; Время запроса: 15 мс ;; СЕРВЕР: 172.31.0.154 # 53 (172.31.0.154) ;; КОГДА: Пн, 02 декабря, 13:52:16 PST 2019 ;; MSG SIZE rcvd: 69 |
Первый раз, когда я использую свой новый DNS-сервер (172.31.0.2), это также занимает 15 мсек. При первом разрешении нового хоста dnsmasq также должен выполнить поиск с использованием другого DNS-сервера, поскольку он не хранит информацию поиска.
$ dig + noall + stats bing.com @ 172.31.0.2 ;; Время запроса: 15 мсек. ;; СЕРВЕР: 172.31.0.154 # 53 (172.31.0.154) ;; КОГДА: Пн, 02 декабря, 13:52:16 PST 2019 ;; РАЗМЕР MSG rcvd: 69
$ dig + noall + stats bing.com @ 172.31.0.2 ;; Время запроса: 15 мс ;; СЕРВЕР: 172.31.0.154 # 53 (172.31.0.154) ;; КОГДА: Пн, 02 декабря, 13:52:16 PST 2019 ;; РАЗМЕР СООБЩЕНИЯ rcvd: 69 |
Двигаясь вперед, для всех последующих поисков на bing.com время поиска составляет 0 мсек. Это потому, что теперь dnsmasq кэширует поисковую информацию на bing.com и сам возвращает ее при получении запроса:
$ dig + noall + stats bing.com @ 172.31.0.2 ;; Время запроса: 0 мсек. ;; СЕРВЕР: 172.31.0.154 # 53 (172.31.0.154) ;; КОГДА: 2 декабря, понедельник, 13:57:37 PST 2019 ;; MSG SIZE rcvd: 69
$ dig + noall + stats bing.com @ 172.31.0.2 ;; Время запроса: 0 мс ;; СЕРВЕР: 172.31.0.154 # 53 (172.31.0.154) ;; КОГДА: Пн, 02 декабря, 13:57:37 PST 2019 ;; MSG SIZE rcvd: 69 |
Вы только что сэкономили 15 мсек времени поиска!
Конфигурация
Даже если вы не трогаете все конфигурации dnsmasq, у вас будет рабочий DNS-сервер.Однако есть довольно много опций, которые вы можете использовать для точной настройки вашего DNS-сервера. Например, вы можете включить или отключить DNSSEC, отфильтровать бесполезные DNS-запросы, исходящие от Windows, или потребовать пересылки только доменных имен.
Команда dnsmasq хорошо поработала, задокументировав каждый параметр в фактическом файле конфигурации /etc/dnsmasq.conf. Итак, если вы откроете этот файл, вы должны увидеть вверху все доступные параметры с подробными комментариями. Я мог бы скопировать и вставить эти параметры сюда, но если они изменятся с более новой версией, это сделает это сообщение в блоге неточным.
В следующем сообщении блога мы поговорим о том, как настроить DHCP-сервер, который является последней функцией dnsmasq, которую мы не рассмотрели.
Service — Служба доменных имен (DNS)
Служба доменных имен(DNS) — это Интернет-служба, которая сопоставляет IP-адреса и полные доменные имена (FQDN) друг другу. Таким образом, DNS избавляет от необходимости запоминать IP-адреса. Компьютеры, на которых работает DNS, называются серверами имен . Ubuntu поставляется с BIND (Berkley Internet Naming Daemon), наиболее распространенной программой, используемой для поддержки сервера имен в Linux.
В командной строке терминала введите следующую команду для установки dns:
sudo apt установить bind9
Очень полезным пакетом для тестирования и устранения проблем с DNS является пакет dnsutils
. Очень часто эти инструменты уже установлены, но для проверки и / или установки dnsutils
введите следующее:
sudo apt установить dnsutils
Есть много способов настроить BIND9. Некоторые из наиболее распространенных конфигураций — это кэширующий сервер имен, первичный сервер и вторичный сервер.
При настройке в качестве кэширующего сервера имен BIND9 найдет ответ на запросы имен и запомнит ответ при повторном запросе домена.
В качестве основного сервера BIND9 считывает данные для зоны из файла на своем хосте и является полномочным для этой зоны.
В качестве вторичного сервера BIND9 получает данные зоны от другого сервера имен, который является полномочным для этой зоны.
Обзор
Файлы конфигурации DNS хранятся в каталоге / etc / bind
.Первичный файл конфигурации — это /etc/bind/ named.conf
, который в макете, предоставляемом пакетом, просто включает эти файлы.
-
/etc/bind/ named.conf.options
: глобальные параметры DNS -
/etc/bind/ named.conf.local
: для ваших зон -
/etc/bind/ named.conf.default-zones
: зоны по умолчанию, такие как localhost, его реверс и корневые ссылки
Корневые серверы имен раньше описывались в файле / etc / bind / db.корень
. Теперь это обеспечивается файлом /usr/share/dns/root.hints
, поставляемым с пакетом dns-root-data
, и на него есть ссылка в конфигурационном файле named.conf.default-zone
выше.
Можно настроить один и тот же сервер как кэширующий сервер имен, первичный и вторичный: все зависит от зон, которые он обслуживает. Сервер может быть начальным органом управления (SOA) для одной зоны, предоставляя вторичный сервис для другой зоны.Все это время предоставляет услуги кеширования для хостов в локальной сети.
Кэширующий сервер имен
Конфигурация по умолчанию действует как кэширующий сервер. Просто раскомментируйте и отредактируйте /etc/bind/ named.conf.options
, чтобы установить IP-адреса DNS-серверов вашего интернет-провайдера:
форвардеры {
1.2.3.4;
5.6.7.8;
};
Примечание
Замените
1.2.3.4
и5.6.7.8
на IP-адреса реальных серверов имен.
Чтобы включить новую конфигурацию, перезапустите DNS-сервер. Из командной строки терминала:
sudo systemctl перезапустить bind9.service
Информацию о тестировании кэширующего DNS-сервера см. В Dig.
Основной сервер
В этом разделе BIND9 будет настроен как основной сервер для домена example.com
. Просто замените example.com
своим FQDN (Полное доменное имя).
Файл прямой зоны
Чтобы добавить зону DNS в BIND9, превратив BIND9 в основной сервер, сначала отредактируйте / etc / bind / named.conf.local
:
зона "example.com" {
тип мастер;
файл "/etc/bind/db.example.com";
};
Примечание
Если bind будет получать автоматические обновления файла, как с DDNS, используйте
/var/lib/bind/db.example.com
, а не/etc/bind/db.example.com
как здесь, так и в скопируйте команду ниже.
Теперь используйте существующий файл зоны в качестве шаблона для создания /etc/bind/db.example.com
файл:
sudo cp /etc/bind/db.local /etc/bind/db.example.com
Отредактируйте новый файл зоны /etc/bind/db.example.com
и измените localhost.
на полное доменное имя вашего сервера, оставив дополнительный .
в конце. Измените 127.0.0.1
на IP-адрес сервера имен и root.localhost
на действительный адрес электронной почты, но с .
вместо обычного символа @
, снова оставив .
в конце. Измените комментарий, чтобы указать домен, для которого предназначен этот файл.
Создайте A-запись для базового домена, example.com
. Кроме того, создайте запись A для ns.example.com
, сервер имен в этом примере:
;
; Файл данных BIND для example.com
;
604800 долл. США
@ IN SOA example.com. root.example.com. (
2; Серийный
604800; Обновить
86400; Повторить
2419200; Срок действия
604800); Отрицательный TTL кеша
@ IN NS нс.example.com.
@ В А 192.168.1.10
@ IN AAAA :: 1
нс IN A 192.168.1.10
Вы должны увеличивать серийный номер каждый раз, когда вы вносите изменения в файл зоны. Если вы вносите несколько изменений перед перезапуском BIND9, просто увеличьте Serial один раз.
Теперь вы можете добавлять записи DNS в конец файла зоны. См. Подробности в разделе «Общие типы записей».
Примечание
Многие администраторы любят использовать последнюю дату редактирования в качестве серийного номера зоны, например 2020012100 , что составляет ггггммддсс (где ss — серийный номер)
После внесения изменений в файл зоны необходимо перезапустить BIND9, чтобы изменения вступили в силу:
sudo systemctl перезапустить bind9.служба
Файл обратной зоны
Теперь, когда зона настроена и разрешает имена в IP-адреса, необходимо добавить обратную зону , чтобы DNS мог преобразовывать адрес в имя.
Отредактируйте /etc/bind/ named.conf.local
и добавьте следующее:
зона "1.168.192.in-addr.arpa" {
тип мастер;
файл "/etc/bind/db.192";
};
Примечание
Замените
1.168.192
первыми тремя октетами той сети, которую вы используете.Также назовите файл зоны/etc/bind/db.192
соответствующим образом. Он должен соответствовать первому октету вашей сети.
Теперь создайте файл /etc/bind/db.192
:
Судо ЦП /etc/bind/db.127 /etc/bind/db.192
Затем отредактируйте /etc/bind/db.192
, изменив те же параметры, что и /etc/bind/db.example.com
:
;
; Файл обратных данных BIND для локальной сети 192.168.1.XXX
;
604800 долл. США
@ IN SOA ns.example.com. root.example.com. (
2; Серийный
604800; Обновить
86400; Повторить
2419200; Срок действия
604800); Отрицательный TTL кеша
;
@ IN NS нс.
10 В PTR ns.example.com.
Серийный номер в обратной зоне также должен увеличиваться при каждом изменении. Для каждой A запись вы настраиваете в / etc / bind / db.example.com
, то есть для другого адреса, вам нужно создать запись PTR в /etc/bind/db.192
.
После создания файла обратной зоны перезапустите BIND9:
sudo systemctl перезапустить bind9.service
Вторичный сервер
После настройки первичного сервера настоятельно рекомендуется использовать вторичный сервер , чтобы поддерживать доступность домена, если первичный станет недоступным.
Во-первых, на основном сервере необходимо разрешить передачу зоны. Добавьте параметр allow-transfer
в примеры определений прямой и обратной зон в /etc/bind/ named.conf.local
:
зона "example.com" {
тип мастер;
файл "/etc/bind/db.example.com";
разрешить передачу {192.168.1.11; };
};
зона "1.168.192.in-addr.arpa" {
тип мастер;
файл "/etc/bind/db.192";
разрешить передачу {192.168.1.11; };
};
Примечание
Заменить
192.168.1.11
с IP-адресом вашего вторичного сервера имен.
Перезапустите BIND9 на основном сервере:
sudo systemctl перезапустить bind9.service
Затем на вторичном сервере установите пакет bind9 так же, как на первичном. Затем отредактируйте /etc/bind/ named.conf.local
и добавьте следующие объявления для зон прямого и обратного направления:
зона "example.com" {
типа раб;
файл "db.example.com";
мастера {192.168.1.10; };
};
зона "1.168.192.in-addr.arpa" {
типа раб;
файл "db.192";
мастера {192.168.1.10; };
};
Примечание
Замените
192.168.1.10
IP-адресом вашего основного сервера имен.
Перезапустите BIND9 на вторичном сервере:
sudo systemctl перезапустить bind9.service
В / var / log / syslog
вы должны увидеть что-то похожее на следующее (некоторые строки были разделены, чтобы соответствовать формату этого документа):
клиент 192.168.1.10 # 39448: получено уведомление для зоны 1.168.192.in-addr.arpa
зона 1.168.192.in-addr.arpa/IN: передача началась.
перенос '100.18.172.in-addr.arpa/IN' из 192.168.1.10 # 53:
подключен с помощью 192.168.1.11 # 37531
зона 1.168.192.in-addr.arpa/IN: перенесен серийный 5
перенос '100.18.172.in-addr.arpa/IN' из 192.168.1.10 # 53:
Перенос выполнен: 1 сообщение,
6 записей, 212 байт, 0,002 сек (106000 байт / сек)
зона 1.168.192.in-addr.arpa/IN: отправка уведомлений (серийный номер 5)
клиент 192.168.1.10 # 20329: получено уведомление для зоны, пример.com '
зона example.com/IN: передача началась.
передача example.com/IN из 192.168.1.10 # 53: подключено с использованием 192.168.1.11 # 38577
зона example.com/IN: передан серийный номер 5
передача example.com/IN из 192.168.1.10 # 53: передача завершена: 1 сообщение,
8 записей, 225 байт, 0,002 сек (112500 байт / сек)
Примечание
Примечание. Зона передается только в том случае, если серийный номер на первичном сервере больше, чем на вторичном. Если вы хотите, чтобы ваш первичный DNS-сервер уведомлял другие вторичные DNS-серверы об изменениях зоны, вы можете добавить
also-notify {ipaddress; }; С
по/ etc / bind / named.conf.local
, как показано в примере ниже:
зона "example.com" {
тип мастер;
файл "/etc/bind/db.example.com";
разрешить передачу {192.168.1.11; };
также-уведомить {192.168.1.11; };
};
зона "1.168.192.in-addr.arpa" {
тип мастер;
файл "/etc/bind/db.192";
разрешить передачу {192.168.1.11; };
также-уведомить {192.168.1.11; };
};
Примечание
Каталог по умолчанию для файлов неавторизованной зоны —
/ var / cache / bind /
.Этот каталог также настроен в AppArmor, чтобы указанный демон мог писать в него. Для получения дополнительной информации о AppArmor см. Безопасность — AppArmor.
В этом разделе рассматривается диагностика проблем с конфигурациями DNS и BIND9.
Тестирование
resolv.conf
Первым шагом в тестировании BIND9 является добавление IP-адреса сервера имен в распознаватель хостов. Первичный сервер имен должен быть настроен так же, как и другой хост для двойной проверки. Обратитесь к настройке DNS-клиента для получения подробной информации о добавлении адресов серверов имен вашим сетевым клиентам.В конце концов, ваша строка сервера имен
в
/etc/resolv.conf
должна указывать на 127.0.0.53
, и у вас должен быть параметр search
для вашего домена. Примерно так:
сервер имен 127.0.0.53
поиск example.com
Чтобы проверить, какой DNS-сервер использует ваш локальный преобразователь, введите:
systemd-resolve - статус
Примечание
Вы также должны добавить IP-адрес вторичного сервера имен в конфигурацию вашего клиента на случай, если первичный станет недоступным.
раскопать
Если вы установили пакет dnsutils, вы можете протестировать свою установку с помощью утилиты поиска DNS dig:
После установки BIND9 используйте dig против интерфейса обратной связи, чтобы убедиться, что он прослушивает порт 53. Из командной строки терминала:
dig -x 127.0.0.1
В выводе команды вы должны увидеть строки, подобные следующей:
;; Время запроса: 1 мсек. ;; СЕРВЕР: 192.168.1.10 # 53 (192.168.1.10)
Если вы настроили BIND9 как Caching, сервер имен «копает» внешний домен, чтобы проверить время запроса:
копать ubuntu.com
Обратите внимание на время запроса ближе к концу вывода команды:
;; Время запроса: 49 мсек.
После второго раскопа должно быть улучшение:
;; Время запроса: 1 мсек.
пинг
Теперь, чтобы продемонстрировать, как приложения используют DNS для разрешения имени хоста, используйте утилиту ping для отправки эхо-запроса ICMP:
Пример пинга.ком
Это проверяет, может ли сервер имен разрешить имя ns.example.com
в IP-адрес. Вывод команды должен выглядеть так:
PING ns.example.com (192.168.1.10) 56 (84) байтов данных.
64 байта из 192.168.1.10: icmp_seq = 1 ttl = 64 time = 0.800 мс
64 байта из 192.168.1.10: icmp_seq = 2 ttl = 64 time = 0.813 мс
именная контрольная зона
Отличный способ проверить файлы зоны - использовать утилиту named-checkzone
, установленную с пакетом bind9
.Эта утилита позволяет вам убедиться в правильности конфигурации перед перезапуском BIND9 и внесением изменений в работу.
Чтобы протестировать наш пример файла зоны пересылки, введите в командной строке следующее:
named-checkzone example.com /etc/bind/db.example.com
Если все настроено правильно, вы должны увидеть результат, подобный:
зона example.com/IN: загружен серийный номер 6 Ok
Аналогично, чтобы проверить файл обратной зоны, введите следующее:
named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
Результат должен быть похож на:
зона 1.168.192.in-addr.arpa/IN: загружен серийный номер 3 Ok
Примечание
Серийный номер вашего файла зоны, вероятно, будет другим.
Быстрое временное ведение журнала запросов
С помощью инструмента rndc
вы можете быстро включать и выключать ведение журнала запросов без перезапуска службы или изменения файла конфигурации.
Чтобы включить ведение журнала запросов с на , запустите:
sudo rndc querylog включен
Аналогично, чтобы выключить его, запустите:
sudo rndc querylog выключен
Журналы будут отправлены в системный журнал и будут отображаться в / var / log / syslog
по умолчанию:
20 января, 19:40:50 new-n1 с именем [816]: получена команда канала управления 'querylog on'
20 января, 19:40:50 new-n1 с именем [816]: ведение журнала запросов включено
20 января, 19:40:57 new-n1 с именем [816]: client @ 0x7f48ec101480 192.168.1.10 # 36139 (ubuntu.com): запрос: ubuntu.com IN A + E (0) K (192.168.1.10)
Примечание
Количество журналов, генерируемых при включении
querylog
, может быть огромным!
Лесозаготовка
BIND9 имеет широкий спектр доступных параметров конфигурации журналов, но двумя основными из них являются канал и категория , которые настраивают, куда идут журналы и какая информация регистрируется, соответственно.
Если параметры ведения журнала не настроены, конфигурация по умолчанию:
лесозаготовка {
категория по умолчанию {default_syslog; default_debug; };
категория не соответствует {null; };
};
Вместо этого давайте настроим BIND9 для отправки отладочных сообщений , связанных с запросами DNS, в отдельный файл.
Нам нужно настроить канал , чтобы указать, в какой файл отправлять сообщения, и категорию . В этом примере категория будет регистрировать все запросы. Отредактируйте /etc/bind/ named.conf.local
и добавьте следующее:
лесозаготовка {
channel query.log {
файл "/var/log/ named/query.log";
серьезность отладки 3;
};
запросы категории {query.log; };
};
Примечание
Опция отладки может быть установлена от 1 до 3.Если уровень не указан, по умолчанию используется уровень 1.
Поскольку именованный демон запускается как привязанный пользователь , необходимо создать каталог
/ var / log / named
и изменить владельца:судо mkdir / var / log / named sudo chown bind: привязать / var / log / named
Теперь перезапустите BIND9, чтобы изменения вступили в силу:
sudo systemctl перезапустить bind9.service
Вы должны увидеть файл / var / log / named / query.log
заполните информацией о запросе. Это простой пример параметров ведения журнала BIND9. Информацию о дополнительных параметрах см. В разделе «Дополнительная информация».
Общие типы записей
В этом разделе рассматриваются некоторые из наиболее распространенных типов записей DNS.
Запись
: эта запись сопоставляет IP-адрес с именем хоста.www IN A 192.168.1.12
CNAME
запись: используется для создания псевдонима существующей записи A.Вы не можете создать записьCNAME
, указывающую на другую записьCNAME
.Интернет В CNAME www
MX
запись: используется для определения, куда следует отправлять электронную почту. Должен указывать на записьA
, а не наCNAME
.@ IN MX 1 mail.example.com. почта IN A 192.168.1.13
NS
запись: используется для определения серверов, обслуживающих копии зоны.