Bagaimana saya bisa menetapkan IP berdasarkan alamat MAC di dhcpd

10

Bagaimana cara menetapkan alamat IP khusus untuk alamat mac menggunakan dhcpd?

Sejauh ini saya sudah mencoba

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

di dhcpd.conf saya. Tapi setelah me-restart dhcpd dan mesin dengan alamat mac yang dimaksud saya hanya mendapatkan IP acak lagi.

adampolar
sumber

Jawaban:

8

Ini format yang sangat bagus - saya menggunakan persis sama. Hanya saya menambahkan komentar di akhir baris (sebagai tambahan). Ini kutipan dari bekerja dhcpd.conf:

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

Seperti @Christoph menyebutkan, mungkin ada opsi global yang dideklarasikan (atau standar layanan digunakan) yang dapat memengaruhi cara IP ditugaskan / dapat menimpanya.

Saat bermigrasi dari dhcp3-server (v3) ke isc-dhcp-server (v4) saya perlu menambahkan beberapa opsi wajib dan menulis ulang beberapa deklarasi. Tetapi struktur file konfigurasi tetap sederhana:

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

Di sana saya tidak menggunakan pool, tidak ada rangedeklarasi. Hanya ada dua deklarasi subnet (satu diikuti oleh yang lain).

Di sana saya tidak mendapat IP acak yang ditugaskan ke host saya yang dinyatakan di sini (terkait dengan MAC).

saulius2
sumber
Bisakah saya menggunakan host tanpa subnet? Saya perlu mengatur siaran agar sama dengan ip itu sendiri, juga saya perlu mengatur netmask menjadi 255.255.255.255. Saya masih perlu beberapa post-up route adddan pre-down route delbekerja. Bisakah saya, atau saya harus melakukan semua ini di sini?
Qian Chen
@ ElgsQianChen: Saya pikir ini tidak berhubungan dengan topik.
saulius2
2

Tidak ada penyebutan eksplisit di mana pun di dhcpd.confhalaman manual (dan saya tidak bisa mencobanya sekarang), tetapi saya selalu berasumsi bahwa hanya ada satu pernyataan yang diizinkan per baris.

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

Saya tidak tahu dhcpd.conf Anda, tetapi jika Anda memiliki allow unknown-clientspernyataan, Anda harus menambahkan allow known-clients.

Jika saya ingat dengan benar, IP tetap tidak boleh berada dalam kisaran DHCP-Server Anda bagi klien.

Ketika tuan rumah memiliki alamat lama dari DHCP-Server yang sama, server dapat membagikan sewa lama selama valid, yaitu waktu sewa tidak berakhir.

Ini akan membantu, jika Anda dapat memberikan lebih banyak konfigurasi Anda.

Christoph
sumber
Sebenarnya, saya pikir itu benar, Anda membuat grup atau subkelas dari klien bernama pada pengidentifikasi perangkat keras dan kemudian memberi mereka kolam alamat menolak-tidak dikenal (dan kolam alamat terpisah untuk mengizinkan-tidak diketahui, jika diinginkan.
quadruplebucky
-3

Anda memiliki terlalu banyak titik dua di sana:

Dari halaman manual dhcpd.conf:

         host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }
quadruplebucky
sumber
2
Itu juga memotong deklarasi IP tetap ini, jadi ini sebenarnya tidak menjawab pertanyaan OP.
Magellan