Настройка 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:
- на всякий случай данной командой мы включим необходимый нам сервис;
- обозначим пул для нашей основной сети организации;
- команда предназначено для импорта всех настроек в базу данных сервера DHCP;
- обозначим нашу сеть;
- укажем доменное имя нашей компании;
- данной командой пропишем существующие DNS сервера в нашей сети;
- данной командой пропишем существующие WINS сервера в нашей сети;
- обозначим шлюз по умолчанию в нашей сети (это наша CISCO);
- следующие три строчки отдадут клиентским компьютерам необходимые нам опции:
— option 4 — укажет ip адрес Time Server в нашей сети;
— option 42 — укажет ip адрес NTP Servers в нашей сети;
— option 150 — укажет нашим CISCO телефонам расположение TFTP сервера в сети для их конфигурации;
(более подробно о возможных опциях можно почитать тут). - командой lease укажем срок действия выданного ip адреса;
- и наконец — включим обновление ARP таблицы в соответствии с выданным ip адресом;
- выйдем из настройки нашего пула для основной сети…
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
- укажем диапазон исключаемых из выдачи ip адресов (куда обязательно должен входить ip адрес нашего шлюза). я использую данный диапазон для серверов и различных сетевых устройств;
- списков исключения может быть несколько (данный я использую для хостов, имеющих полный доступ в интернет — 192.168.103.80/28);
- отключим использование VRF на интерфейсе, принимающем запросы на выдачу ip адреса;
- обозначим местоположение базы данных DHCP. в принципе ее можно хранить и на flash CISCO;
- данная настройка позволит обновлять обе (прямую и обратную) записи A и RTP на нашем сервере DNS;
- отключим использование BOOTP (Bootstrap Protocol — протокол начальной самозагрузки) сервиса;
- выполним сохранение наших настроек.
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.
Чтобы сделать привязку вручную, необходимо:
- обозначим новый пул с произвольным именем;
- укажем назначаемый ip адрес и маску подвести;
- пропишем mac адрес, начиная с 01;
- присвоим имя для настраиваемого хоста (без доменного суффикса);
- осуществим выход из настройки пула и сохранение наших настроек:
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