Linux Networking & TCP/IP for Developers · Lezione

Servizi DHCP e DNS

Acquisisca familiarità con la configurazione e la gestione dei server DHCP per l’assegnazione degli indirizzi IP e dei server DNS per la risoluzione dei nomi.

Lezione 3 di 412 passaggi

Servizi DHCP e DNS è una lezione Linux Networking & TCP/IP for Developers gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Networking & TCP/IP for Developers, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Networking & TCP/IP for Developers include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Network's Dynamic Duo: DHCP & DNS

Welcome to understanding two foundational services in any Linux network: DHCP and DNS.

These protocols work behind the scenes to make network communication smooth and user-friendly. One assigns network details, the other translates names.

DHCP: Automatic IP Assignment

DHCP stands for Dynamic Host Configuration Protocol. Its main job is to automatically assign IP addresses and other network settings (like subnet mask, default gateway, and DNS server addresses) to devices on a network.

  • Saves time: No need to manually configure each device.
  • Prevents errors: Avoids duplicate IP addresses.
  • Flexible: Easily manage IP address pools.

How DHCP Works: The DORA Process

When a device connects to a network, it uses a four-step process called DORA to get an IP address from a DHCP server:

  • Discover: Client broadcasts a request for a DHCP server.
  • Offer: DHCP server offers an available IP address.
  • Request: Client accepts the offered IP.
  • Acknowledge: Server confirms the lease and provides full configuration.

Setting Up a DHCP Server on Linux

On Linux, a common DHCP server is provided by the isc-dhcp-server package (or dhcpd). The primary configuration file is typically located at /etc/dhcp/dhcpd.conf.

This file defines subnets, IP ranges, default gateways, and DNS servers that clients will receive.

`dhcpd.conf` Example for a Subnet

Here's a simplified example of a dhcpd.conf entry for a local network. This tells the server what IPs to offer and what network details to provide.

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.150;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option domain-name "example.com";
  default-lease-time 600;
  max-lease-time 7200;
}

DNS: Translating Names to IPs

DNS, or the Domain Name System, is like the internet's phonebook. It translates human-readable domain names (e.g., google.com) into machine-readable IP addresses (e.g., 142.250.191.46).

Without DNS, you'd have to remember complex IP addresses for every website!

How DNS Resolution Works

When you type a domain name into your browser, a DNS query goes through several steps:

  1. Your computer checks its local cache.
  2. If not found, it asks a recursive DNS resolver (often provided by your ISP or a public one like 8.8.8.8).
  3. The resolver queries root servers, then TLD servers (.com, .org), and finally the authoritative name server for the specific domain.
  4. The authoritative server returns the IP address, which your computer then uses to connect.

Setting Up a DNS Server (BIND)

On Linux, BIND (Berkeley Internet Name Domain) is the most common DNS server software. It's also known as named.

BIND manages zones, which are files containing records that map domain names to IP addresses (and vice versa) for specific domains.

Zone files are typically configured in /etc/bind/.

Simple DNS Forward Zone File

This is an example of a forward zone file for example.com. It defines how specific names within that domain map to IP addresses.

  • @ represents the domain itself.
  • NS records specify name servers.
  • A records map hostnames to IPv4 addresses.
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
                2023010101 ; Serial
                3600       ; Refresh
                1800       ; Retry
                604800     ; Expire
                86400      ; Minimum TTL
)
@ IN NS ns1.example.com.
ns1 IN A 192.168.1.10
www IN A 192.168.1.10
mail IN A 192.168.1.20

Troubleshooting DHCP and DNS

When things go wrong, these commands are your friends:

  • systemctl status dhcpd / named: Check service status.
  • journalctl -u dhcpd / named: View service logs.
  • ip a: Verify your device's IP address (from DHCP).
  • dig example.com: Query DNS for a domain.
  • nslookup example.com: Another tool to query DNS.

Quick Check: DHCP vs. DNS

You've learned about the distinct roles of DHCP and DNS. Let's test your understanding!

Recap: DHCP & DNS Essentials

In this lesson, you gained insight into DHCP and DNS:

  • DHCP automates IP address assignment, saving time and preventing errors.
  • DNS translates human-readable domain names into machine-readable IP addresses.
  • Both are critical services for any functional network, ensuring devices get online and can find each other by name.

Keep exploring these services to master network configuration!

Gratis per iniziare

Impara Linux Networking & TCP/IP for Developers con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
12
Lezioni
48

Domande Frequenti

La lezione «Servizi DHCP e DNS» è gratuita?

Sì — il testo completo di «Servizi DHCP e DNS» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Networking & TCP/IP for Developers, passa a CoddyKit PRO. Il corso Linux Networking & TCP/IP for Developers include 4 lezioni in totale.

Cosa imparerò in «Servizi DHCP e DNS»?

Acquisisca familiarità con la configurazione e la gestione dei server DHCP per l’assegnazione degli indirizzi IP e dei server DNS per la risoluzione dei nomi. Eserciti Linux Networking & TCP/IP for Developers con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Linux Networking & TCP/IP for Developers?

Non è richiesta alcuna esperienza precedente. Linux Networking & TCP/IP for Developers su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Servizi DHCP e DNS»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Linux Networking & TCP/IP for Developers?

Sì. Ogni lezione Linux Networking & TCP/IP for Developers include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. SSH per l’accesso remoto sicuro
  2. Servizi web HTTP/HTTPS
  3. Servizi DHCP e DNS
  4. NTP e servizi di sincronizzazione dell’ora
← Torna a Linux Networking & TCP/IP for Developers