红联Linux门户
Linux帮助

FreeBSD 使用手册-DHCP

发布时间:2006-09-25 00:16:08来源:红联作者:fengmayi1
  FreeBSD 集成
  FreeBSD 完全地集成了 ISC 或 OpenBSD 的 DHCP 客户端, dhclient (取决于您运行的 FreeBSD 版本)。 DHCP 客户端被安装程序直接支持, 并且是基本系统的一部分。 这使得您不再需要去了解那些已经运行了 DHCP 服务器的网络的具体配置参数。 从 FreeBSD 3.2 开始, 每一个发行版中均包含 dhclient。
  sysinstall 能够支持 DHCP。 在 sysinstall 中配置网络接口时, 它询问的第二个问题便是: “Do you want to try DHCP configuration of the interface? (您是否希望在此接口上尝试 DHCP 配置?)”。 如果做肯定的回答, 则将运行 dhclient, 一旦成功,则将自动地填写网络配置信息。
  要在系统启动时使用 DHCP, 您必须做两件事:
您的内核中, 必须包含 bpf 设备。 如果需要这样做, 需要将 device bpf 添加到内核的编译配置文件中, 并重新编译内核。
bpf 设备已经是 FreeBSD 发行版中默认的 GENERIC 内核的一部分了, 因此如果您没有对内核进行定制,则不用创建一份新的内核配置文件, DHCP 就能工作了。
注意: 对于那些安全意识很强的人来说, 您应该知道 bpf 也是包侦听工具能够正确工作的条件之一 (当然, 它们还需要以 root 身份运行才行)。 bpf 是 使用 DHCP 所必须的, 但如果您对安全非常敏感,则很可能会有理由不把 bpf 加入到您的内核配置中,直到您真的需要使用 DHCP 为止。[code]ifconfig_fxp0="DHCP"[/code]注意: 务必将 fxp0 替换为您希望自动配置的网络接口的名字, 您可以在 第 11.8 节 找到更进一步的介绍。
如果您希望使用另一位置的 dhclient, 或者需要给 dhclient 传递其他参数, 还可以添加下面的配置 (根据需要进行修改):[code]dhcp_program="/sbin/dhclient"
dhcp_flags=""[/code]DHCP 服务器, dhcpd, 是作为 net/isc-dhcp3-server port 的一部分提供的。 这个 port 包括了 ISC DHCP 服务器及其文档。
文件
/sbin/dhclient
dhclient 是一个静态连编的, 它被安装到 /sbin 中。 dhclient(8) 联机手册给出了关于 dhclient 的进一步细节。
/sbin/dhclient-script
dhclient-script 是一个 FreeBSD 专用的 DHCP 客户端配置脚本。在 dhclient-script(8) 中对它进行了描述, 但一般来说, 用户不需要对其进行任何修改, 就能够让一切正常运转了。
/var/db/dhclient.leases
DHCP 客户程序会维护一个数据库来保存有效的 lease, 它们被以日志的形式保存到这个文件中。 dhclient.leases(5) 给出了更为细致的介绍。
  安装和配置 DHCP 服务器
  DHCP 套件中的服务器部分并没有作为 FreeBSD 的一部分来提供, 因此您需要安装 net/isc-dhcp3-server port 才能提供这个服务。
安装 DHCP 服务器
  为了在您的 FreeBSD 系统上进行配置以便作为 DHCP 服务器来使用, 需要把 bpf(4) 设备编译进内核。 要完成这项工作, 需要将 device bpf 加入到您的内核配置文件中, 并重新联编内核。
  bpf 设备是 FreeBSD 所附带的 GENERIC 内核中已经联入的组件, 因此您并不需要为了让 DHCP 正常工作而特别地定制内核。
注意: 如果您有较强的安全意识, 应该注意 bpf 同时也是让听包程序能够正确工作的设备 (尽管这类程序仍然需要以特权用户身份运行)。 bpf 是 使用 DHCP 所必需的, 但如果您对安全非常敏感, 您可能会不希望将 bpf 放进内核, 直到您真的认为 DHCP 是必需的为止。
配置 DHCP 服务器
option domain-name-servers 192.168.4.100;
option subnet-mask 255.255.255.0;
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.129 192.168.4.254;
option routers 192.168.4.1;
}
host mailhost {
hardware ethernet 02:03:04:05:06:07;
}[/code]


这个选项用于指定一组客户机使用的 DNS 服务器, 它们之间以逗号分隔。

提供给客户机的子网掩码。

客户机可以请求租约的有效期, 而如果没有, 则服务器将指定一个租约有效期, 也就是这个值 (单位是秒)。

这是服务器允许租出地址的最大时长。 如果客户机请求了更长的租期, 则它将得到一个地址,但其租期仅限于 max-lease-time 秒。

这个选项用于指定 DHCP 服务器在一个地址被接受或释放时是否应对应尝试更新 DNS。 在 ISC 实现中, 这一选项是 必须指定的。

指定地址池中可以用来分配给客户机的 IP 地址范围。 在这个范围之间, 以及其边界的 IP 地址将分配给客户机。

定义客户机的默认网关。

主机的硬件 MAC 地址 (这样 DHCP 服务器就能够在接到请求时知道请求的主机身份)。

指定总是得到同一 IP 地址的主机。 请注意在此处使用主机名是对的, 因为 DHCP 服务器会在返回租借地址信息之前自行解析主机名。[code]dhcpd_enable="YES"
dhcpd_ifaces="dc0"[/code]此处的 dc0 接口名应改为 DHCP 服务器需要监听 DHCP 客户端请求的接口 (如果有多个, 则用空格分开)。
  接下来, 可以用下面的命令来启动服务:[code]# /usr/local/etc/rc.d/isc-dhcpd.sh start[/code]如果未来您需要修改服务器的配置, 请务必牢记发送 SIGHUP 信号给 dhcpd 并 不会 导致配置文件的重新加载,而这在其他服务程序中则是比较普遍的约定。 您需要发送 SIGTERM 信号来停止进程, 然后使用上面的命令来重新启动它。
文件
/usr/local/sbin/dhcpd
dhcpd 是静态连接的, 并安装到 /usr/local/sbin 中。 随 port 安装的 dhcpd(8) 联机手册提供了关于 dhcpd 更为详尽的信息。
/var/db/dhcpd.leases
DHCP 服务器会维护一个它签发的租用地址数据库, 并保存在这个文件中,这个文件是以日志的形式保存的。 随 port 安装的 dhcpd.leases(5) 联机手册提供了更详细的描述。
/usr/local/sbin/dhcrelay
dhcrelay 在更为复杂的环境中, 可以用来支持使用 DHCP 服务器转发请求给另一个独立网络上的 DHCP 服务器。 如果您需要这个功能, 需要安装 net/isc-dhcp3-relay port。 dhcrelay(8) 联机手册提供了更为详尽的介绍。
文章评论

共有 1 条评论

  1. nicky1981 于 2006-09-25 12:58:21发表:

    支持,谢谢