Różnice między wybraną wersją a wersją aktualną.
Nowa wersja | Poprzednia wersja | ||
sk1:dhcp [2017/03/28 13:37] jkonczak utworzono |
sk1:dhcp [2020/06/15 22:59] (aktualna) jkonczak |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
===== DHCP ===== | ===== DHCP ===== | ||
- | + | * Komunikaty: discover, offer, request, nack, ack, release | |
- | DHCP: | + | * Przepływ wiadomości dla przyznawania, odnawiania i zwalniania adresu - https://docs.oracle.com/cd/E23823_01/html/816-4554/dhcp-overview-3.html |
- | * Komunikaty discover, offer, request, nack, ack, release | + | |
- | * Przepływ wiadomości dla przyznawania, odnawiania i zwalniania adresu - http://seth.galitzer.net/?q=node/8 | + | |
* Zakres adresów, pula (address pool) | * Zakres adresów, pula (address pool) | ||
* Dzierżawa (lease) | * Dzierżawa (lease) | ||
- | * Dane przekazywane przez DHCP - [[http://pl.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Parametry_konfiguracji_przekazywane_do_klienta|http://pl.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol]] | + | * Opcje (options) przekazywane przez DHCP - [[http://pl.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Parametry_konfiguracji_przekazywane_do_klienta|[1]]] [[https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml|[2]]] |
* Stały adres IP a DHCP | * Stały adres IP a DHCP | ||
- | Serwer - ''dhcpd'', klienty DHCP - ''dhcpcd dhclient udhcpc pump'' | + | |
- | * żądanie adresu IP: ''dhcpcd [-d] //eth0//'' / ''dhclient [-d] [-v] //eth0//'' | + | Przykładowa wymiana pakietów między serwerem DHCP a klientem: {{:sk1:dhcp.pcap|}} |
- | * uwlnienie adresu IP: ''dhcpcd -k //eth0//'' / ''dhclient -r //eth0//'' | + | |
+ | ==== [ekstra] Serwer DHCP (na przykładzie ISC DHCP server) ==== | ||
+ | - Przed konfiguracją serwera ustawi maskaradę adresów dla pakietów wychodzących prze br0 i pozwól na przekazywanie pakietów: \\ ''iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE'' \\ ''sysctl net.ipv4.conf.all.forwarding=1'' | ||
+ | - <del>Zainstaluj ISC DHCP server [[https://www.isc.org/downloads/dhcp/|[1]]] [[https://en.wikipedia.org/wiki/DHCPD|[2]]] komendą: \\ ''zypper install dhcp-server''</del> | ||
+ | - <del>Stwórz plik dzierżaw (w domyślnej lokalizacji): \\ ''touch /var/lib/dhcp/db/dhcpd.leases''</del> | ||
+ | - Na podstawie poniższego przykładu stwórz plik konfiguracyjny ''dhcpd.conf'': <code conf dhcpd.conf> | ||
+ | #ddns-update-style none; | ||
+ | #default-lease-time 600; | ||
+ | #max-lease-time 7200; | ||
+ | #option domain-name "cs.put.poznan.pl"; | ||
+ | option domain-name-servers 150.254.32.129, 150.254.30.30, 150.254.5.4; | ||
+ | |||
+ | subnet 10.0.0.0 netmask 255.255.255.0 { | ||
+ | range 10.0.0.2 10.0.0.12; | ||
+ | option routers 10.0.0.1; | ||
+ | } | ||
+ | |||
+ | #host example { | ||
+ | # hardware ethernet 02:00:00:00:00:00; | ||
+ | # fixed-address 10.0.0.15; | ||
+ | #} | ||
+ | </code> | ||
+ | - Skonfiguruj interfejs na którym będzie działać serwer DHCP, przykładowo dla ''p4p2'':\\ ''ip link set p4p2 up'' \\ ''ip addr add 10.0.0.1/24 dev p4p2'' | ||
+ | - Uruchom serwer DHCP w trybie diagnostycznym (''-d'') z właściwym plikiem konfiguracyjnym (''-cf''): \\ ''dhcpd -d -cf dhcpd.conf p4p2'' | ||
+ | |||
+ | <html><small></html> | ||
+ | Innym często wykorzystywanym serwerem DHCP jest program łączący funkcje serwera DHCP i proxy DNS – dnsmasq https://pl.wikipedia.org/wiki/Dnsmasq<html></small></html> | ||
+ | |||
+ | ==== Klienty DHCP ==== | ||
+ | |||
+ | Istnieje wiele implementacji klientów DHCP, przykładowe: | ||
+ | * dhclient – https://www.isc.org/downloads/dhcp/ – fragment ISC DHCP | ||
+ | * żądanie adresu IP: ''dhclient [-d] [-v] //eth0//'' | ||
+ | * uwolnienie adresu IP: ''dhclient -r //eth0//'' | ||
+ | * dhcpcd – https://roy.marples.name/projects/dhcpcd – popularny klient DHCP dla Linuksów | ||
+ | * żądanie adresu IP: ''dhcpcd [-d] [-d] //eth0//'' | ||
+ | * uwolnienie adresu IP: ''dhcpcd -k //eth0//'' | ||
+ | * udhcpc – https://en.wikipedia.org/wiki/Udhcpc – fragment busyboxa, popularny na urządzeniach wbudowanych | ||
+ | * żądanie adresu IP: ''udhcpc -i //eth0//'' | ||
<html><small></html> | <html><small></html> | ||
- | Zeroconf (http://en.wikipedia.org/wiki/Zero_configuration_networking), [[https://en.wikipedia.org/wiki/Link-local_address|adres link-local]] (blok adresów 169.254.0.0/16), APIPA, dhcpcd, Avahi | + | ===== Konfiguracja adresów IP bez DHCP ===== |
+ | Zeroconf (http://en.wikipedia.org/wiki/Zero_configuration_networking), [[https://en.wikipedia.org/wiki/Link-local_address|adres link-local]] (blok adresów 169.254.0.0/16), APIPA, Avahi, Bonjour | ||
<html></small></html> | <html></small></html> |