Jak mogę przypisać adres IP według adresu MAC w dhcpd

10

Jak przypisać adres IP specyficzny adresowi Mac za pomocą dhcpd?

Do tej pory próbowałem

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

w moim dhcpd.conf. Ale po ponownym uruchomieniu dhcpd i komputera z pytanym adresem mac ponownie otrzymuję losowy adres IP.

adampolarny
źródło

Odpowiedzi:

8

To jest w porządku format - używam dokładnie tego samego. Tylko ja dołączam komentarz na końcu wiersza (dodatkowo). Oto fragment z pracy dhcpd.conf:

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

Jak wspomina @Christoph, może istnieć globalna opcja zadeklarowana (lub używane wartości domyślne usługi), która może mieć wpływ na sposób przypisywania / zastępowania adresów IP.

Podczas migracji z dhcp3-server (v3) na isc-dhcp-server (v4) musiałem dodać niektóre obowiązkowe opcje i przepisać niektóre deklaracje. Ale struktura pliku konfiguracyjnego pozostała prosta:

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

Tam użyłem nie pool, żadnych rangedeklaracji. Istnieją tylko dwie deklaracje podsieci (jedna po niej następuje druga).

Nie mam losowych adresów IP przypisanych do moich hostów, które są tutaj zadeklarowane (powiązane z MAC).

saulius2
źródło
Czy mogę używać hosta bez podsieci? Muszę ustawić transmisję, aby była taka sama jak sam ip, muszę też ustawić maskę sieciową 255.255.255.255. Nadal muszę trochę post-up route addi pre-down route delpracować. Czy mogę, czy powinienem zrobić to wszystko tutaj?
Qian Chen,
@ElgsQianChen: Myślę, że to nie dotyczy tematu.
saulius2
@QianChen, czy udało Ci się przypisać adres IP z podsiecią będącą = 255.255.255.255?
saulius2
2

Nigdzie na dhcpd.confstronie podręcznika nie ma żadnej wyraźnej wzmianki (i nie mogę tego teraz wypróbować), ale zawsze zakładałem, że w jednym wierszu dozwolona jest tylko jedna instrukcja.

host blah { 
    hardware ethernet <mac address>; 
    fixed-address <ip address>;
}
Sven
źródło
2

Nie znam twojego pliku dhcpd.conf, ale jeśli masz allow unknown-clientswyciąg, powinieneś go dodać allow known-clients.

Jeśli dobrze pamiętam, stały adres IP nie powinien znajdować się w zakresie, w którym serwer DHCP przekazuje klientom.

Gdy host ma stary adres z tego samego serwera DHCP, serwer może przekazać starą dzierżawę, o ile jest ona ważna, tj. Nie upłynął czas dzierżawy.

Pomogłoby to, gdybyś mógł podać więcej swojej konfiguracji.

Christoph
źródło
Właściwie uważam, że jest poprawne, tworzysz grupy lub podklasy nazwanych klientów na identyfikatorach sprzętowych, a następnie nadajesz im pulę adresów-odmowa-nieznana (i oddzielną pulę adresów, na którą nie można zezwolić, jeśli to konieczne.
quadruplebucky
-3

Masz tam zbyt wiele dwukropków:

Ze strony podręcznika dhcpd.conf:

         host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }
quadruplebucky
źródło
2
To również obcina tę ustaloną deklarację IP, więc tak naprawdę nie odpowiada na pytanie PO.
Magellan