Difference between revisions of "Cisco DHCP"
Helikopter (talk | contribs) m |
Helikopter (talk | contribs) |
||
Line 1: | Line 1: | ||
− | Dynamic Host Configuration Protocol. | + | Dynamic Host Configuration Protocol (RFC 2131) är ett protokoll som dynamiskt distribuerar nätverkskonfiguration. |
'''Bakgrund''' <br/> | '''Bakgrund''' <br/> | ||
Line 25: | Line 25: | ||
clear ip dhcp binding * | clear ip dhcp binding * | ||
− | Låt en server acceptera requests med tomt giaddr-fält | + | Låt en IOS DHCP server acceptera requests med tomt giaddr-fält. t.o.m. om option 82 är satt (se nedan). |
ip dhcp relay information trust-all | ip dhcp relay information trust-all | ||
Line 40: | Line 40: | ||
renew dhcp ethernet 3/1 | renew dhcp ethernet 3/1 | ||
− | '''Broadcast''', bestäm om broadcastbiten ska vara satt till 1 eller 0, dvs att DHCP-svaren skickas tillbaka med broadcast. Default är detta påslaget till skillnad från många andra operativsystem. | + | '''Broadcast''', bestäm om broadcastbiten ska vara satt till 1 eller 0, dvs att DHCP-svaren skickas tillbaka med broadcast eller unicast. Default är detta påslaget till skillnad från många andra operativsystem. |
ip dhcp-client broadcast-flag | ip dhcp-client broadcast-flag | ||
'''AD''', konfigurera vad default routen man får med DHCP ska ha för administrative distance. | '''AD''', konfigurera vad default routen man får med DHCP ska ha för administrative distance. | ||
Line 53: | Line 53: | ||
=Snooping= | =Snooping= | ||
− | DHCP snooping | + | DHCP snooping är en säkerhetsmekanism för att filtrera bort untrusted DHCP-paket och hålla koll på klienter genom att bygga en DHCP snooping binding database. Snooping hindrar rogue DHCP servers från att svara på requests och skyddar mot klienter som begär väldigt många leases, DOS-style attack. Vissa andra säkerhetsmekanismer använder sig av snooping binding database, se [[Cisco_Security|IP Source Guard]] och [[Cisco_Security|Dynamic ARP Inspection]]. |
+ | |||
+ | Man måste slå på snooping för varje vlan man vill skydda. | ||
ip dhcp snooping | ip dhcp snooping | ||
ip dhcp snooping vlan 10 | ip dhcp snooping vlan 10 | ||
− | + | De interface som har en legit DHCP server måste trustas. Samt sätt rate limit på DHCP-paket. | |
interface gi1 | interface gi1 | ||
− | ip dhcp snooping limit rate | + | ip dhcp snooping trust |
+ | ip dhcp snooping limit rate 10 | ||
+ | Stäng av option 82 om servern ej accepterar requests med tomt giaddr-fält. Om en router ser option 82 förväntar den sig non-zero giaddr. | ||
+ | no ip dhcp snooping information option | ||
+ | Lägg databasen i en fil | ||
+ | ip dhcp snooping database flash:/snooping.db | ||
+ | Har man flera switchar i sin topologi måste downstream-portas trustas också (alternativt att option 82 stängs av). | ||
+ | ip dhcp snooping information option allow-untrusted | ||
Show | Show | ||
show ip dhcp snooping | show ip dhcp snooping | ||
− | = | + | ===Option 82=== |
− | + | DHCP Relay Agent Information Option (RFC 3046) är framtaget för att låta relay agent skicka med circuit specific information i requesten som forwardas till DHCP-servern. Det som skickas med är exempelvis vilken ethernetport i switchen som requesten kom in på och mac-adress på relayen. Detta är påslaget default om man kör DHCP snooping. | |
− | + | ip dhcp snooping information option | |
− | + | ||
− | + | =DHCPv6= | |
− | + | DHCP-paketen har nu uppdaterade namn: | |
− | + | * Solicit | |
+ | * Advertise | ||
+ | * Request | ||
+ | * Reply | ||
+ | |||
+ | ===Stateful=== | ||
+ | Functions exactly the same as IPv4 DHCP in which hosts receive both their IPv6 address and additional parameters from the DHCP server. | ||
+ | ipv6 dhcp pool STATEFUL | ||
+ | address prefix 10::/64 | ||
+ | dns-server 2001:4860:4860::8888 | ||
+ | domain-name hackernet.se | ||
+ | Interface | ||
+ | interface gi2 | ||
+ | ipv6 address 10::1/64 | ||
+ | ipv6 dhcp server STATEFUL | ||
+ | ipv6 nd managed-config-flag | ||
+ | ipv6 nd prefix 10::/64 14400 14400 no-autoconfig | ||
+ | '''managed-config-flag''' sätter en flagga i RA som säger att hostarna kan använda DHCPv6. '''no-autoconfig''' säger att stateless configuration inte ska användas. | ||
+ | |||
+ | ===Stateless=== | ||
+ | SLAAC is still used to get the IP address, but DHCP is used to obtain “other” configuration options, usually things like DNS, NTP, etc. | ||
+ | ipv6 dhcp pool STATELESS | ||
+ | dns-server 2001:4860:4860::8888 | ||
+ | domain-name hackernet.se | ||
+ | Interface | ||
+ | interface gi2 | ||
+ | ipv6 address 10::1/64 | ||
+ | ipv6 dhcp server STATELESS | ||
+ | ipv6 nd other-config-flag | ||
+ | Verify | ||
+ | show ipv6 dhcp pool | ||
+ | |||
+ | ===Client=== | ||
+ | interface gi3 | ||
+ | ipv6 enable | ||
+ | ipv6 address dhcp | ||
+ | Verify | ||
+ | show ipv6 dhcp interface | ||
=NX-OS= | =NX-OS= | ||
Line 78: | Line 124: | ||
Verify | Verify | ||
show ip dhcp relay | show ip dhcp relay | ||
+ | |||
+ | =Authorized ARP= | ||
+ | Man kan låta DHCP-processen populera ARP-cachen, dvs ta MAC-IP-mappningar från DHCP-databasen. Med Authorized ARP stängs den vanliga dynamiska ARP:n av på interfacen. | ||
+ | ip dhcp pool NAME | ||
+ | update arp | ||
+ | int gi2 | ||
+ | arp authorize | ||
+ | arp timeout <seconds> | ||
[[Category:Cisco]] | [[Category:Cisco]] |
Revision as of 14:59, 9 May 2016
Dynamic Host Configuration Protocol (RFC 2131) är ett protokoll som dynamiskt distribuerar nätverkskonfiguration.
Bakgrund
DHCP har utvecklats från Bootstrap protocol (RFC 951) som i sin tur har utvecklats pga tillkortakommanden hos Reverse ARP. Alla tre protokoll bygger på att klienten initialt broadcastar en discovery och servern svarar med en IP-adress. RARP fungerar precis som ARP men frågar efter sin egen MAC-adress och har satt IP till 0.0.0.0. Servern måste vara förkonfigurerad med klientens MAC-adress och en IP-adress. Servern måste även befinna sig i samma L2-domän som klienten. BOOTP togs fram för att förbättra processen med adresstilldelning till klienter. Det använder helt egna meddelanden och rullar på IP och UDP. Den stora fördelen mot RARP är att det går att tilldela klienterna subnätmask, default gateway, DNS-servrar och boot-server (hörs på namnet att det funkar). BOOTP-discovery går även att forwarda till andra subnät. Den stora nackdelen är att det har samma administrativa börda som RARP, dvs alla MAC-adresser och IP-adresser måste förkonfigureras på servern. Nästa steg är i utvecklingen är DHCP.
DHCP använder samma format som BOOTP, dvs servrar lyssnar på UDP port 67 och klienter kommunicerar från UDP port 68, men har satsat mer på att vara dynamisk. Det uppnås med pooler, leasing och adressåtervinning. Det finns även extensions för att registrera klienters FQDN till DNS.
Contents
Server
Cisco IOS DHCP server
Exclude IP Addresses, Create DHCP Address Pool, Specify the Network, Set DNS Server, Set the Default Gateway
ip dhcp excluded-address [start ip-address] [end ip-address] ip dhcp pool [poolname] network [ip-address] [subnet-mask] dns-server [ip-address of primary dns-server] [ip-address of secondary dns-server] default-router [ip-address] exit
DB
ip dhcp database flash:/ show ip dhcp database
Verify
show ip dhcp pool show ip dhcp binding show ip dhcp import
Clear
clear ip dhcp binding *
Låt en IOS DHCP server acceptera requests med tomt giaddr-fält. t.o.m. om option 82 är satt (se nedan).
ip dhcp relay information trust-all
Client
interface Ethernet 1 ip dhcp client hostname R1 ip address dhcp client-id <interface> ip address dhcp
Verify
show dhcp lease
Release & Renew
release dhcp ethernet 3/1 renew dhcp ethernet 3/1
Broadcast, bestäm om broadcastbiten ska vara satt till 1 eller 0, dvs att DHCP-svaren skickas tillbaka med broadcast eller unicast. Default är detta påslaget till skillnad från många andra operativsystem.
ip dhcp-client broadcast-flag
AD, konfigurera vad default routen man får med DHCP ska ha för administrative distance.
ip dhcp-client default-router distance <1-255>
Relay
interface Ethernet 1 ip helper-address 10.0.0.10
Allows the DHCP relay agent to switch the gateway address (giaddr field of a DHCP packet) to secondary addresses when there is no DHCPOFFER message from a DHCP server.
ip dhcp smart-relay
Snooping
DHCP snooping är en säkerhetsmekanism för att filtrera bort untrusted DHCP-paket och hålla koll på klienter genom att bygga en DHCP snooping binding database. Snooping hindrar rogue DHCP servers från att svara på requests och skyddar mot klienter som begär väldigt många leases, DOS-style attack. Vissa andra säkerhetsmekanismer använder sig av snooping binding database, se IP Source Guard och Dynamic ARP Inspection.
Man måste slå på snooping för varje vlan man vill skydda.
ip dhcp snooping ip dhcp snooping vlan 10
De interface som har en legit DHCP server måste trustas. Samt sätt rate limit på DHCP-paket.
interface gi1 ip dhcp snooping trust ip dhcp snooping limit rate 10
Stäng av option 82 om servern ej accepterar requests med tomt giaddr-fält. Om en router ser option 82 förväntar den sig non-zero giaddr.
no ip dhcp snooping information option
Lägg databasen i en fil
ip dhcp snooping database flash:/snooping.db
Har man flera switchar i sin topologi måste downstream-portas trustas också (alternativt att option 82 stängs av).
ip dhcp snooping information option allow-untrusted
Show
show ip dhcp snooping
Option 82
DHCP Relay Agent Information Option (RFC 3046) är framtaget för att låta relay agent skicka med circuit specific information i requesten som forwardas till DHCP-servern. Det som skickas med är exempelvis vilken ethernetport i switchen som requesten kom in på och mac-adress på relayen. Detta är påslaget default om man kör DHCP snooping.
ip dhcp snooping information option
DHCPv6
DHCP-paketen har nu uppdaterade namn:
- Solicit
- Advertise
- Request
- Reply
Stateful
Functions exactly the same as IPv4 DHCP in which hosts receive both their IPv6 address and additional parameters from the DHCP server.
ipv6 dhcp pool STATEFUL address prefix 10::/64 dns-server 2001:4860:4860::8888 domain-name hackernet.se
Interface
interface gi2 ipv6 address 10::1/64 ipv6 dhcp server STATEFUL ipv6 nd managed-config-flag ipv6 nd prefix 10::/64 14400 14400 no-autoconfig
managed-config-flag sätter en flagga i RA som säger att hostarna kan använda DHCPv6. no-autoconfig säger att stateless configuration inte ska användas.
Stateless
SLAAC is still used to get the IP address, but DHCP is used to obtain “other” configuration options, usually things like DNS, NTP, etc.
ipv6 dhcp pool STATELESS dns-server 2001:4860:4860::8888 domain-name hackernet.se
Interface
interface gi2 ipv6 address 10::1/64 ipv6 dhcp server STATELESS ipv6 nd other-config-flag
Verify
show ipv6 dhcp pool
Client
interface gi3 ipv6 enable ipv6 address dhcp
Verify
show ipv6 dhcp interface
NX-OS
feature dhcp
Relay
int vlan 15 ip dhcp relay address 10.0.0.10
Verify
show ip dhcp relay
Authorized ARP
Man kan låta DHCP-processen populera ARP-cachen, dvs ta MAC-IP-mappningar från DHCP-databasen. Med Authorized ARP stängs den vanliga dynamiska ARP:n av på interfacen.
ip dhcp pool NAME update arp int gi2 arp authorize arp timeout <seconds>