FreeBSD 使用手册-DHCP

www.net130.com     日期:2006-8-2    浏览次数:

       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 为止。

编辑您的 /etc/rc.conf 并加入下面的设置:

ifconfig_fxp0="DHCP"
注意: 务必将 fxp0 替换为您希望自动配置的网络接口的名字, 您可以在 第 11.8 节 找到更进一步的介绍。

如果您希望使用另一位置的 dhclient, 或者需要给 dhclient 传递其他参数, 还可以添加下面的配置 (根据需要进行修改):

dhcp_program="/sbin/dhclient"
dhcp_flags=""

  DHCP 服务器, dhcpd, 是作为 net/isc-dhcp3-server port 的一部分提供的。 这个 port 包括了 ISC DHCP 服务器及其文档。

文件
/etc/dhclient.conf

dhclient 需要一个配置文件, /etc/dhclient.conf。 一般说来, 这个文件中只包括注释,而默认值基本上都是合理的。 这个配置文件在 dhclient.conf(5) 联机手册中进行了进一步的阐述。

/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 协议的完整描述是 RFC 2131。 关于它的其他信息资源的站点 http://www.dhcp.org/ 也提供了详尽的资料。

安装和配置 DHCP 服务器

  DHCP 套件中的服务器部分并没有作为 FreeBSD 的一部分来提供, 因此您需要安装 net/isc-dhcp3-server port 才能提供这个服务。

       安装 DHCP 服务器
  为了在您的 FreeBSD 系统上进行配置以便作为 DHCP 服务器来使用, 需要把 bpf(4) 设备编译进内核。 要完成这项工作, 需要将 device bpf 加入到您的内核配置文件中, 并重新联编内核。

  bpf 设备是 FreeBSD 所附带的 GENERIC 内核中已经联入的组件, 因此您并不需要为了让 DHCP 正常工作而特别地定制内核。

注意: 如果您有较强的安全意识, 应该注意 bpf 同时也是让听包程序能够正确工作的设备 (尽管这类程序仍然需要以特权用户身份运行)。 bpf 是 使用 DHCP 所必需的, 但如果您对安全非常敏感, 您可能会不希望将 bpf 放进内核, 直到您真的认为 DHCP 是必需的为止。

  接下来要做的是编辑示范的 dhcpd.conf, 它由 net/isc-dhcp3-server port 安装。 默认情况下, 它的名字应该是 /usr/local/etc/dhcpd.conf.sample, 在开始修改之前,您需要把它复制为 /usr/local/etc/dhcpd.conf。

      配置 DHCP 服务器
  dhcpd.conf 包含了一系列关于子网和主机的定义,下面的例子可以帮助您理解它:

option domain-name "example.com";
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;
  fixed-address mailhost.example.com;
}
 
这个选项指定了提供给客户机作为默认搜索域的域名。 请参考 resolv.conf(5) 以了解关于这一概念的详情。
 
这个选项用于指定一组客户机使用的 DNS 服务器, 它们之间以逗号分隔。
 
提供给客户机的子网掩码。
 
客户机可以请求租约的有效期, 而如果没有, 则服务器将指定一个租约有效期, 也就是这个值 (单位是秒)。
 
这是服务器允许租出地址的最大时长。 如果客户机请求了更长的租期, 则它将得到一个地址,但其租期仅限于 max-lease-time 秒。
 
这个选项用于指定 DHCP 服务器在一个地址被接受或释放时是否应对应尝试更新 DNS。 在 ISC 实现中, 这一选项是 必须指定的。
 
指定地址池中可以用来分配给客户机的 IP 地址范围。 在这个范围之间, 以及其边界的 IP 地址将分配给客户机。
 
定义客户机的默认网关。
 
主机的硬件 MAC 地址 (这样 DHCP 服务器就能够在接到请求时知道请求的主机身份)。
 
指定总是得到同一 IP 地址的主机。 请注意在此处使用主机名是对的, 因为 DHCP 服务器会在返回租借地址信息之前自行解析主机名。
  在配制好 dhcpd.conf 之后, 应在 /etc/rc.conf 中启用 DHCP 服务器, 也就是增加:

dhcpd_enable="YES"
dhcpd_ifaces="dc0"
  此处的 dc0 接口名应改为 DHCP 服务器需要监听 DHCP 客户端请求的接口 (如果有多个, 则用空格分开)。

  接下来, 可以用下面的命令来启动服务:

# /usr/local/etc/rc.d/isc-dhcpd.sh start
  如果未来您需要修改服务器的配置, 请务必牢记发送 SIGHUP 信号给 dhcpd 并 不会 导致配置文件的重新加载,而这在其他服务程序中则是比较普遍的约定。 您需要发送 SIGTERM 信号来停止进程, 然后使用上面的命令来重新启动它。

文件
/usr/local/sbin/dhcpd

dhcpd 是静态连接的, 并安装到 /usr/local/sbin 中。 随 port 安装的 dhcpd(8) 联机手册提供了关于 dhcpd 更为详尽的信息。

/usr/local/etc/dhcpd.conf

dhcpd 需要配置文件, 即 /usr/local/etc/dhcpd.conf 才能够向客户机提供服务。这个文件需要包括应提供给客户机的所有信息, 以及关于服务器运行的其他信息。此配置文件的详细描述可以在随 port 安装的 dhcpd.conf(5) 联机手册上找到。

/var/db/dhcpd.leases

DHCP 服务器会维护一个它签发的租用地址数据库, 并保存在这个文件中,这个文件是以日志的形式保存的。 随 port 安装的 dhcpd.leases(5) 联机手册提供了更详细的描述。

/usr/local/sbin/dhcrelay

dhcrelay 在更为复杂的环境中, 可以用来支持使用 DHCP 服务器转发请求给另一个独立网络上的 DHCP 服务器。 如果您需要这个功能, 需要安装 net/isc-dhcp3-relay port。 dhcrelay(8) 联机手册提供了更为详尽的介绍。

 

相关新闻