dhcpd (Suomi)

From ArchWiki

dhcpd on Internet Systems Consortiumin kehittämä DHCP palvelin. Se on käytännöllinen esimerkiksi laitteelle joka toimii reitittimenä LAN verkossa.

Huomautus: dhcpd (DHCP (server) daemon) ei ole sama kuin dhcpcd (DHCP client daemon).

Asennus

Asenna dhcp paketti, joka löytyy virallisista pakettilähteistä.

Käyttö

dhcpd sisältää kaksi yksikkötiedostoa dhcpd4.service ja dhcpd6.service, joita voidaan käyttää hallitsemaan taustaprosessia. Ne käynnistävät taustaprosessin kaikki verkkokäyttöliittymät IPv4 ja IPv6 vastaavasti. Katso #Vain yhden käyttöliittymän kuuntelu vaihtoehtoiselle ratkaisulle.

Konfiguraatio

Ohje staattisen IPv4 osoitteen asettamiseen käyttöliittymään, jota halutaan käyttää (tässä esimerkissä eth0). Ensimmäiset 3 tavua tästä osoitteesta eivät saa vastata muiden käyttöliittymien osoitteiden ensimmäisiä tavuja.

# ip link set up dev eth0
# ip addr add 139.96.30.100/24 dev eth0 # arbitrary address
Vinkki: Yleisesti jotain seuraavista käytetään yksityisissä verkoissa, jotka erityisesti tätä varten on varattuna ja eivät siksi aiheuta ristiriitoja minkään hostin kanssa verkossa:
  • 192.168/16 (subnet 192.168.0.0, netmask 255.255.0.0)
  • 172.16/12 (subnet 172.16.0.0, netmask 255.240.0.0)
  • 10/8 (suurille verkoille; subnet 10.0.0.0, netmask 255.0.0.0)
Katso myös RFC 1918.

Asettaaksesi staattisen ip osoitteen bootissa, katso Network configuration (Suomi)#Staattinen IP osoite.

Oletus dhcpd.conf sisältää monia kommentoimattomia esimerkkejä, joten kopioi se:

# cp /etc/dhcpd.conf /etc/dhcpd.conf.example

Minimi konfiguraatio tiedosto voi näyttää tältä:

/etc/dhcpd.conf
option domain-name-servers 8.8.8.8, 8.8.4.4;
option subnet-mask 255.255.255.0;
option routers 139.96.30.100;
subnet 139.96.30.0 netmask 255.255.255.0 {
  range 139.96.30.150 139.96.30.250;
}

Jos kiinteälle IP osoitteelle on tarve yhdessä erityisessä laitteessa, voit määrittää isäntä osat:

/etc/dhcpd.conf
option domain-name-servers 8.8.8.8, 8.8.4.4;
option subnet-mask 255.255.255.0;
option routers 139.96.30.100;
subnet 139.96.30.0 netmask 255.255.255.0 {
  range 139.96.30.150 139.96.30.250;
}
host macbookpro{
  hardware ethernet 70:56:81:22:33:44;
  fixed-address 139.96.30.199;
}

domain-name-servers vaihtoehto sisältää DNS palvelimien osotteita joita syötetään asiakasohjelmille (client). Tässä esimerkissä käytetään Googlen julkisia DNS palvelimia. Jos tiedät paikallisia DNS palvelimia (kuten esimerkiksi palveluntarjoajan omia), voit käyttää myös niitä. Jos olet konfiguroinut oman DNS paikallisessa koneessa, käytä sen osoitetta subnetissä (kuten 139.96.30.100 aikaisemmassa esimerkissä).

subnet-mask ja routers määrittää subnet peitteen ja listan käytettävistä reitittimistä subnetissä. Valtaosassa tapauksia pienissä verkoissa voidaan käyttää 255.255.255.0 peitteenä ja määrittää IP osoite koneesta missä ollaan konfiguroimassa DHCP palvelinta reitittimenä.

subnet osat määrittää vaihtoehdot muille subneteille, jotka on kartoitettu verkonkäyttöliittymiin, missädhcpd on käynnissä. Meidän esimerkissä tämä subnet 139.96.30.0/24 on tälle käyttöliittymälle eth0, mille määriteltiin joukko valittavia IP osoitteita. Osoitteet tästä joukosta asetetaan liittyville asiakasohjelmille.

Vain yhden käyttöliittymän kuuntelu

Jos tietokone on jo osana yhtä tai useampaa verkkoa, se voi ilmentyä ongelmana jos koneesi rupeaa antamaan IP osoitteita muille laitteille muista verkoista. Se voidaan tehdä joko konfiguroimalla dhcpd tai käynnistämällä se taustaprosessina systemctl:än avulla.

dhcpd:n konfigurointi

Käyttöliittymän torjumiseen täytyy luoda tyhjä esittely subnetille, joka konfiguroidaan siinä käyttöliittymässä.

Tämä tehdään muokkaamalla konfiguraatio tiedosto (esimerkiksi):

/etc/dhcpd.conf
# No DHCP service in DMZ network (192.168.2.0/24)
subnet 192.168.2.0 netmask 255.255.255.0 {
}

Palvelu tiedosto

Ei ole olemassa palvelu tiedostoja oletukselta, jotka käyttävät dhcpd:tä vain yhdessä käyttöliittymässä, jolloin sellainen pitää luoda. Aloita kopioimalla jo olemassa oleva palvelu:

# cp /usr/lib/systemd/system/dhcpd4.service /etc/systemd/system/[email protected]

Sen jälkeen muokkaa ExecStart riviä sisältämään käyttöliittymä:

/etc/systemd/system/[email protected]
...
[Service]
...
ExecStart=/usr/bin/dhcpd -4 -q -cf /etc/dhcpd.conf -pf /run/dhcpd4/dhcpd.pid %I
...

Tämä on mallinne yksikkö, joka sitoo sen erityiseen käyttöliittymään, esimerkiksi dhcpd4@eth0.service missä eth0 on käyttöliittymä, jonka näkee komennolla ip link.

Käyttö PXE:lle

PXE konfiguraatio tehdään kahdella seuraavalla asetuksella:

/etc/dhcpd.conf
next-server 192.168.0.2;
tiedostonimi "/pxelinux.0";

Tämä osa voi olla kokonaisuudessa subnet tai vain host määritelmässä. next-server on TFTP palvelimen IP, ja tiedostonimi on tiedoston nimi kuvasta josta bootataan. Enemmän tietoa löytyy PXE artikkelista.

Katso myös