Cisco router в качестве DNS server

Cisco router можно настроить в качестве кеширующего DNS сервера. Это удобно в небольших офисах, где нет серверов Windows и AD.
Общий вид команд выглядит следующим образом:

ip domain lookup

ip domain timeout 2

ip domain name office.local

ip host name1 192.168.0.11

ip host name2 192.168.0.12

ip name-server 192.168.2.3

ip name-server 178.23.144.5

ip name-server 8.8.8.8

ip name-server 8.8.4.4

ip dns server

ip domain lookup – включает трансляцию имён в ip адреса основанную на dns. Этот параметр включен по умолчанию. Часто его выключают чтобы маршрутизатор не “зависал” при вводе ошибочной команды, но для нашей цели его необходимо включить.
ip name-server – этот параметр задаёт адрес одного или нескольких серверов имён (dns). Приоритет определяется сверху вниз.
ip domain name – задаёт имя домена по умолчанию для пользователей Cisco IOS software для разрешения “неопознаных” доменных имён (имена без суффикса.
ip dns server – включаем собственно кеширующий DNS сервер на циске

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

Проверка:
show ip dns view

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

Источник.