Usługi DHCP i DNS
Poznaj konfigurację i zarządzanie serwerami DHCP do przydzielania adresów IP oraz serwerami DNS do rozwiązywania nazw.
Usługi DHCP i DNS to bezpłatna lekcja Linux Networking & TCP/IP for Developers na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Networking & TCP/IP for Developers, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Networking & TCP/IP for Developers zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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:
- Your computer checks its local cache.
- If not found, it asks a recursive DNS resolver (often provided by your ISP or a public one like 8.8.8.8).
- The resolver queries root servers, then TLD servers (.com, .org), and finally the authoritative name server for the specific domain.
- 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.NSrecords specify name servers.Arecords 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.20Troubleshooting 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!
Często zadawane pytania
Czy lekcja „Usługi DHCP i DNS” jest bezpłatna?
Tak — pełny tekst „Usługi DHCP i DNS” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Networking & TCP/IP for Developers, przejdź na CoddyKit PRO. Kurs Linux Networking & TCP/IP for Developers zawiera 4 lekcji w sumie.
Co nauczysz się w „Usługi DHCP i DNS”?
Poznaj konfigurację i zarządzanie serwerami DHCP do przydzielania adresów IP oraz serwerami DNS do rozwiązywania nazw. Ćwiczysz Linux Networking & TCP/IP for Developers z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Linux Networking & TCP/IP for Developers?
Nie wymagamy żadnego doświadczenia. Linux Networking & TCP/IP for Developers w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Usługi DHCP i DNS”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Linux Networking & TCP/IP for Developers?
Tak. Każda lekcja Linux Networking & TCP/IP for Developers zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- SSH do bezpiecznego dostępu zdalnego
- Usługi internetowe HTTP/HTTPS
- Usługi DHCP i DNS
- NTP i usługi synchronizacji czasu