Настройка DNS сервера в CISCO
Приведу пример простейшей настройки сервера DNS на оборудовании Cisco 2811 с активным IOS c2800nm-adventerprisek9-m Version 12.4(24)T7. Задача заключается в следующем: настроить dns для обработки соответствующих запросов в гостевой подсети 172.16.0.0/24 и перенаправить все запросы с подсети 192.168.100.0/24 на внутренний dns организации. Подсети находятся в разных vlan’ах. В примере не настраивается публичный dns сервер. |
Все настройки, приведенные ниже, будут касаться исключительно dns-сервера. Разграничение доступа и безопасность в данной статье не рассматривается. Сперва войдем в cisco и настроим ее внутренний сетевой интерфейс. Попутно отключим преобразование сетевых имен в адреса (чтобы cisco не пыталась каждый раз резолвить неправильно набранную команду); глобально запретим использование протокола CDP (Cisco Discovery Protocol), т.к. подразумевается, что наш маршрутизатор – “пограничный” в сети; так же запретим маршрутизацию от источника:
Router>enable Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#no ip domain-lookup Router(config)#no cdp run Router(config)#no ip source-route
Произведем настройку нашего внутреннего сетевого интерфейса. Пусть это будет FastEthernet0/1. Обозначим два vlan’а с ip из наших внутренних подсетей 192.168.100.0/24 (vlan 1 – нативный) и 172.16.0.0/24 (vlan 172 – гостевой) соответственно:
Router(config)#interface FastEthernet0/1.1 Router(config-subif)#description LOCALNET Router(config-subif)#encapsulation dot1Q 1 native Router(config-subif)#ip address 192.168.100.1 255.255.255.0 Router(config-subif)#ip virtual-reassembly Router(config-subif)#no cdp enable Router(config-subif)#exit Router(config)#interface FastEthernet0/1.2 Router(config-subif)#description TESTNET Router(config-subif)#encapsulation dot1Q 172 Router(config-subif)#ip address 172.16.0.1 255.255.255.0 Router(config-subif)#ip virtual-reassembly Router(config-subif)#no cdp enable Router(config-subif)#exit Router(config)#interface FastEthernet0/1 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#
Теперь начнем настраивать непосредственно сам сервер: включаем обычный кеширующий DNS; обозначаем view по-умолчанию, который будет обслуживать подсеть 192.168.100.0/24 (доменная сеть с собственными dns-серверами) на интерфейсе FastEthernet0/1.1; отключаем dns forwarding:
Router(config)#ip dns server Router(config)#ip dns view default Router(cfg-dns-view)#domain name company.ru Router(cfg-dns-view)#domain name-server 192.168.100.2 Router(cfg-dns-view)#domain name-server 192.168.100.3 Router(cfg-dns-view)#domain name-server interface FastEthernet0/1.1 Router(cfg-dns-view)#no dns forwarding Router(cfg-dns-view)#exit
Настроим view для гостевой подсети 172.16.0.0/24 (назовем его TESTNET.RU): включаем логирование; указываем доменное имя; dns сервер (это мы); указываем, на каком интерфейсе обрабатывать запросы для этого view; укажем вспомогательный адрес внешнего dns сервера (8.8.8.8 – google-public-dns-a.google.com):
Router(config)#ip dns view TESTNET.RU Router(cfg-dns-view)#logging Router(cfg-dns-view)#domain name testnet.ru Router(cfg-dns-view)#domain name-server 172.16.0.1 Router(cfg-dns-view)#domain resolver source-interface FastEthernet0/1.2 Router(cfg-dns-view)#domain name-server interface FastEthernet0/1.2 Router(cfg-dns-view)#dns forwarder 8.8.8.8 Router(cfg-dns-view)#dns forwarding source-interface FastEthernet0/1.2 Router(cfg-dns-view)#exit
Нам осталось задать view-list для гостевой подсети TESTNET.RU. Дадим ему соответствующее имя testnet, присвоим этому view порядковый номер:
Router(config)#ip dns view-list testnet Router(cfg-dns-view-list)#view TESTNET.RU 1 Router(cfg-dns-view-list-member)#exit Router(cfg-dns-view-list)#exit
Теперь настроим, кто имеет право доступа к нашему dns серверу и на каком сетевом интерфейсе:
Router(config)#ip dns name-list 1 permit .*\.TESTNET\.RU Router(config)#interface FastEthernet0/1.2 Router(config-subif)#ip dns view-group testnet Router(config-subif)#exit Router(config)#do write Building configuration... [OK] Router(config)#
Вот и все… Проверить работу нашего dns сервера можно следующими командами:
- показать правила доступа к name-list:
Router#sh ip dns name-list ip dns name-list 1 permit .*\.TESTNET\.RU
- показать настроенные view (привожу данные с боевого маршрутизатора):
Router#sh ip dns view DNS View TESTNET.RU parameters: Logging is on (view used 232062 times) DNS Resolver settings: Domain lookup is enabled Default domain name: testnet.ru Domain search list: Lookup timeout: 3 seconds Lookup retries: 2 Domain name-servers: 172.16.0.1 Resolver source interface: FastEthernet0/1.2 DNS Server settings: Forwarding of queries is enabled Forwarder timeout: 3 seconds Forwarder retries: 2 Forwarder addresses: 8.8.8.8 Forwarder source interface: FastEthernet0/1.2 DNS View default parameters: Logging is off DNS Resolver settings: Domain lookup is disabled Default domain name: company.ru Domain search list: Lookup timeout: 3 seconds Lookup retries: 2 Domain name-servers: 192.168.100.2 192.168.100.3 DNS Server settings: Forwarding of queries is disabled Forwarder timeout: 3 seconds Forwarder retries: 2 Forwarder addresses:
- показать настроенные view-list:
Router#sh ip dns view-list View-list testnet: View TESTNET.RU: Evaluation order: 1
- показать статистику использования нашего dns-сервера (привожу данные с боевого маршрутизатора):
main-router#sh ip dns statistics DNS requests received = 446927 ( 446922 + 5 ) DNS requests dropped = 0 ( 0 + 0 ) DNS responses replied = 18270 ( 18265 + 5 ) Forwarder queue statistics: Current size = 0 Maximum size = 29 Drops = 0
Ну, и напоследок – листинг проделанной нами работы:
Router#sh run Building configuration... Current configuration : 1721 bytes ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname Router ! boot-start-marker boot-end-marker ! logging message-counter syslog no logging console ! no aaa new-model ! dot11 syslog no ip source-route ! ip cef ! no ip domain lookup no ipv6 cef ! multilink bundle-name authenticated ! voice-card 0 ! archive log config hidekeys ! interface FastEthernet0/0 no ip address shutdown duplex auto speed auto ! interface FastEthernet0/1 no ip address duplex auto speed auto ! interface FastEthernet0/1.1 description LOCALNET encapsulation dot1Q 1 native ip address 192.168.100.1 255.255.255.0 ip virtual-reassembly no cdp enable ! interface FastEthernet0/1.2 description TESTNET encapsulation dot1Q 172 ip address 172.16.0.1 255.255.255.0 ip dns view-group testnet ip virtual-reassembly no cdp enable ! ip forward-protocol nd no ip http server no ip http secure-server ! ip dns view TESTNET.RU logging domain name testnet.ru domain name-server 172.16.0.1 domain resolver source-interface FastEthernet0/1.2 domain name-server interface FastEthernet0/1.2 dns forwarder 8.8.8.8 dns forwarding source-interface FastEthernet0/1.2 ip dns view default domain name company.ru domain name-server 192.168.100.2 domain name-server 192.168.100.3 domain name-server interface FastEthernet0/1.1 no dns forwarding ip dns view-list testnet view TESTNET.RU 1 ip dns name-list 1 permit .*\.TESTNET\.RU ip dns server ! no cdp run ! control-plane ! line con 0 line aux 0 line vty 0 4 login ! scheduler allocate 20000 1000 end Router#
Для тех, кто думает, что dns сервер на cisco требует много ресурсов – данные с Cisco 851, c850-advsecurityk9-m, Version 12.4(15)T17:
cisco-hren#sh proc cpu sort CPU utilization for five seconds: 8%/4%; one minute: 7%; five minutes: 6% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 36 17758272 11593651 1531 1.14% 0.85% 0.71% 0 COLLECT STAT COU 164 10366698 4254215 2436 0.98% 0.68% 0.57% 0 DNS Server 166 4744822 1863907 2545 0.65% 0.33% 0.25% 0 DNS Server Input 4 16165356 904402 17874 0.65% 0.69% 0.64% 0 Check heaps 68 19303331 20922608 922 0.40% 0.51% 0.47% 0 IP Input 65 264 134 1970 0.16% 0.12% 0.06% 2 SSH Process 150 8 8 1000 0.08% 0.00% 0.00% 0 DNS Resolver
cisco-hren#sh ip dns statistics DNS requests received = 2199209 ( 2199205 + 4 ) DNS requests dropped = 0 ( 0 + 0 ) DNS responses replied = 302911 ( 302907 + 4 ) Forwarder queue statistics: Current size = 0 Maximum size = 120 Drops = 0 Director queue statistics: Current size = 0 Maximum size = 0 Drops = 0
cisco-hren#sh ip dns view DNS View hrenovskaya.ru parameters: Logging is on (view used 1249505 times) DNS Resolver settings: Domain lookup is enabled Default domain name: hrenovskaya.ru Domain search list: Lookup timeout: 3 seconds Lookup retries: 2 Domain name-servers: 192.168.6.1 Resolver source interface: Vlan1 DNS Server settings: Forwarding of queries is enabled Forwarder timeout: 3 seconds Forwarder retries: 2 Forwarder addresses: 80.82.33.65 80.82.32.9 Forwarder source interface: Vlan1 DNS View default parameters: Logging is off DNS Resolver settings: Domain lookup is disabled Default domain name: hrenovskaya.ru Domain search list: Lookup timeout: 3 seconds Lookup retries: 2 Domain name-servers: 80.82.33.65 80.82.32.9 192.168.6.1 DNS Server settings: Forwarding of queries is disabled Forwarder timeout: 3 seconds Forwarder retries: 2 Forwarder addresses: