Nätverk och protokoll

DHCP

Automatiskt nätverkskonfigurationsprotokoll som delar ut IP-inställningar som leasingavtal.

Var du ser detta: Syns i paketfångster, nätverksdiagram, brandväggsregler samt system- och nätverksloggar.

Vad det är

DHCP (Dynamic Host Configuration Protocol) är ett klientserverprotokoll som konfigurerar värdar på ett IP-nätverk. Istället för att manuellt ställa in en adress på varje enhet, hanterar en DHCP-server en pool av adresser och alternativ och delar ut dem som tidsbundna leasingavtal.

Nyckelpunkter
  • Använder ett bekräftelseflöde för att upptäcka erbjudandeförfrågan för att tilldela adresser.
  • Hyresavtal löper ut och måste förnyas, varför adresserna kan ändras med tiden.
  • Reläagenter tillåter DHCP att arbeta över undernät utan att utöka sändningarna.

Hur det fungerar i stora drag

  1. En ny klient som inte har någon IP-adress sänder ett DHCP Discover-meddelande på det lokala nätverket.
  2. En eller flera servrar svarar med ett DHCP-erbjudande som innehåller en föreslagen adress och konfigurationsalternativ.
  3. Klienten sänder en DHCP-förfrågan genom att välja ett erbjudande och begära den adressen.
  4. Servern svarar med en DHCP bekräftelse, och klienten konfigurerar sitt gränssnitt och startar leasingtimern.
  5. Innan hyresavtalet löper ut försöker klienten förnya, vanligtvis med unicast-meddelanden till den ursprungliga servern.
  6. Om klienten flyttar till ett nytt nätverk eller inte kan förnya, upprepar den upptäckten och kan få en annan adress.
  7. Om servern är på ett annat subnät, vidarebefordrar en reläagent sändningsmeddelandena till servern och vidarebefordrar svaren tillbaka.

Konkret exempel

Du går med i ett kafé WiFi. Din bärbara dator sänder Discover, får ett erbjudande med en adress och DNS, begär det och får sedan ett Ack. Sekunder senare kan du surfa på webben, även om du aldrig rörde en IP-inställning.

Varför det är viktigt

Manuell adressering är långsam och felbenägen. DHCP säkerställer att enheter kommer online snabbt, minskar konflikter och centraliserar kontrollen över inställningar som gateways, DNS och domänsökvägar.

Säkerhetsperspektiv

  • Rogue DHCP är en klassisk attack. Funktioner som DHCP snooping kan blockera serversvar på opålitliga portar.
  • Alternativen DHCP kan omdirigera trafik genom att ändra standardgateways eller DNS-servrar, så behandla DHCP som säkerhetskänslig.
  • Loggar från servern DHCP är ofta den bästa källan för att svara på vem som hade vilken IP vid en given tidpunkt.

Vanliga fallgropar

  • Förutsatt att DHCP problem alltid är servern. Switchportsäkerhet, VLAN-problem och reläer är vanliga orsaker.
  • Överlappande omfattningar eller felkonfigurerade pooler kan skapa adresskonflikter.
  • Bortse från hyrestider. Korta hyresavtal kan orsaka onödig churn; långa hyresavtal bromsar saneringen.
  • Att glömma att DHCP vanligtvis är oautentiserad. En oseriös server kan dela ut dåliga gateways och DNS.
  • Felsökning utan att kontrollera vilkett VLAN klienten faktiskt befinner sig i.

FÖRDJUPNING

Bootstrapping: få konfiguration från ingenting

En ny enhet börjar ofta med bara en MAC-adress och ingen IP. DHCP finns för att lösa problemet med kyckling och ägg. Klienten sänder en DHCPDISCOVER eftersom den ännu inte vet vilken server den ska prata med. Servrar på det lokala nätverket svarar med DHCPOFFER-meddelanden som föreslår en adressleasing och alternativ som subnätmask, standardgateway och DNS-servrar.

Kunden väljer ett erbjudande och sänder en DHCPREQUEST för att säga vilket erbjudande den accepterar. Den valda servern svarar med DHCPACK, och först då konfigurerar klienten gränssnittet med den hyrda IP och alternativen. Detta utbyte av fyra meddelanden sammanfattas ofta som Discover, Offer, Request, Acknowledge.

I en fångst förklarar sändningsnaturen de första stegen. Tidiga meddelanden måste nå alla potentiella servrar och tidiga svar måste nå en klient som fortfarande inte kan ta emot unicast-trafik på ett tillförlitligt sätt. När de väl har konfigurerats byter senare förnyelser ofta till unicast eftersom båda sidor nu känner till varandras adresser.

Hyresavtal: nätverket ger, du lånar

DHCP ger en adress för en tidsperiod som kallas leasing. Leasingkonceptet låter nätverk återanvända adresser effektivt och återhämta sig från enheter som försvinner utan att säga adjö. Klienten lagrar leasingmetadata och börjar förnya innan leasingavtalet löper ut.

Förnyelse börjar vanligtvis med en unicast DHCPREQUEST till den ursprungliga servern vid en timer som ofta kallas T1. Om det misslyckas går klienten in i en återbindningsfas vid T2, där den sänder till valfri DHCP-server som kan förlänga leasingavtalet. Om förnyelsen lyckas skickar servern DHCPACK och leasingtimern återställs.

Om förnyelsen aldrig lyckas och hyresavtalet löper ut bör klienten sluta använda adressen och börja om. Det är därför felkonfigurerad DHCP kan orsaka periodiska avintrång som ser ut som slumpmässiga fall: enheten fungerar tills den förnyas, förlorar sedan sin hyreskontrakt och måste omförhandla.

Korsar undernät: reläer och hjälpare

Sändningar korsar inte routrar, men organisationer vill fortfarande ha centraliserad DHCP. Fixningen är en DHCP reläagent, ibland kallad en hjälpare. Reläet lyssnar efter klientsändningar på ett subnät och vidarebefordrar dem sedan som unicast till en DHCP-server på ett annat nätverk, med information om det ursprungliga subnätet.

Ur klientens perspektiv förändras ingenting. Den sänder fortfarande. Ur serverperspektivet ser den förfrågningar som kommer från reläet och väljer en adresspool baserat på reläinformationen. Så här fungerar DHCP över VLANs i verkliga företag.

Om enheter på ett VLAN aldrig får en adress är ett trasigt eller saknat relä en huvudmisstänkt. Ett annat vanligt problem är att servern inte har något utrymme för det subnätet, så den tar emot den vidarebefordrade förfrågan men kan inte erbjuda en giltig adress.

Praktiska felsökningsmönster

Om du ser dubbletter av IP-konflikter, leta efter oseriösa DHCP-servrar eller efter en blandning av DHCP och statisk adressering i samma pool. En enkel hemmarouter som är felkonfigurerad som en extra DHCP-server kan skapa kaotiskt beteende som ser ut som slumpmässiga anslutningsproblem.

Om en klient får en adress men inte kan nå någonting är alternativen ofta fel snarare än själva adressen. En felaktig standardgateway eller fel DNS-server kan få enheten att se offline ut trots att leasingavtalet lyckades.

Om förnyelser bara misslyckas i vissa nätverk, leta efter brandväggsregler som blockerar UDP port 67 och 68, eller efter reläer som inte är konfigurerade på alla relevanta gränssnitt. DHCP är enkelt, men det är känsligt för små policyfel eftersom klienten är beroende av det vid uppstart.