Настройка DHCP сервера в CISCO
В данной заметке опишу пошаговую настройку сервиса DHCP в маршрутизаторах CISCO. Нижеследующее точно будет справедливо для устройств 800, 1800, 2800 серии. Именно такие CISCO находятся в моем ведении и данная конфигурация работает со стопроцентной гарантией. Сразу сделаю оговорку, что в статье описывается только процесс настройки именно DHCP сервиса. Вопросы маршрутизации и общей безопасности затрагиваться не будут. |
В подготовительных действиях мы отключим вывод логов на консоль и настроим сетевой интерфейс FastEthernet0/1
, разбив его на два vlan’а. На интерфейсе FastEthernet0/1.1
будет настроен нативный vlan основной подсети 192.168.100.0/22, на интерфейсе FastEthernet0/1.2
будет настроен vlan тестовой подсети 172.16.0.0/24:
Router(config)#no logging console 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.252.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
Приступим к непосредственно настройке сервиса DHCP:
1. на всякий случай данной командой мы включим необходимый нам сервис;
2. обозначим пул для нашей основной сети организации;
3. команда предназначено для импорта всех настроек в базу данных сервера DHCP;
4. обозначим нашу сеть;
5. укажем доменное имя нашей компании;
6. данной командой пропишем существующие DNS сервера в нашей сети;
7. данной командой пропишем существующие WINS сервера в нашей сети;
8. обозначим шлюз по умолчанию в нашей сети (это наша CISCO);
9. следующие три строчки отдадут клиентским компьютерам необходимые нам опции:
— option 4 – укажет ip адрес Time Server в нашей сети;
— option 42 – укажет ip адрес NTP Servers в нашей сети;
— option 150 – укажет нашим CISCO телефонам расположение TFTP сервера в сети для их конфигурации;
(более подробно о возможных опциях можно почитать тут).
10. командой lease укажем срок действия выданного ip адреса;
11. и наконец – включим обновление ARP таблицы в соответствии с выданным ip адресом;
12. выйдем из настройки нашего пула для основной сети…
Router(config)#service dhcp Router(config)#ip dhcp pool company.ru Router(dhcp-config)#import all Router(dhcp-config)#network 192.168.100.0 255.255.252.0 Router(dhcp-config)#domain-name company.ru Router(dhcp-config)#dns-server 192.168.100.2 192.168.100.3 Router(dhcp-config)#netbios-name-server 192.168.100.2 192.168.100.3 Router(dhcp-config)#default-router 192.168.100.1 Router(dhcp-config)#option 4 ip 192.168.100.1 Router(dhcp-config)#option 42 ip 192.168.100.1 Router(dhcp-config)#option 150 ip 192.168.100.1 Router(dhcp-config)#lease 30 Router(dhcp-config)#update arp Router(dhcp-config)#exit
1. укажем диапазон исключаемых из выдачи ip адресов (куда обязательно должен входить ip адрес нашего шлюза). я использую данный диапазон для серверов и различных сетевых устройств;
2. списков исключения может быть несколько (данный я использую для хостов, имеющих полный доступ в интернет – 192.168.103.80/28);
3. отключим использование VRF на интерфейсе, принимающем запросы на выдачу ip адреса;
4. обозначим местоположение базы данных DHCP. в принципе ее можно хранить и на flash CISCO;
5. данная настройка позволит обновлять обе (прямую и обратную) записи A и RTP на нашем сервере DNS;
6. отключим использование BOOTP (Bootstrap Protocol — протокол начальной самозагрузки) сервиса;
7. выполним сохранение наших настроек.
Router(config)#ip dhcp excluded-address 192.168.100.0 192.168.100.40 Router(config)#ip dhcp excluded-address 192.168.103.80 192.168.103.95 Router(config)#no ip dhcp use vrf connected Router(config)#ip dhcp database tftp://192.168.100.4/Router-dhcp timeout 80 Router(config)#ip dhcp update dns both override Router(config)#no ip bootp server Router(config)#do write Building configuration... . [OK]
В сети существует следующая рекомендация: при настройке DHCP сервера на CISCO, не являющейся роутером по умолчанию в вашей сети, в настройках интерфейса в роутере по умолчанию нужно указать опцию ip helper-address IP_ADDRESS
, где IP_ADDRESS – адрес настраиваемой вами CISCO с DHCP сервером.
База данных сервиса DHCP имеет следующий вид:
*time* Feb 26 2013 08:14 AM *version* 4 !IP address Type Hardware address Lease expiration VRF 172.16.0.25 id 0128.e02c.c6d7.1e Mar 24 2013 10:21 AM 172.16.0.27 id 015c.0a5b.e2c0.83 Feb 28 2013 10:31 AM 172.16.0.72 id 01b4.f0ab.a434.f3 Mar 17 2013 07:10 PM 172.16.0.89 id 0174.de2b.6077.d5 Mar 02 2013 05:19 PM . !IP address Type Hardware address Interface-name arp 172.16.0.25 1 28e0.2cc6.d71e Fa0/1.2 arp 172.16.0.27 1 5c0a.5be2.c083 Fa0/1.2 arp 172.16.0.72 1 b4f0.aba4.34f3 Fa0/1.2 arp 172.16.0.89 1 74de.2b60.77d5 Fa0/1.2 . . !IP address Interface-name Lease expiration Server IP address Hardware address Vrf *end*
Просмотреть информацию о ней можно командой sh ip dhcp database
:
Router#sh ip dhcp database URL : tftp://192.168.100.4/Router-dhcp Read : Feb 26 2013 08:09 AM Written : Feb 26 2013 08:14 AM Status : Last write succeeded. Agent information is up-to-date. Delay : 300 seconds Timeout : 80 seconds Failures : 0 Successes: 2
Информация о работающем DHCP можно просмотреть командой sh ip dhcp server statistics
:
Router#sh ip dhcp server statistics Memory usage 75706 Address pools 40 Database agents 1 Automatic bindings 9 Manual bindings 38 Expired bindings 0 Malformed messages 0 Secure arp entries 4 Message Received BOOTREQUEST 5 DHCPDISCOVER 121 DHCPREQUEST 706 DHCPDECLINE 0 DHCPRELEASE 0 DHCPINFORM 2875 Message Sent BOOTREPLY 0 DHCPOFFER 24 DHCPACK 465 DHCPNAK 24
Аналогичным образом настроим пул для тестовой подсети 172.16.0.0/24:
Router(config)#ip dhcp pool testnet.ru Router(dhcp-config)#import all Router(dhcp-config)#network 172.16.0.0 255.255.255.0 Router(dhcp-config)#domain-name testnet.ru Router(dhcp-config)#dns-server 172.16.0.1 Router(dhcp-config)#default-router 172.16.0.1 Router(dhcp-config)#option 4 ip 172.16.0.1 Router(dhcp-config)#option 42 ip 172.16.0.1 Router(dhcp-config)#lease 30 Router(dhcp-config)#update arp Router(dhcp-config)#exit Router(config)#ip dhcp excluded-address 172.16.0.0 172.16.0.10 Router(config)#do write
Осталось показать каким образом настраивать резервирование. Просмотреть все выданные ip адреса можно командой sh ip dhcp binding
:
router#sh ip dhcp binding Bindings from all pools not associated with VRF: IP address Client-ID/ Lease expiration Type Hardware address/ User name 172.16.0.25 0128.e02c.c6d7.1e Mar 24 2013 10:21 AM Automatic 172.16.0.26 0100.18e7.8cba.35 Infinite Manual 172.16.0.27 015c.0a5b.e2c0.83 Feb 28 2013 10:31 AM Automatic 172.16.0.72 01b4.f0ab.a434.f3 Mar 17 2013 07:10 PM Automatic 172.16.0.89 0174.de2b.6077.d5 Mar 02 2013 05:19 PM Automatic 172.16.0.130 0100.1b38.41b0.e4 Infinite Manual 172.16.0.131 01c4.8508.38e2.b2 Infinite Manual 172.16.0.132 0100.24be.d798.51 Infinite Manual
Как видно, здесь показаны как автоматически, так и вручную настроенные привязки mac-адреса к ip.
Чтобы сделать привязку вручную, необходимо:
1. обозначим новый пул с произвольным именем;
2. укажем назначаемый ip адрес и маску подвести;
3. пропишем mac адрес, начиная с 01
;
4. присвоим имя для настраиваемого хоста (без доменного суффикса);
5. осуществим выход из настройки пула и сохранение наших настроек:
Router(config)#ip dhcp pool comp1 Router(dhcp-config)#host 172.16.0.36 255.255.255.0 Router(dhcp-config)#client-identifier 0144.37e6.5665.a6 Router(dhcp-config)#client-name comp1 Router(dhcp-config)#exit Router(config)#do write
Если в момент указания client-identifier
у вас выскочит ошибка вида % A binding already exists for 172.16.0.36.
, вам необходимо сперва очистить в режиме enable уже существующую привязку для этого хоста командой clear ip dhcp binding
:
Router#clear ip dhcp binding ? * Clear all automatic bindings A.B.C.D Clear a specific binding Router#clear ip dhcp binding 172.16.0.36
Вот и все. Приведу теперь листинг нашей проделанной работы:
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 ip source-route ! ip cef ip dhcp database tftp://192.168.100.4/main-router-dhcp timeout 80 no ip dhcp use vrf connected ip dhcp excluded-address 192.168.100.0 192.168.100.40 ip dhcp excluded-address 192.168.103.80 192.168.103.95 ip dhcp excluded-address 172.16.0.0 172.16.0.10 ! ip dhcp pool company.ru import all network 192.168.100.0 255.255.252.0 domain-name company.ru dns-server 192.168.100.2 192.168.100.3 netbios-name-server 192.168.100.2 192.168.100.3 default-router 192.168.100.1 option 4 ip 192.168.100.1 option 42 ip 192.168.100.1 option 150 ip 192.168.100.1 lease 30 update arp ! ip dhcp pool testnet.ru import all network 172.16.0.0 255.255.255.0 domain-name testnet.ru dns-server 172.16.0.1 default-router 172.16.0.1 option 4 ip 172.16.0.1 option 42 ip 172.16.0.1 lease 30 update arp ! ip dhcp pool comp1 host 172.16.0.26 255.255.255.0 client-identifier 0144.37e6.5665.a6 client-name comp1 ! ip dhcp update dns both override no ip bootp server 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.252.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 virtual-reassembly no cdp enable ! ip forward-protocol nd no ip http server no ip http secure-server ! control-plane ! line con 0 line aux 0 line vty 0 4 login ! scheduler allocate 20000 1000 end
> 3. команда предназначено для импорта всех настроек в базу данных сервера DHCP;
Для новичка совсем не понятно, импорт каких “всех” настроек? Мы же на следующих шагах выполняем эти настройки и до настоящего времени предполагается, что настроек еще нет…
Mc.Sim, на сайте cisco явно сказано, что означает эта опция:
import all – Imports DHCP option parameters into the DHCP portion of the router database.
Спасибо все доходчиво. Искал решение проблемы с резервированием – когда выскакивает % A binding already exists for х.х.х.х.
Небольшое замечание(хотя может вы и знали), если пытаемся резервировать какую-нибудь машину без ОС(типа принтер или самописный тонкий клиент), то необходимо использовать
Не client-identifier а hardware-address.
А не кажется ли Вам что удобнее использовать вместо
ip dhcp excluded-address
Удобней такая конструкцся
ip dhcp pool LAN network 10.10.10.96 255.255.255.224 … class DINAMIC address range 10.10.10.117 10.10.10.121
Я правда не разобрался в чём разница, но по моим ощущениям address range использовать удобней. Если не сложно, то объясните в чем разница
Спасибо)