Cisco dns server настройка

Обновлено: 04.07.2024

Конструкция ip host name1 192.168.0.11 работает подобно файлу hosts в windows.
Проверка:

DNS server для своих
Предыдущий конфиг приводит к тому, что роутер будет отвечать на все запросы DNS: как изнутри так и снаружи.
Для того, чтобы DNS сервер отвечал только на внутренние запросы у нас есть два пути:

DNS server для своих: ACL
Приведём здесь стандартный ACL, который в том числе запрещает доступ к нашему DNS через внешний интерфейс, и при этом разрешает DNS-запросы наружу:

ip access-list extended outside_acl_in
remark --- Add anti-spoofing entries. !--- Deny special-use address sources. !--- Refer to RFC 3330 for add
deny ip 127.0.0.0 0.255.255.255 any
deny ip 192.0.2.0 0.0.0.255 any
deny ip 224.0.0.0 31.255.255.255 any
deny ip host 255.255.255.255 any
remark --- The deny statement should not be configured !--- on Dynamic Host Configuration Protocol (DHCP) r
deny ip host 0.0.0.0 any
remark --- Filter RFC 1918 space.
deny ip 10.0.0.0 0.255.255.255 any
deny ip 172.16.0.0 0.15.255.255 any
deny ip 192.168.0.0 0.0.255.255 any
remark --- Explicitly permit return traffic. !--- Allow specific ICMP types.
permit icmp any any echo
permit icmp any any echo-reply
permit icmp any any unreachable
permit icmp any any time-exceeded
deny icmp any any
remark --- These are outgoing DNS queries.
permit udp any eq domain any gt 1023
remark --- Permit older DNS queries and replies to primary DNS server.
permit udp any eq domain any eq domain
remark --- Permit legitimate business traffic.
permit tcp any any established
permit udp any range 1 1023 any gt 1023
remark --- Deny all other DNS traffic.
deny udp any any eq domain
deny tcp any any eq domain
remark --- Allow IPSec VPN traffic.
permit udp any any eq isakmp
permit udp any any eq non500-isakmp
permit esp any any
permit ahp any any
permit gre any any
remark --- These are Internet-sourced connections to !--- publicly accessible servers.
permit tcp any any eq 22
remark --- Explicitly deny all other traffic.
deny ip any any
interface Port-channel1.81
ip access-group outside_acl_in in

DNS server для своих: Split DNS
В данном случае мы можем использовать функционал Split DNS:

ip domain lookup
ip domain timeout 2
ip domain name office.local
ip name-server 8.8.8.8
ip name-server 8.8.4.4
ip dns server

ip dns view no_dns_service_view
no domain lookup
no dns forwarding

ip dns view default
domain timeout 2
dns forwarder 8.8.8.8

ip dns view-list no_dns_service_list
view no_dns_service_view 1

interface Port-channel1.81
ip dns view-group no_dns_service_list

Просмотр и удаление кеша DNS (DNS cache)

Источник:
Split DNS
Cisco router в качестве DNS server
Настройка Cisco ASA в качестве пересылки DNS сервера на прошивке выше или равной 8.3
ASA DNS Server

Этот документ был переведен Cisco с помощью машинного перевода, при ограниченном участии переводчика, чтобы сделать материалы и ресурсы поддержки доступными пользователям на их родном языке. Обратите внимание: даже лучший машинный перевод не может быть настолько точным и правильным, как перевод, выполненный профессиональным переводчиком. Компания Cisco Systems, Inc. не несет ответственности за точность этих переводов и рекомендует обращаться к английской версии документа (ссылка предоставлена) для уточнения.

Содержание

Введение

Целью этого документа является сведение воедино некоторых данных об использовании DNS маршрутизаторами Cisco.

Предварительные условия

Требования

Интерфейс командной строки (CLI) Cisco IOS®

Общая модель поведения DNS

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного обеспечения и оборудования:

Маршрутизаторы Cisco серии 2500

ПО Cisco IOS 12.2(24a)

Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.

Условные обозначения

Настройка маршрутизатора на использование поиска DNS

Можно настраивать конфигурацию маршрутизатора для использования поиска DNS, если вы хотите использовать команды ping или traceroute с именем хоста, а не IP адресом. Используйте для этого следующие команды:

Примечание. Если список доменов отсутствует, используется доменное имя, заданное с помощью команды глобальной кофигурации ip domain name.

Здесь приведен пример конфигурации на маршрутизаторе, конфигурированном для основного поиска DNS:

Устранение неисправностей

Довольно редко можно увидеть одну из следующих ошибок:

Для того чтобы устранить эту проблему, выполните следующие шаги:

Убедитесь, что маршрутизатор может достичь сервера DNS. Отправьте на сервер DNS эхозапрос от маршрутизатора с помощью его IP-адреса и убедитесь, что для настройки IP-адреса сервера DNS на маршрутизаторе используется команда ip name-server.

Используйте эти шаги, чтобы проверить, перенаправляет ли маршрутизатор запросы поиска:

Задайте список контроля доступа (ACL), совпадающий на пакетах DNS:

Используйте команду debug ip packet 101.

Примечание. Убедитесь, что задан ACL. При выполнении без ACL объем выходных данных команды debug ip packet в консоли может оказаться слишком большим, что приведет к перезагрузке маршрутизатора.

Убедитесь, что на маршрутизаторе включена команда ip domain-lookup.

Веб-сервер отвечает на эхо-запросы, но HTML-страницы не отображаются

Получив доменное имя в Интернете, следует также обратиться за получением домена inaddr.arpa. Этот специальный домен иногда называют обратным доменом. Домен обратного преобразования осуществляет преобразование цифровых IP-адресов в доменные имена. Если интернет-провайдер предоставляет вам сервер имен или назначил вам адрес из блока своих адресов, не требуется самостоятельно обращаться за получением домена in-addr.arpa. Консультация Интернет-провайдера.

Программа dig дает более детальную информацию о DNS пакетах:

Маршрутизатор запрашивает несколько серверов преобразования имен

В зависимости от уровня сетевой активности маршрутизатор может запросить несколько серверов имен, перечисленных в конфигурации. Ниже представлен пример:

Это поведение весьма вероятно и имеет место, когда маршрутизатору требуется создать запись протокола разрешения адресов (ARP) для сервера DNS. По умолчанию маршрутизатор поддерживает ARP-запись в течение четырех часов. В периоды низкой активности маршрутизатору требуется дополнить ARP-запись и затем выполнить запрос DNS. Если ARP-запись для сервера DNS отсутствует в ARP-таблице маршрутизатора, при передаче только одного запроса DNS произойдет сбой. Поэтому отправляются два запроса: один для получения ARP-записи, если необходимо, а второй — для отправки запроса DNS. Такое поведение является обычным для приложений TCP/IP.

DNS (Domain Name Service) - Служба доменных имен используется для преобразования доменных имен в IP адреса и наоборот.

Где это используется?

DNS запрос

Сервер вернет компьютеру запрошенный адрес:

DNS ответ

Схема работы довольно проста, однако здесь имеются некоторые особенности, которые мы рассмотрим ниже.

Служба доменных имен имеет иерархическую структуру и подразделяется на домены первого, второго, третьего и др. уровней.

Выглядит иерархия DNS так:

Иерархия доменных имен

Для преобразования доменных имен в адреса используются специальные серверы DNS. Все серверы объединяются в иерархическую сеть. То есть имеются главные серверы (master) и ведомые (slave).

Для чего это нужно?

Все DNS серверы делятся на рекурсивные и нерекурсивные.

В чем же их отличия?

Выше мы описали принцип работы иерархической структуры сети DNS серверов. Если компьютер отправит запрос на сервер и сервер не имеет информацию по данному запросу, то сервер в качестве ответа вернет компьютеру (хосту) IP адрес другого сервера, который возможно имеет некую информацию. Компьютеру придется делать запрос на другой сервер и так до тех пор, пока не получит требуемую информацию.. Причем все запросы осуществляет сам компьютер. То есть DNS сервер получает запрос и сразу же отвечает и его не волнует, что компьютер (хост) получил неполную информацию. Такой сервер называется нерекурсивным.

На рисунке представлена схема работы такой сервера:

Работа нерекурсивного DNS

Теперь рассмотрим другую ситуацию. Компьютер отправил запрос на ближайший DNS сервер. Этот сервер сам опросит при необходимости нужные сервера и компьютеру вернет полную информацию. Компьютеру остается только ждать. Такой сервер называется рекурсивным:

Работа рекурсивного DNS

Подобные серверы установлены в локальных сетях и у некоторых провайдерах. Все остальные серверы нерекурсивные.

Все локальные DNS серверы являются кэширующими, то есть запоминают все запросы в своей памяти на определенное время. Делается этого для снижения трафика на общедоступные серверы доменных имен.

Теперь рассмотрим какие записи содержит сам сервер. Для этого выполним следующую команду

Типы записей DNS

Данная команда работает на Linux и позволяет получить информацию о DNS записях.

В нашем случае имеем следующее:

NS запись - IP адрес авторитативного DNS сервера, который отвечает за данный домен.

Вместо команды dig можно воспользоваться командой попроще:

Типы записей DNS

Вывод команды будет более понятным:

Настройка кэширующего сервера DNS

Если локальная сеть небольшая, то обычно в качестве DNS сервера выступает сам маршрутизатор. Попробуем настроить такой маршрутизатор.

Включаем режим сервера

Включаем трансляцию имен в IP адреса

Далее добавляем DNS сервера, к которым будет обращаться наш маршрутизатор. Всего можно настроить до 6 серверов

Теперь на компьютерах этой сети достаточно в качестве DNS сервера указать адрес маршрутизатора. Это можно сделать с помощью DHCP.

А не проще ли на компьютерах сразу указать адрес DNS сервера одного из вышестоящий уровней?

Если локальная сеть довольно большая, то устанавливают отдельный DNS сервер, который также содержит записи о внутренних хостах и ресурсах, так как в локальной сети могут быть свои серверы.

Для настройки локального DNS сервера в маленькой сети достаточно выполнить команду

Теперь можно обращаться к хосту по его имени и не нужно запоминать адрес.

Система распределения доменных имен DNS и протокол динамической настройки узла DHCP являются очень важными для сетей, особенно для сети Интернет, так как позволяют настроить доступ к интернету, сконфигурировать браузер и т.д. На предыдущих уроках мы уже рассматривали настройку DHCP-сервера, так что не будем терять время и приступим к уроку.
Сегодня мы рассмотрим три темы: работу DNS, настройку DNS и проблемы, которые могут встретиться при использовании этой системы, а также настройку и проблемы DHCP. Перед тем, как двинуться дальше, мы должны рассмотреть несколько вещей. Они не являются частью тематики курса CCNA, но нужны для понимания базовых понятий того, как осуществляется хостинг нового веб-сайта. Если вас интересует создание сайтов, вы хотите узнать о HTML, CSS, PHP, Java-script, хочу сказать, что я собираюсь сделать новую серию видеоуроков о том, как создавать сайты. Однако учитывая, что я занимаюсь этим в свободное от основной работы время, эта серия выйдет ещё не скоро. Пока же я хочу рассказать о некоторых основах сайтостроительства, касающихся не столько разработки сайтов, сколько хостинга и сетевого обеспечения работы веб-страниц.





Существует два типа DNS-серверов: приватный, или внутренний, и публичный, или внешний. В первом случае у нас может быть сеть из 100 компьютеров, которые нуждаются в локальном доменном имени. Например, для использования файлового сервера компании, который расположен на хосте с неким IP-адресом, вам не нужно будет набирать и помнить этот адрес, если вы будете пользоваться простым доменным именем fileserver. При этом администратор сети может поменять IP-адрес файлового сервера в любое время, и это никак не отразится на пользователях локальной сети.




Существует очень популярный публичный резольвер, которым пользуются все – это Google DNS, который имеет IP-адрес 8.8.8.8. Google имеет множество резольверов, которые хранят в своих кешах огромное количество адресов самых разных ресурсов, поэтому обращение к Google и получение ответа происходит намного быстрее. А теперь давайте перейдем к рассмотрению DHCP.


Если вы помните, мы уже говорили об этом протоколе в одном из первых видеоуроков. DHCP организует процесс получения устройством IP-адреса и других параметров, которые нужны для работы в сети по протоколам TCP/IP. Устройства Cisco используют сервер DHCP, параметры которого настраиваются в режиме глобальной конфигурации роутера. Для этого используется команда ip dhcp pool <имя>, с помощью которой на роутере настраивается DHCP-пул, затем команда network <сеть> <маска подсети>, указывающая, для какой именно подсети он настраивается. В качестве идентификатора сети используется IP-адрес сети /24 и маска подсети 255.255.255.0. Слеш 24 указывает на то, что в сети может быть 254 возможных адресов, приписанные к данному DHCP-пулу.

Далее необходимо указать default router, который представляет собой IP-адрес шлюза по умолчанию, и указать сам DNS –сервер, обозначив его IP-адрес. Например, если в качестве DNS-сервера указать адрес 8.8.8.8, то DHCP сообщит этот адрес всем клиентам пула.

Предположим, в вашей сети 192.168.1.0 имеется DHSP-сервер, файловый сервер и веб-сервер. Тогда эти устройства будут иметь последний октет IP-адреса соответственно .1, .2 и .3. Допустим, у вас появился новый клиент, который обращается к DHCP-серверу с запросом на получение IP-адреса. При этом сервер не должен присвоить ему адреса .2 и .3, потому что они уже заняты другими устройствами. В данном случае нужен запрет на те адреса, которые нельзя присваивать новым устройствам, входящим в сеть.


Приведу пример, как можно реализовать данный запрет. В этом случае задается диапазон IP-адресов, которые DHCP-сервер не должен присваивать клиентам. Я покажу вам этот процесс в программе Packet Tracer. Вы видите топологию сети, в которой первый роутер играет роль DHCP-сервера.


Таким образом, нам нужен механизм, позволяющий создавать несколько пулов для работы с устройствами, расположенными в разных подсетях. Для организации работы DHCP-сервера с несколькими подсетями нужно зайти в настройки роутера и присвоить его интерфейсам IP-адреса, которые я обозначил на схеме.

Сначала я вхожу в глобальный режим настроек и ввожу команду hostname DHCP_server, после чего присваиваю интерфейсу f0/0 IP-адрес командой ip address 192.168.1.1 255.255.255.0 и добавляю команду no shutdown. Интерфейсу f0/1 присваивается адрес 192.168.2.1.

Теперь создадим пул IP-адресов. Для этого используется команда ip dhcp pool, в которой нужно указать название пула, чтобы затем перейти в режим подкоманд созданного пула, указать диапазон свободных IP-адресов пула и пассивный сервер DHCP-relay.

Итак, я создаю пул под названием NET1 с помощью команды ip dhcp pool NET1, нажимаю «Ввод» и перехожу к подкомандам. Система выдает подсказку, какие параметры можно настроить.


Можно указать роутер по умолчанию default-router, имя DNS-сервера dns-server, команда exit позволяет выйти из настроек DHCP-пула, параметр network позволяет указать номер сети и маску, команда no отменяет все изменения и сбрасывает к настройкам по умолчанию, а option позволяет указать функции Raw DHCP.

Начнем с того, что укажем роутер по умолчанию, то есть укажем IP-адрес 192.168.1.1. Это означает, что если компьютер PC0 или PC1 захочет получить IP-адрес, он должен будет обратиться к шлюзу, который имеет этот адрес. Этот параметр вводится командой default-router 192.168.1.1. Далее нужно указать, для какой сети настроен данный пул. Для этого используется команда network 192.168.1.0 255.255.255.0.

Теперь нужно указать DNS-сервер, который на нашей схеме имеет IP-адрес 192.168.1.2. Для этого я ввожу команду dns-server 192.168.1.2 без указания маски подсети.

Закончив настройку DHCP-сервера, перейдем к настройке DNS-сервера. Для этого я щелкаю по иконке этого устройства и захожу на вкладку IP configuration. В данном случае используется статический IP-адрес 192.168.1.2, адрес шлюза по умолчанию 192.168.1.1, а в качестве DNS-сервера устройство указывает само себя, то есть IP-адрес 192.168.1.2.


Теперь можно перейти к настройкам веб-сервера. Я точно также захожу в настройки IP и ввожу нужные параметры.



Теперь я перейду к компьютеру PC0 и настрою DHCP. Для этого я отправлю запрос, и как видите, DHCP тут же автоматически ответит компьютеру, заполнив строки информацией. Таким образом PC0 получит свой IP-адрес 192.168.1.4


Данный адрес с последним октетом .4 был автоматически сконфигурирован с учетом того, что в сети уже присутствуют устройства с адресами .1, .2 и .3. Однако если вы вручную присвоите IP-адрес какому-либо устройству в этой сети, может возникнуть IP-конфликт, потому что DHCP-сервер не будет знать, что вы уже присвоили компьютеру, например, адрес 192.168.1.3, и может автоматически присвоить этот же адрес другому устройству.


Перейдем к компьютеру PC1 и проделаем то же самое. Мы видим, что сервер присвоил ему следующий доступный IP-адрес 192.168.1.12, шлюз по умолчанию имеет адрес 192.168.1.1, а DNS-сервер — 192.168.1.2.


Я проделаю то же самое с PC1, и как видите, нажатие на кнопку Go не приводит ни к какому результату. Позвольте мне снова подключить DNS-сервер к свитчу и еще раз запустить браузер компьютера PC0. Технически, если информация о сайте сохранилась в кеше браузера, вам не нужна связь с DNS-сервером, чтобы получить доступ к этому сайту, потому что компьютер автоматически обратится напрямую к веб-серверу.

Обратимся снова к нашему DHCP-серверу и организуем пул для второй сети, в которой находится компьютер PC2, я назову эту сеть NET2. Для этого я последовательно ввожу команды ip dhcp pool NET2 и network 192.168.3.0 255.255.255.0. Затем я ввожу IP-адрес DNS-сервера, общий для обеих сетей — 192.168.1.2 и назначаю роутер по умолчанию. Поскольку дело касается сети 3.0, в качестве default router я указываю второй роутер Router1 с IP-адресом 192.168.3.2.


В данном случае APIPA назначила компьютеру случайный IP-адрес 169.254.133.157. Это нормально и мы знаем, почему так произошло. Однако нам нужно, чтобы Router1, получив запрос на IP-адрес, отправил его по сети дальше к DHCP-серверу, то есть нам нужно, чтобы этот роутер выполнял роль пассивного сервера DHCP-relay. Перед тем, как заняться его настройкой, вернемся к первому роутеру DHCP-server и включим функцию RIP-маршрутизации.


Затем перейдем ко второму роутеру Router1 и выполним аналогичные настройки, чтобы оба эти устройства могли связываться по протоколу RIP.


Теперь нужно настроить внешний интерфейс f0/1, указав для него вспомогательный адрес helper-address. Команда helper-address служит для пересылки широковещательного DHCP-запроса на указанный адрес, в нашем случае это 192.168.2.1.


Теперь любой DHCP-запрос компьютера PC2 будет автоматически пересылаться DHCP-серверу. Попробуем еще раз включить DHCP, и непонятно почему, но наш компьютер снова использует APIPA – запрос с DHCP-серверу остался без ответа.

Попробуем разобраться с проблемой, для этого я захожу в настройки Router1 и ввожу команду ping 192.168.2.1. Пинг не проходит, поэтому я по-быстрому проверю интерфейсы DHCP-сервера, используя команду show ip int brief, и обнаруживаю ошибку. Да, я бы не сдал экзамен с такими знаниями! Поэтому, ребята, нужно практиковаться, чтобы не делать подобных ошибок. Сейчас я её исправлю.

Я забыл использовать в настройках DHCP-сервера важную команду, и сейчас введу её для интерфейса f0/1: ip add 192.168.2.1 255.255.255.0. Это просто досадная ошибка, которую я исправил. Теперь снова заходим в настройки PC2 и включаем DHCP. Что, опять? Запрос снова не проходит!

Я снова проверяю настройки Router1. C таблицей маршрутизации все в порядке, все нужные записи присутствуют, в чем же проблема? Вспомогательный адрес тоже назначен правильно. Ну ничего, в конце концов я найду причину.

Я снова возвращаюсь к настройкам DHCP-сервера и ввожу команду show ip route. Выясняется, что маршрута не существует, потому что я не указал версию протокола. Я исправляю эту ошибку, и теперь все должно заработать.

Я возвращаюсь к PC2 и снова включаю DHCP – теперь все нормально, компьютер получает IP-адрес 192.168.3.6, присвоенный ему DHCP-сервером. Из-за своей невнимательности я допустил ошибку и потратил время на её поиск, так что прошу меня простить.


Вот таким образом работает пассивный сервер DHCP-relay, который использует helper-address. Как видите, все очень просто и понимание изложенной темы не должно представлять для вас особых сложностей. Владение основами DNS и DHCP очень важно для подключения ваших компьютеров к сети.

Как я уже говорил, мы приближаемся к концу тематики, необходимой для сдачи первого экзамена CCNA, нам осталось еще несколько важных видеоуроков, в частности, ASL, NAT и PAT. Прошу не беспокоиться по поводу несовместимости видеоуроков старой и новой версий CCNA – я своевременно добавляю новые серии и удаляю не нужные, так что вы будете изучать только актуальные темы.

Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Читайте также: