Come posso assegnare un IP tramite l'indirizzo MAC in dhcpd


10

Come posso assegnare un indirizzo IP specifico a un indirizzo mac usando dhcpd?

Finora ci ho provato

host blah { hardware ethernet <mac address>; fixed-address <ip address>;}

nel mio dhcpd.conf. Ma dopo aver riavviato dhcpd e la macchina con l'indirizzo mac in questione ottengo di nuovo un IP casuale.

Risposte:


8

Questo è un formato perfettamente perfetto - io uso esattamente lo stesso. Aggiungo solo un commento alla fine della riga (in aggiunta). Questo è estratto dal lavoro dhcpd.conf:

host wrt45gl-etika  { hardware ethernet 00:21:29:a1:c3:a1; fixed-address ---.219.43.135; } # MSIE routeris WRT54GL

Come cita @Christoph, potrebbe esserci un'opzione globale dichiarata (o utilizzate impostazioni predefinite del servizio) che potrebbe avere un impatto sul modo in cui gli IP sono assegnati / potrebbe sovrascriverlo.

Durante la migrazione da dhcp3-server (v3) a isc-dhcp-server (v4) ho dovuto aggiungere alcune opzioni obbligatorie e riscrivere alcune dichiarazioni. Ma la struttura del file di configurazione è rimasta semplice:

#
# Sample configuration file for ISC dhcpd for Debian
#

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)

ddns-update-style none;

# option definitions common to all supported networks...

option domain-name "mf.vu.---";
option domain-name-servers ---.219.80.11, ---.219.80.2, ---.171.22.22;

default-lease-time 2678400;
max-lease-time 2678400;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.

authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).

log-facility local7;


# The subnet that shares this physical network

shared-network TOTAL_MF {
 server-name "letta.mf.vu.--";

 subnet ---.219.43.128 netmask 255.255.255.192 {
  option routers ---.219.43.190;
  option broadcast-address ---.219.43.191;

  group {
    host wrt45gl-etika  { hardware ethernet 00:21:29:a1:c3:a1; fixed-address ---.219.43.135; } # MSIE routeris WRT54GL
    # ...
    host saulute        { hardware ethernet 00:21:28:10:f4:16; fixed-address ---.219.43.189;  } # Virtual Qemu PC NIC
  }
 }

 subnet 172.16.43.128 netmask 255.255.255.192 {
  option routers 172.16.43.129;
  option broadcast-address 172.16.43.191;

  group{
    host ligo           { hardware ethernet 08:00:20:7A:E2:70; fixed-address 172.16.43.179;   } #a225 ligo
    # ...
    host vumfsa2        { hardware ethernet 00:80:48:8d:12:f0; fixed-address 172.16.43.140;   } # 118
  }
 }
}

Lì ho usato no pool, nessuna rangedichiarazione. Esistono solo due dichiarazioni di sottorete (una seguita da un'altra).

Lì non ho assegnato IP casuali ai miei host che sono dichiarati qui (legati ai MAC).


Posso usare l'host senza sottorete? Devo impostare la trasmissione in modo che sia uguale all'ip stesso, inoltre devo impostare la maschera di rete 255.255.255.255. Ho ancora bisogno di alcuni post-up route adde di pre-down route dellavoro. Posso, o dovrei fare tutto questo qui?
Qian Chen,

@ElgsQianChen: penso che questo non riguardi l'argomento.
saulius2,

@QianChen, sei riuscito ad assegnare l'IP con la sottorete = = 255.255.255.255?
saulius2

2

Non c'è alcuna menzione esplicita da nessuna parte nella dhcpd.confpagina man (e non posso provarla ora), ma ho sempre supposto che ci fosse una sola istruzione consentita per riga.

host blah { 
    hardware ethernet <mac address>; 
    fixed-address <ip address>;
}

2

Non conosco il tuo dhcpd.conf, ma se hai una allow unknown-clientsdichiarazione, dovresti aggiungere allow known-clients.

Se ricordo bene, l'IP fisso non dovrebbe rientrare nell'intervallo che il tuo server DHCP distribuisce ai client.

Quando l'host ha un indirizzo precedente dallo stesso server DHCP, il server può distribuire il vecchio contratto di locazione fintanto che è valido, ovvero il tempo di noleggio non è scaduto.

Sarebbe di aiuto se tu potessi fornire più config.


In realtà, penso che sia corretto, crei gruppi o sottoclassi di client con nome su identificatori hardware e poi dai loro un pool di indirizzi nega-sconosciuto (e un pool di indirizzi separato per consentire-sconosciuto, se lo desideri.
quadruplebucky

-3

Hai troppi due punti dentro:

Dalla pagina man dhcpd.conf:

         host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }

2
Ciò tronca anche questa dichiarazione IP fissa, quindi in realtà non risponde alla domanda del PO.
Magellan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.