Si të ekzekutoni një server DHCP të rrjetit lokal me Dnsmasq
Dnsmasq është një server rrjeti i lehtë që ofron funksione DNS, DHCP, TFTP dhe PXE. Në këtë udhëzues, ne do të shikojmë konfigurimin e një instalimi të ri Dnsmasq si një server të pavarur DHCP.
DHCP (Dynamic Host Configuration Protocol) është procesi me të cilin pajisjet e rrjetit marrin adresa IP. Serveri DHCP i rrjetit tuaj është përgjegjës për caktimin e çdo pajisjeje të re një adresë unike. Adresat mund të jenë statike ose dinamike, kjo e fundit do të thotë se ato lëshohen me qira të shkurtër, kështu që IP-ja e secilës pajisje mund të ndryshojë me kalimin e kohës.
Ruteri vepron si server DHCP në shumicën e rrjeteve të vogla. Vendosja e Dnsmasq në një kuti Linux ju jep kontroll mbi procesin, si dhe dukshmëri të përmirësuar për çdo gabim që ndodh.
Përgatitja e Dnsmasq
Dnsmasq përfshihet me shumicën e shpërndarjeve Linux. Zakonisht mund të shtoni paketën dnsmasq
nëse nuk është e pranishme në tuajën. Skedari standard i konfigurimit ndodhet në /etc/dnsmasq.conf
; ju gjithashtu mund të shtoni skedarë në drejtorinë /etc/dnsmasq.d
nëse dëshironi t'i mbani cilësimet tuaja të ndara nga parazgjedhjet.
Dnsmasq zakonisht dëgjon në të gjitha ndërfaqet e rrjetit tuaj. Nëse dëshironi të përdorni një ndërfaqe specifike, vendoseni këtë tani duke shtuar ose çkomentuar rreshtin e mëposhtëm në skedarin tuaj të konfigurimit:
# Only operate on eth0
interface=eth0
Funksionaliteti i serverit DNS është aktivizuar si parazgjedhje. Mund ta çaktivizoni duke ndryshuar portën në 0
:
port=0
Dnsmasq tani është gati për të operuar në modalitetin vetëm DCHP.
Konfigurimi i serverit tuaj DHCP
Serveri DHCP aktivizohet duke specifikuar një gamë adresash IP DHCP:
dhcp-range=192.168.0.101,192.168.0.150,255.255.255.0,6h
Ky shembull udhëzon Dnsmasq të ofrojë adresa IP midis 192.168.0.101 dhe 192.168.0.150 në nënrrjetin 255.255.255.0. IP-të e lëshuara do të kenë një jetëgjatësi qiraje prej gjashtë orësh, pas së cilës klientët do të duhet të kërkojnë një qira të rinovuar.
Ju duhet të ndryshoni parametrat e mësipërm për t'iu përshtatur kërkesave të rrjetit tuaj. Është e këshillueshme që të rregulloni gamën DHCP në mënyrë që të përjashtojë çdo adresë IP që planifikoni t'i caktoni në mënyrë statike pajisjeve. Kjo do të sigurojë që një pajisjeje që merr qira dinamike nuk mund t'i lëshohet kurrë një adresë e rezervuar.
I përdorur kështu, serveri juaj Dnsmasq do të bëhet porta e paracaktuar në pajisjet tuaja kur ato të marrin një adresë IP. Nëse nuk po konfiguroni gjithashtu DNS, duhet ta ndryshoni këtë në mënyrë që Dnsmasq të ndalojë së ofruari veten si një portë.
dhcp-option=3,192.168.0.50
Ndryshoni adresën IP në atë të ruterit tuaj. Pajisjet tuaja tani do të jenë në gjendje të përdorin ruterin si zakonisht pasi të kenë marrë një adresë IP nga Dnsmasq.
Vendosja e IP-ve statike
Mund të vendosni adresa IP statike brenda skedarit të konfigurimit Dnsmasq. Kjo ju lejon të centralizoni rezervimet tuaja IP, në vend që t'i shpërndani ato nëpër skedarët e rrjetit në pajisje individuale.
Për të caktuar një IP statike, përdorni udhëzimin dhcp-host
. Kjo kërkon një adresë MAC dhe një emër hosti dhe IP për të caktuar:
dhcp-host=ab:cd:ef:12:34:56,example-host,192.168.0.10,infinite
Këtu pajisjes me MAC ab:cd:ef:12:34:56
i jepet emri i hostit example-host
dhe një IP fikse prej 192.168.0.10. Kohëzgjatja e qirasë është vendosur në pafund
për të siguruar që nuk nevojitet rinovim dhe IP nuk do të ndryshojë kurrë.
Për të konfiguruar IP shtesë statike, thjesht përsëritni udhëzimin dhcp-host
sa herë që ju nevojitet. Së paku, merrni parasysh shtimin e një hosti të qartë DHCP për ruterin tuaj, në mënyrë që të mund t'i qaseni me besueshmëri me një IP fikse. Kjo duhet të përputhet me vlerën që keni caktuar në rreshtin dhcp-option
më sipër.
Mund të ngarkoni informacionin e hostit nga një skedar ose drejtori i veçantë me opsionet --dhcp-hostsfile
dhe --dhcp-hostsdir
. Në rastin e një drejtorie, Dnsmasq do të ngarkojë automatikisht ndryshimet e reja pa pasur nevojë të riniset.
Duke përdorur serverin tuaj DHCP
Pasi të keni mbaruar konfigurimin e Dnsmasq, provoni konfigurimin e tij për t'u siguruar që ndryshimet tuaja janë të vlefshme:
dnsmasq --test
Më pas rinisni shërbimin Dnsmasq për të aplikuar ndryshimet tuaja:
sudo systemctl restart dnsmasq
Çaktivizoni serverin e integruar DHCP të ruterit tuaj. Pastaj vendosni ruterin tuaj ose pajisjet e klientit tuaj që të përdorin IP-në e serverit tuaj Dnsmasq për DHCP. Hapat do të ndryshojnë sipas prodhuesit të ruterit, prandaj referojuni dokumentacionit të pajisjes tuaj nëse humbisni.
Tani shembulli juaj është funksional si serveri DHCP i rrjetit tuaj, duhet të jeni në gjendje të detyroni një rinovim të adresës IP në pajisjet tuaja për të marrë një qira nga Dnsmasq. Ose rinisni shërbimin e rrjetit, systemctl rinisni rrjetin
ose përdorni ifdown
dhe ifup
për të hequr dhe rivendosur lidhjen tuaj.
Dnsmasq regjistron adresat IP të lëshuara në skedarin e tij të qirave. Mund ta inspektoni këtë skedar për të parë pajisjet aktive në rrjetin tuaj dhe për të kontrolluar nëse IP-të janë dhënë me qira në mënyrë korrekte:
cat /var/lib/misc/dnsmasq.leases
Nëse hasni gabime, shikoni regjistrat e shërbimit Dnsmasq për të parë se çfarë nuk shkon:
sudo journalctl -u dnsmasq.service
Mënyra autoritative
Një sfidë që mund të keni kur futni serverin tuaj në një rrjet ekzistues është që pajisjet të skadojnë kur rinovojnë IP-të e tyre. Çdo klient do të dërgojë IP-në e tij të mëparshme te serveri DHCP, duke mundësuar që të lëshohet e njëjta IP nëse është ende e disponueshme. Në rastin e një shembulli të ri Dnsmasq, ai nuk do të ketë asnjë regjistrim të çiftit ekzistues klient/IP, kështu që kërkesa do të shpërfillet.
Klienti përfundimisht do të përfundojë dhe do të paraqesë një kërkesë të re, këtë herë duke kërkuar çdo adresë IP të disponueshme. Kërkesa e dytë do të ketë sukses, por dritarja e skadimit mund të jetë mjaft e gjatë, duke shkaktuar potencialisht një vonesë të dukshme gjatë nisjes ose inicializimit të grupit të rrjetit.
Shtimi i kësaj rreshti në skedarin tuaj të konfigurimit e zgjidh këtë problem nëse Dnsmasq do të jetë serveri i vetëm DHCP në rrjetin tuaj:
dhcp-authoritative
Modaliteti autoritar udhëzon Dnsmasq të pranojë kërkesat nga klientët edhe nëse ata pretendojnë se kanë mbajtur më parë një IP për të cilën nuk ka të dhëna. Klienti do të pranohet ende në rrjet dhe do t'i jepet një IP, duke hequr nevojën për të bërë dy kërkesa të ndara nga një kohë e gjatë.
Rregullimi i cilësimeve të tjera
Vlen të përmenden disa cilësime të tjera:
dhcp-sequential-ip
Dnsmasq zakonisht has adresën MAC të secilit klient për të përcaktuar IP-në që ata marrin. Kjo do të thotë që klientët në përgjithësi marrin të njëjtën adresë IP sa herë që lidhen, edhe nëse nuk është konfiguruar asnjë host statik. Vendosja e opsionit dhcp-sequential-id
do të thotë që Dnsmasq do të lëshojë IP në rend numerik sekuencial, duke filluar nga fillimi i diapazonit të IP-së tuaj të specifikuar.
dhcp-lease-max=100
Ky cilësim kontrollon se sa qira të njëkohshme do të lëshojë Dnsmasq. Parazgjedhja është 1000. Nëse jeni në një rrjet të vogël, merrni parasysh ta ulni këtë vlerë për të mbrojtur Dnsmasq nga sulmet e mohimit të shërbimit. Pritësit e komprometuar mund të dërgojnë kërkesa me qëllim të keq DHCP për të krijuar mijëra qira të tepërta.
dhcp-alternate-port=8068,8068
Ndryshoni numrat e portave të përdorura për serverët dhe klientët DHCP. Portat e paracaktuara janë 67
dhe 68
; këto normalisht nuk duhet të ndryshohen nëse nuk e kërkon infrastruktura e rrjetit tuaj.
dhcp-leasefile=/dhcp-leases
Ndryshoni shtegun e skedarit të përdorur për të ruajtur informacionin e qirasë së DHCP. Parazgjedhja është /var/lib/misc/dnsmasq.leases
.
Përmbledhje
Dnsmasq është i lehtë për t'u konfiguruar si një server i thjeshtë DHCP për rrjetin tuaj lokal. Mund të funksionojë së bashku ose në mënyrë të pavarur nga funksionaliteti DNS i softuerit.
Pavarësisht se është një server qëllimisht i lehtë, Dnsmasq mbështet shumë opsione të ndryshme konfigurimi për të lehtësuar instalimet më komplekse. Ju mund t'i përdorni këto për të konfiguruar reletë dhe proxies DHCP, për të rregulluar përputhjen e Dnsmasq me specifikimet e DHCP dhe për të shtuar skriptet e personalizuara që do të ekzekutohen kur të krijohen dhe shkatërrohen qiratë. Këto pajisje ju lejojnë të evoluoni shpejt një shembull eksperimental Dnsmasq në një shembull të ngurtësuar më të përshtatshëm për përdorim të shkallës së prodhimit në rrjete më të mëdha.