精品
精品
名称
dhcpd.conf - dhcpd
配置文件
描述
dhcpd.conf文件包括ISC DHCP的dhcpd的配置信息。
dhcpd.conf文件是一个普通格式的 ASCII 码文档, 它由内置的递归解
析器解释。
dhcpd.conf文件可能会包含许多额外的 tab 和空格、空行,它们的目的
是让文件更容易阅读。 其中的关键字对大小写不敏感。注释语句可以放在任何 位置(除了引号中)注释语句用 # 开头,这一行结束时注释语句自然结束。
文件包括一组语句,语句在一对大括号中,包含参数和声明。 参数语句说明如何做一件事(例如,租期是多长时间),或者是否做一 件事情。 ( 例如, dhcpd 是否为未知客户提供地址 ) ,或者给客户提供哪种参数 ( 例如,使用网关 ) 。
声明用来描述网络的拓扑结构、网络上的客户,提供可以为客户端分配 的地址,或者对某个客户端组应用组( group )参数。在任何组参数中,所有的 这些组参数必须比使用这些组参数的语句先出现。
网络声明包含多子网的网络 (有些地方译为: 超网,但超网太难理解了, 这里叫“多子网网络”)和子网的拓扑声明。对于有地址被动态分配给客户端的 子网,子网声明中必须有一个 range 声明语句。 对于静态分配的地址, 或者是已 知客户的安装,每个客户端都必须使用一个 host 声明语句。如果一个参数应用 到一组声明中,这些声明并不只与某个子网相关,可以定义一个“组参数”。
对每一个要服务的子网,每个dhcp服务器连接的子网,都必须有一个子 网声明,用来告诉dhcpd如何处理那个子网上的地址。即使一个子网不需要分配 任何地址,也需要一个子网声明。
一些物理网络上不只有一个 IP 子网存在, 例如,如果一个网络需要一个 8位的子网,但是当业务发展使总的节点数超过了 254台,就需要增加一个 8 位 的子网。这时,就增加了一个新的物理网络,这种情况下, 2 个网络的子网声明 必须包含在一个“多子网网络声明(超级作用域)”中。
有些网络的客户端不只有一个子网,可能会为同一子网中一些客户端分 配的一些参数与其它的客户端不同。这样的用户可以使用 host 语句来定义,一 些参数也可以定义在“组参数”语句中,它被这些客户端共同调用。对于需要根 据不同情况获得不同地址的客户端,可能会使用“类声明(class declarations )” 和“条件声明( conditional declarations )”语句,这样可以根据客户端发送 的信息来决定分配给客户端的参数。
当一个客户端启动时, 服务器先查看是否有匹配客户端的 host 语句,如 果没有,再看是否有匹配的“类声明( class declarations )”语句,接着查看 是否有“池pool ”匹配,“子网sub net ”匹配和“多子网网络(超级作用域) shared-net-work ”匹配。(根据这些匹配,)将符合这个客户端的参数提供给 它。每种参数都不会被分析第 2次,如果它们出现了 2次或 2次以上, 那么会使 用那个最精确出现的地方。
dhcpd 首先查找客户端是否有包含固定 IP 地址的 host 语句,这个地址要 在客户端启动的那个子网中,或者“多子网网络”中,如果没有对应的 host 语 句匹配,那就查找非固定地址的声明。
例如:
一个典型的 dhcpd.conf 文件将会象下面这样:
global parameters...
subnet netmask 24 {
subnet-specific parameters...
range 0 0;
}
subnet 2 netmask 24 {
subnet-specific parameters...
range 2 2;
}
subnet 4 netmask 24 {
subnet-specific parameters...
range 4 4;
}
group {
group-specific parameters...
host {
host-specific parameters...
}
host {
host-specific parameters...
}
host {
host-specific parameters...
}
}
图 1
注意文件的开始,它是全局参数放置的地方,可能会是:
组织的域名,DNS服务器的地址(如果这个服务器对整个网络都是一样 的)和其它一些。比如:
option domain-name "";
option domain-name-servers , ;
如图2中所示,可以使用DNSK务器的名称而不使用它的IP地址,如果 指定不只一个DNS服务器地址,那么只要有可能,所有地址都会提供