Разлика между версии на „Cisco IOS DHCP сървър“
(→Statefull IPv6 DHCP сървър) |
|||
(13 intermediate revisions by the same user not shown) | |||
Ред 1: | Ред 1: | ||
[[Category:Cisco]] | [[Category:Cisco]] | ||
+ | =Примерна топология (IPv4)= | ||
+ | |||
+ | http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/15-mt/dhcp-15-mt-book/config-dhcp-server.html | ||
+ | |||
Конфигуриране на DHCP сървър с Cisco IOS е лесна задача, която се свежда до: | Конфигуриране на DHCP сървър с Cisco IOS е лесна задача, която се свежда до: | ||
#Създаване на '''ip dhcp pool''' | #Създаване на '''ip dhcp pool''' | ||
Ред 5: | Ред 9: | ||
#Изключване на адреси чрез командата '''ip dhcp excluded-address''' | #Изключване на адреси чрез командата '''ip dhcp excluded-address''' | ||
− | |||
[[Файл:DHCP_IPv4_Topology.png]] | [[Файл:DHCP_IPv4_Topology.png]] | ||
Ред 13: | Ред 16: | ||
Връзката между R1 и S1 е от тип "trunk", с "native VLAN" 99. | Връзката между R1 и S1 е от тип "trunk", с "native VLAN" 99. | ||
+ | |||
+ | ==DHCP сървър за мрежа 10.0.0.0/8== | ||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | R1> | ||
+ | R1>enable | ||
+ | R1#configure terminal | ||
+ | Enter configuration commands, one per line. End with CNTL/Z. | ||
+ | R1(config)#ip dhcp pool LAN10 | ||
+ | R1(dhcp-config)#network 10.0.0.0 255.0.0.0 | ||
+ | R1(dhcp-config)#default-router 10.0.0.1 | ||
+ | R1(dhcp-config)#dns-server 8.8.8.8 | ||
+ | R1(dhcp-config)#exit | ||
+ | R1(config)#ip dhcp excluded-address 10.0.0.1 | ||
+ | R1(config)#end | ||
+ | R1# | ||
+ | </pre> | ||
+ | |||
+ | Командата '''ip dhcp pool''' създава т.нар "DHCP pool", който трябва да има уникално име (добрата практика е да е с главни букви) и в който се описват отделните DHCP параметри. | ||
+ | |||
+ | '''network''' дефинира мрежата (адресите), които ще се раздават от DHCP сървъра. За да се опише само част от цялата IPv4 мрежа е необходимо да се пресметне съответната маска. | ||
+ | |||
+ | '''defaul-router''' задава шлюза, който ще се изпраща на DHCP клиентите. | ||
+ | |||
+ | '''dns-server''' дефинира DNS сървъра, който ще бъде изпратен към конфигурацията на DHCP клиента. | ||
+ | |||
+ | Преди IOS DHCP сървъра да предостави конфигурация на клиента изпраща два пъти ICMP Echo-Request към IP адресът, който ще бъде изпратен. Ако не се получи отговор ICMP Echo-Reply адресът се използва. Въпреки тази проверка е възможно да се получи дублиране на адреси. Също така при зададената в примера мрежа 10.0.0.0/8 първият предложен адрес ще бъде 10.0.0.1, който се използва от R1. За да се посочи, кои адреси да не бъдат използвани от DHCP сървъра се използва командата ''' ip dhcp excluded-address [начален адрес] [краен адрес]. | ||
+ | |||
+ | '''Важно е да се отбележи, че не се налага да се посочва на кой интерфейс, кой "DHCP pool" да се използва.''' | ||
+ | |||
+ | Проверката за използваните DHCP адреси от отделните "DHCP pool" може да се направи с командата '''show ip dhcp binfding'''. | ||
+ | |||
+ | |||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | R1#sh ip dhcp binding | ||
+ | IP address Client-ID/ Lease expiration Type | ||
+ | Hardware address | ||
+ | 10.0.0.2 0001.C758.CD1A -- Automatic | ||
+ | R1# | ||
+ | </pre> | ||
+ | |||
+ | ==DHCP сървър за VLAN1 и VLAN2== | ||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | R1> | ||
+ | R1>enable | ||
+ | R1#configure terminal | ||
+ | Enter configuration commands, one per line. End with CNTL/Z. | ||
+ | |||
+ | R1(config)#ip dhcp pool R1-VLAN1 | ||
+ | R1(dhcp-config)#network 172.16.1.0 255.255.255.0 | ||
+ | R1(dhcp-config)#default-router 172.16.1.1 | ||
+ | R1(dhcp-config)#dns-server 8.8.8.8 | ||
+ | R1(dhcp-config)#exit | ||
+ | |||
+ | R1(config)#ip dhcp pool R1-VLAN2 | ||
+ | R1(dhcp-config)#network 172.16.2.0 255.255.255.0 | ||
+ | R1(dhcp-config)#default-router 172.16.2.1 | ||
+ | R1(dhcp-config)#dns-server 8.8.8.8 | ||
+ | R1(dhcp-config)#exit | ||
+ | |||
+ | R1(config)#ip dhcp excluded-address 172.16.1.1 | ||
+ | R1(config)#ip dhcp excluded-address 172.16.2.1 | ||
+ | R1(config)#end | ||
+ | R1# | ||
+ | </pre> | ||
+ | =Примерна топология (IPv6)= | ||
+ | [[Файл:DHCP_IPv6_Topology.png]] | ||
+ | ==Stateless IPv6 DHCP сървър== | ||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | R1> | ||
+ | R1>enable | ||
+ | R1#configure terminal | ||
+ | Enter configuration commands, one per line. End with CNTL/Z. | ||
+ | R1(config)#ipv6 unicast-routing | ||
+ | |||
+ | R1(config)#ipv6 dhcp pool LAN1_IPV6 | ||
+ | R1(config-dhcpv6)#dns-server 2001::2 | ||
+ | R1(config-dhcpv6)#domain-name badkict.org | ||
+ | R1(config-dhcpv6)#exit | ||
+ | |||
+ | R1(config)# | ||
+ | R1(config)#interface gigabitethernet0/0 | ||
+ | R1(config-if)#ipv6 dhcp server LAN1_IPV6 | ||
+ | R1(config-if)#ipv6 nd other-config-flag | ||
+ | R1(config-if)#end | ||
+ | R1# | ||
+ | </pre> | ||
+ | ==Statefull IPv6 DHCP сървър== | ||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | R1> | ||
+ | R1>enable | ||
+ | R1#configure terminal | ||
+ | Enter configuration commands, one per line. End with CNTL/Z. | ||
+ | R1(config)#ipv6 unicast-routing | ||
+ | |||
+ | R1(config)#ipv6 dhcp pool LAN1_IPV6_SF | ||
+ | R1(config-dhcpv6)#address prefix 2001::/64 lifetime infinite infinite | ||
+ | R1(config-dhcpv6)#dns-server 2001::2 | ||
+ | R1(config-dhcpv6)#domain-name badkict.org | ||
+ | R1(config-dhcpv6)#exit | ||
+ | |||
+ | R1(config)# | ||
+ | R1(config)#interface gigabitethernet0/0 | ||
+ | R1(config-if)#ipv6 dhcp server LAN1_IPV6_SF | ||
+ | R1(config-if)#ipv6 nd managed-config-flag | ||
+ | R1(config-if)#end | ||
+ | R1# | ||
+ | </pre> | ||
+ | |||
+ | ==Проверка на IPv6 DHCP сървъра== | ||
+ | За проверка на работата на IPv6 DHCP сървъра може да се използват командите: | ||
+ | *'''show ipv6 dhcp pool''' | ||
+ | *'''show ipv6 dhcp binding''' | ||
+ | =Допълнителна информация= | ||
+ | За защита на DHCP чрез "DHCP Snooping" препоръчваме да използвате следния видео материал: [https://www.youtube.com/watch?v=9felrxpOgX8 DHCP Snooping (БАРЗИКТ YouTube видео канал)] |
Текуща версия към 19:38, 13 май 2015
Съдържание
Примерна топология (IPv4)
Конфигуриране на DHCP сървър с Cisco IOS е лесна задача, която се свежда до:
- Създаване на ip dhcp pool
- Дефиниране на DHCP параметрите за дадения "pool"
- Изключване на адреси чрез командата ip dhcp excluded-address
Маршрутизатор R1 има конфигуриран IPv4 адрес 10.0.0.1/8.
VLAN1 използва адреси 172.16.1.0/24, а VLAN2 - 172.16.2.0/24.
Връзката между R1 и S1 е от тип "trunk", с "native VLAN" 99.
DHCP сървър за мрежа 10.0.0.0/8
R1> R1>enable R1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)#ip dhcp pool LAN10 R1(dhcp-config)#network 10.0.0.0 255.0.0.0 R1(dhcp-config)#default-router 10.0.0.1 R1(dhcp-config)#dns-server 8.8.8.8 R1(dhcp-config)#exit R1(config)#ip dhcp excluded-address 10.0.0.1 R1(config)#end R1#
Командата ip dhcp pool създава т.нар "DHCP pool", който трябва да има уникално име (добрата практика е да е с главни букви) и в който се описват отделните DHCP параметри.
network дефинира мрежата (адресите), които ще се раздават от DHCP сървъра. За да се опише само част от цялата IPv4 мрежа е необходимо да се пресметне съответната маска.
defaul-router задава шлюза, който ще се изпраща на DHCP клиентите.
dns-server дефинира DNS сървъра, който ще бъде изпратен към конфигурацията на DHCP клиента.
Преди IOS DHCP сървъра да предостави конфигурация на клиента изпраща два пъти ICMP Echo-Request към IP адресът, който ще бъде изпратен. Ако не се получи отговор ICMP Echo-Reply адресът се използва. Въпреки тази проверка е възможно да се получи дублиране на адреси. Също така при зададената в примера мрежа 10.0.0.0/8 първият предложен адрес ще бъде 10.0.0.1, който се използва от R1. За да се посочи, кои адреси да не бъдат използвани от DHCP сървъра се използва командата ip dhcp excluded-address [начален адрес] [краен адрес].
Важно е да се отбележи, че не се налага да се посочва на кой интерфейс, кой "DHCP pool" да се използва.
Проверката за използваните DHCP адреси от отделните "DHCP pool" може да се направи с командата show ip dhcp binfding.
R1#sh ip dhcp binding IP address Client-ID/ Lease expiration Type Hardware address 10.0.0.2 0001.C758.CD1A -- Automatic R1#
DHCP сървър за VLAN1 и VLAN2
R1> R1>enable R1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)#ip dhcp pool R1-VLAN1 R1(dhcp-config)#network 172.16.1.0 255.255.255.0 R1(dhcp-config)#default-router 172.16.1.1 R1(dhcp-config)#dns-server 8.8.8.8 R1(dhcp-config)#exit R1(config)#ip dhcp pool R1-VLAN2 R1(dhcp-config)#network 172.16.2.0 255.255.255.0 R1(dhcp-config)#default-router 172.16.2.1 R1(dhcp-config)#dns-server 8.8.8.8 R1(dhcp-config)#exit R1(config)#ip dhcp excluded-address 172.16.1.1 R1(config)#ip dhcp excluded-address 172.16.2.1 R1(config)#end R1#
Примерна топология (IPv6)
Stateless IPv6 DHCP сървър
R1> R1>enable R1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)#ipv6 unicast-routing R1(config)#ipv6 dhcp pool LAN1_IPV6 R1(config-dhcpv6)#dns-server 2001::2 R1(config-dhcpv6)#domain-name badkict.org R1(config-dhcpv6)#exit R1(config)# R1(config)#interface gigabitethernet0/0 R1(config-if)#ipv6 dhcp server LAN1_IPV6 R1(config-if)#ipv6 nd other-config-flag R1(config-if)#end R1#
Statefull IPv6 DHCP сървър
R1> R1>enable R1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)#ipv6 unicast-routing R1(config)#ipv6 dhcp pool LAN1_IPV6_SF R1(config-dhcpv6)#address prefix 2001::/64 lifetime infinite infinite R1(config-dhcpv6)#dns-server 2001::2 R1(config-dhcpv6)#domain-name badkict.org R1(config-dhcpv6)#exit R1(config)# R1(config)#interface gigabitethernet0/0 R1(config-if)#ipv6 dhcp server LAN1_IPV6_SF R1(config-if)#ipv6 nd managed-config-flag R1(config-if)#end R1#
Проверка на IPv6 DHCP сървъра
За проверка на работата на IPv6 DHCP сървъра може да се използват командите:
- show ipv6 dhcp pool
- show ipv6 dhcp binding
Допълнителна информация
За защита на DHCP чрез "DHCP Snooping" препоръчваме да използвате следния видео материал: DHCP Snooping (БАРЗИКТ YouTube видео канал)