Jinsi ya Kufunga Seva ya DHCP katika Ubuntu na Debian


Itifaki ya Usanidi wa Mwenyeji Mwenye Nguvu (DHCP) ni itifaki ya mtandao ambayo hutumiwa kuwezesha kompyuta seva pangishi kukabidhiwa kiotomatiki anwani za IP na usanidi wa mtandao unaohusiana kutoka kwa seva.

Anwani ya IP iliyotolewa na seva ya DHCP kwa mteja wa DHCP iko kwenye \kodisha, muda wa kukodisha kwa kawaida hutofautiana kulingana na muda ambao kompyuta ya mteja inaweza kuhitaji muunganisho au usanidi wa DHCP.

Yafuatayo ni maelezo ya haraka ya jinsi DHCP inavyofanya kazi:

  • Kiteja (ambacho kimesanidiwa kutumia DHCP) na kuunganishwa kwenye mtandao kuwashwa, hutuma pakiti ya DHCPDISCOVER kwa seva ya DHCP.
  • Seva ya DHCP inapopokea pakiti ya ombi la DHCPDISCOVER, hujibu kwa pakiti ya DHCPOFFER.
  • Kisha mteja anapata pakiti ya DHCPOFFER, na inatuma pakiti ya DHCPREQUEST kwa seva ikionyesha iko tayari kupokea maelezo ya usanidi wa mtandao yaliyotolewa katika pakiti ya DHCPOFFER.
  • Mwishowe, baada ya seva ya DHCP kupokea pakiti ya DHCPREQUEST kutoka kwa mteja, hutuma pakiti ya DHCPACK kuonyesha kwamba mteja sasa ameruhusiwa kutumia anwani ya IP iliyokabidhiwa.

Katika makala hii, tutakuonyesha jinsi ya kusanidi seva ya DHCP katika Ubuntu/Debian Linux, na tutaendesha amri zote kwa amri ya sudo ili kupata haki za mtumiaji wa mizizi.

Tutatumia mazingira yafuatayo ya majaribio kwa usanidi huu.

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

Hatua ya 1: Kufunga Seva ya DHCP katika Ubuntu

1. Tekeleza amri iliyo hapa chini ili kusakinisha kifurushi cha seva ya DCHP, ambacho awali kilijulikana kama dhcp3-server.

$ sudo apt install isc-dhcp-server

2. Usakinishaji utakapokamilika, hariri faili /etc/default/isc-dhcp-server ili kufafanua miingiliano ambayo DHCPD inapaswa kutumia kuhudumia maombi ya DHCP, kwa chaguo la INTERFACES.

Kwa mfano, ikiwa unataka daemon ya DHCPD isikilize kwenye eth0, iweke hivi:

INTERFACES="eth0"

Na pia jifunze jinsi ya kusanidi anwani ya IP tuli kwa kiolesura hapo juu.

Hatua ya 2: Kusanidi Seva ya DHCP katika Ubuntu

3. Faili kuu ya usanidi wa DHCP ni /etc/dhcp/dhcpd.conf, lazima uongeze maelezo yako yote ya mtandao ili kutumwa kwa wateja hapa.

Na, kuna aina mbili za taarifa zilizofafanuliwa katika faili ya usanidi ya DHCP, hizi ni:

  • vigezo - bainisha jinsi ya kufanya kazi, kama kutekeleza kazi, au chaguo gani za usanidi wa mtandao za kutuma kwa mteja wa DHCP.
  • matangazo - fafanua topolojia ya mtandao, taja wateja, toa anwani kwa wateja, au tumia kikundi cha vigezo kwenye kikundi cha matamko.

4. Sasa, fungua na urekebishe faili kuu ya usanidi, fafanua chaguo zako za seva ya DHCP:

$ sudo vi /etc/dhcp/dhcpd.conf 

Weka vigezo vya kimataifa vifuatavyo juu ya faili, vitatumika kwa matamko yote hapa chini (taja maadili ambayo yanatumika kwa hali yako):

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. Sasa, fafanua mtandao mdogo; hapa, tutasanidi DHCP kwa mtandao wa 192.168.10.0/24 wa LAN (tumia vigezo vinavyotumika kwa hali yako).

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;
}

Hatua ya 3: Sanidi IP Tuli kwenye Mashine ya Kiteja ya DHCP

6. Ili kukabidhi anwani ya IP isiyobadilika (tuli) kwa kompyuta mahususi ya mteja, ongeza sehemu iliyo hapa chini ambapo unahitaji kubainisha kwa uwazi anwani zake za MAC na IP itakayokabidhiwa kwa takwimu:

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;
 }

Hifadhi faili na uifunge.

7. Kisha, anzisha huduma ya DHCP kwa wakati huu, na uiwezeshe kuanza kiotomatiki kutoka kwa mfumo wa kuwasha unaofuata, kama vile:

------------ 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. Kisha, usisahau kuruhusu huduma ya DHCP (daemon ya DHCPD inasikiza kwenye bandari 67/UDP) kwenye ngome kama hapa chini:

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

Hatua ya 4: Kusanidi Mashine za Wateja wa DHCP

9. Katika hatua hii, unaweza kusanidi kompyuta za wateja wako kwenye mtandao ili kupokea kiotomatiki anwani za IP kutoka kwa seva ya DHCP.

Ingia kwenye kompyuta za mteja na uhariri faili ya usanidi wa kiolesura cha Ethaneti kama ifuatavyo (kumbuka jina/nambari ya kiolesura):

$ sudo vi /etc/network/interfaces

Na fafanua chaguzi hapa chini:

auto  eth0
iface eth0 inet dhcp

Hifadhi faili na uondoke. Na anza tena huduma za mtandao kama hivyo (au fungua upya mfumo):

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

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

Vinginevyo, tumia GUI kwenye mashine ya mezani kutekeleza mipangilio, weka Mbinu ya Kuendesha Kiotomatiki (DHCP) kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini (Fedora 25 desktop).

Katika hatua hii, ikiwa mipangilio yote imesanidiwa kwa usahihi, mashine ya mteja wako inapaswa kupokea anwani za IP kiotomatiki kutoka kwa seva ya DHCP.

Ni hayo tu! Katika somo hili, tulikuonyesha jinsi ya kusanidi seva ya DHCP katika Ubuntu/Debian. Shiriki mawazo yako nasi kupitia sehemu ya maoni hapa chini. Ikiwa unatumia usambazaji wa msingi wa Fedora, pitia jinsi ya kusanidi seva ya DHCP katika CentOS/RHEL.