Kaip įdiegti DHCP serverį „Ubuntu“ ir „Debian“


„Dinaminis pagrindinio kompiuterio konfigūravimo protokolas“ (DHCP) yra tinklo protokolas, kuris naudojamas leidžiant pagrindiniams kompiuteriams iš serverio automatiškai priskirti IP adresus ir susijusias tinklo konfigūracijas.

IP adresas, kurį DHCP serveris priskiria DHCP klientui, yra „nuomojamas“, nuomos laikas paprastai skiriasi priklausomai nuo to, kiek ilgai kliento kompiuteriui gali prireikti ryšio ar DHCP konfigūracijos.

Toliau pateikiamas trumpas aprašymas, kaip iš tikrųjų veikia DHCP:

  • Kai klientas (sukonfigūruotas naudoti DHCP) ir prisijungęs prie tinklo, įsijungia, jis siunčia DHCPDISCOVER paketą į DHCP serverį.
  • Kai DHCP serveris gauna užklausos paketą „DHCPDISCOVER“, jis atsako naudodamas DHCPOFFER paketą.
  • Tada klientas gauna „DHCPOFFER“ paketą ir jis siunčia „DHCPREQUEST“ paketą į serverį parodydamas, kad yra pasirengęs priimti tinklo konfigūracijos informaciją, pateiktą „DHCPOFFER“ pakete.
  • Galiausiai, kai DHCP serveris gauna DHCPREQUEST paketą iš kliento, jis siunčia DHCPACK paketą parodydamas, kad klientui leidžiama naudoti jam priskirtą IP adresą.

Šiame straipsnyje mes parodysime, kaip konfigūruoti DHCP serverį „Ubuntu“/„Debian Linux“, ir vykdysime visas komandas naudodami komandą sudo, kad gautume root vartotojo teises.

Šiai sąrankai naudosime šią bandymų aplinką.

DHCP Server - Ubuntu 16.04 
DHCP Clients - CentOS 7 and Fedora 25

1 žingsnis: DHCP serverio diegimas „Ubuntu“

1. Norėdami įdiegti DCHP serverio paketą, kuris anksčiau buvo žinomas kaip dhcp3-server, vykdykite toliau pateiktą komandą.

$ sudo apt install isc-dhcp-server

2. Kai diegimas bus baigtas, redaguokite failą/etc/default/isc-dhcp-server, kad apibrėžtumėte sąsajas, kurias DHCPD turėtų naudoti DHCP užklausoms aptarnauti, naudodamiesi sąsaja INTERFACES.

Pvz., Jei norite, kad DHCPD demonas klausytų eth0 , nustatykite jį taip:

INTERFACES="eth0"

Taip pat sužinokite, kaip konfigūruoti statinį IP adresą aukščiau esančiai sąsajai.

2 žingsnis: DHCP serverio konfigūravimas „Ubuntu“

3. Pagrindinis DHCP konfigūracijos failas yra /etc/dhcp/dhcpd.conf , čia turite pridėti visą savo tinklo informaciją, kurią norite siųsti klientams.

DHCP konfigūracijos faile apibrėžti dviejų tipų teiginiai:

  • parametrai - nurodykite, kaip atlikti užduotį, ar atlikti užduotį, ar kokias tinklo konfigūracijos parinktis siųsti DHCP klientui.
  • deklaracijos - apibrėžkite tinklo topologiją, nurodykite klientus, pasiūlykite klientams adresus arba pritaikykite parametrų grupę deklaracijų grupei.

4. Dabar atidarykite ir pakeiskite pagrindinį konfigūracijos failą, nustatykite savo DHCP serverio parinktis:

$ sudo vi /etc/dhcp/dhcpd.conf 

Failo viršuje nustatykite šiuos visuotinius parametrus, jie bus taikomi visoms žemiau pateiktoms deklaracijoms (nurodykite vertes, kurios taikomos jūsų scenarijui):

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

5. Dabar apibrėžkite potinklį; čia mes nustatysime DHCP 192.168.10.0/24 LAN tinklui (naudokite parametrus, kurie tinka jūsų scenarijui).

subnet 192.168.10.0 netmask 255.255.255.0 {
        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.10.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

3 veiksmas: konfigūruokite statinį IP DHCP kliento kompiuteryje

6. Norėdami priskirti fiksuotą (statinį) IP adresą tam tikram kliento kompiuteriui, pridėkite toliau pateiktą skiltį, kurioje turite aiškiai nurodyti savo MAC adresus ir statiškai priskirtiną IP:

host centos-node {
	 hardware ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.10.105;
 }

host fedora-node {
	 hardware ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.10.106;
 }

Išsaugokite failą ir uždarykite jį.

7. Tada kol kas paleiskite DHCP paslaugą ir įgalinkite ją automatiškai paleisti nuo kito sistemos įkrovimo, taip:

------------ SystemD ------------ 
$ sudo systemctl start isc-dhcp-server.service
$ sudo systemctl enable isc-dhcp-server.service


------------ SysVinit ------------ 
$ sudo service isc-dhcp-server.service start
$ sudo service isc-dhcp-server.service enable

8. Tada nepamirškite leisti DHCP paslaugai (DHCPD deemonas klausosi 67 prievado/UDP) ugniasienėje, kaip nurodyta toliau:

$ sudo ufw allow  67/udp
$ sudo ufw reload
$ sudo ufw show

4 žingsnis: konfigūruokite DHCP kliento mašinas

9. Šiuo metu galite sukonfigūruoti savo klientų kompiuterius tinkle, kad jie automatiškai gautų IP adresus iš DHCP serverio.

Prisijunkite prie kliento kompiuterių ir redaguokite Ethernet sąsajos konfigūracijos failą taip (atkreipkite dėmesį į sąsajos pavadinimą/numerį):

$ sudo vi /etc/network/interfaces

Ir apibrėžkite toliau pateiktas parinktis:

auto  eth0
iface eth0 inet dhcp

Išsaugokite failą ir išeikite. Ir iš naujo paleiskite tokias tinklo paslaugas (arba paleiskite sistemą iš naujo):

------------ SystemD ------------ 
$ sudo systemctl restart networking

------------ SysVinit ------------ 
$ sudo service networking restart

Arba naudokite darbalaukio GUI, kad atliktumėte nustatymus, nustatykite „Method“ į „Automatic“ (DHCP), kaip parodyta toliau pateiktame ekrano kopijoje („Fedora 25“ darbalaukis).

Šiuo metu, jei visi nustatymai yra tinkamai sukonfigūruoti, jūsų kliento kompiuteris turėtų automatiškai gauti IP adresus iš DHCP serverio.

Viskas! Šioje pamokoje mes parodėme, kaip nustatyti DHCP serverį „Ubuntu“/„Debian“. Pasidalinkite savo mintimis su mumis per toliau pateiktą atsiliepimų skiltį. Jei naudojate „Fedora“ pagrindu veikiantį paskirstymą, sužinokite, kaip nustatyti DHCP serverį sistemoje „CentOS/RHEL“.