如何使用 dhcpd 为 mac 地址分配特定的 IP 地址?
到目前为止我已经尝试过
host blah { hardware ethernet <mac address>; fixed-address <ip address>;}
在我的 dhcpd.conf 中。但是,在重新启动 dhcpd 和具有该 mac 地址的机器后,我再次获得一个随机 IP。
答案1
这是非常好的格式——我使用的格式完全一样。只是我在行尾添加了一条注释(另外)。以下是工作中的摘录dhcpd.conf
:
host wrt45gl-etika { hardware ethernet 00:21:29:a1:c3:a1; fixed-address ---.219.43.135; } # MSIE routeris WRT54GL
正如@Christoph 提到的,可能声明了全局选项(或使用了服务默认值),这可能会影响 IP 的分配方式/可能会覆盖它。
从dhcp3 服务器(v3)至isc-dhcp 服务器(v4) 我需要添加一些强制选项并重写一些声明。但配置文件的结构仍然很简单:
#
# 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
}
}
}
那里我没有使用pool
,没有range
声明。只有两个子网声明(一个接一个)。
我的主机没有被分配这里声明的随机 IP(与 MAC 绑定)。
答案2
手册页中没有任何地方明确提及dhcpd.conf
(我现在无法尝试),但我一直认为每行只允许一个语句。
host blah {
hardware ethernet <mac address>;
fixed-address <ip address>;
}
答案3
我不知道你的 dhcpd.conf,但如果你有allow unknown-clients
声明,你应该添加allow known-clients
。
如果我没记错的话,固定 IP 不应该在 DHCP 服务器分配给客户端的范围内。
当主机具有来自同一 DHCP 服务器的旧地址时,只要旧租约有效(即租约时间未过期),服务器就可能发放旧租约。
如果您可以提供更多配置信息,那将会很有帮助。
答案4
里面的冒号太多了:
来自 dhcpd.conf 手册页:
host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }