README中文翻译
时间:2007-06-17 来源:liufirst
Internet Systems Consortium(ISC) DHCP 程序
版本 3.0.1
2004年7月14
README文件
在安装使用DHCP程序前仔细阅读。
(这个翻译比较仓促,问题很多,凑合着看看,毕竟里面有相当多的重要信息----by liufirst)
目录
1 哪里去找相关的文档
2 版本发展情况
3 建立DHCP程序
3.1 解压
3.2 配置
3.2.1 动态DNS更新
3.2.2 本地定义的选项
3.3 建立(build)
4 安装DHCP程序
5 使用DHCP
5.1 防火墙规则
5.2 LINUX
5.2.1 没有IF_TR.H
5.2.2 没有定义SO_ATTACH_FILTER
5.2.3 协议没有配置
5.2.4 广播
5.2.6 IP代理启动
5.2.7 多接口
5.3 SCO
5.4 HP-UX
5.5 ULTRIX
5.6 FreeBSD
5.7 NeXTSTEP
5.8 SOLARIS
6 技术支持
6.1 如何报告错误
哪里去找相关的文档
本软件的文档,包括这个README ,RELNOTES 文件和manual页,都在服务器的相关目录中(common,client and relay 子目录),本文件(README)包括(late-breaking??)使用以及系统特定信息,即使你不想读手册,也应该阅读本文档。 Internet 相关的DHCP标准保存在doc子目录中。如果你自己安装这个软件,你最好读一下手册。
DHCP 服务器文档在dhcpd 的man 里,DHCP服务器的lease数据库的信息在dhcpd.leases 的man 里。服务器配置文档在dhcpd.conf 的man里,在dhcp-options的 man里也有。在server/dhcpd.conf里有一个范例文档。Dhcpd的源代码、dhcpd.leases 和dhcpd.conf 的man 在server子目录里。dhcp-options.5的man 在common子目录中。
DHCP 客户端文档在dhclient的 man里。DHCP客户端配置文档在dhclient.conf 的man中和dhcp-options的 man 里。DHCP 客户端配置脚本在dhclient-script的 man 里。DHCP客户端的lease数据库格式在dhclient.leases 的man 里。这些文档都保存在client/ 子目录中。另外,dhcp-options的man 也会在DHCP的选项中说明。
DHCP 中继代理文档在dhcrelay 的man页里。它的文档保存在relay/ 子目录中。
使用man命令来阅读安装手册:"man page",这里page 是手册的名字。必须在安装了ISC DHCP 程序之后才台阅读。
如果你在阅读没有安装部分的手册,可以用``nroff -man page |more'' 命令,这里page 是没有格式化的手册的名字。未格式化的手册的名字是手册名字后面加'.',然后跟上数字- 5 说明是文件的文档或者是8 ,说明是程序的文档。例如,要阅读dhcp-options 的man页,可以用``nroff -man common/dhcp-options.5 |more''(假定当前的工作目录是ISC DHCP的顶级目录)。
如果没有“nroff ”命令,可以用``more catpage'',这里的catpage 是catted的文件名,Catted的 man页的名字是手册名字加上".cat"然后跟上数字5 或 8,就像未格式化的手册名一样。
需要注意的是,如果你不安装这些程序,前面提到的目录都是不正确的。
版本状态
这个版本是ISC DHCP 3.0.1。
在这个版本里,服务器和中继代理完全基于NetBSD,它是内核版本高于2.2的Linux、FreeBSD, OpenBSD, BSD/OS, Digital Tru64 Unix 和Solaris。这个软件也可以运行在HP-UX,但只支持单个网络接口,也可能用在QNX, SCO, NeXTStep,和MacOS X,但是应用很少。我们还没有一个在HP-UX上运行这个程序的简单方法。
现在只知道在NetBSD, FreeBSD, OpenBSD, BSD/os, Linux, Solaris和NextStep上如何配置客户端,客户端配置依赖于系统的shell 脚本如何进行网络配置。
如果你在防火墙后运行一个DHCP程序,或者DHCP 服务器和客户机之间有防火墙,那得先看看后面有关防火墙的章节。
在Linux下运行DHCP 程序,先看看后面有关Linux需求的章节。如果在SCO、FreeBSD、HP-UX等下运行,也先查找相关的章节。
如果开始运行dhcpd 后得到一个信息: "no free bpf",这表示需要配置Berkeley Packet Filter 到操作系统内核里。在NetBSD, FreeBSD 和BSD/os,输入``man bpf'' 可以得到更多信息,在Digital Unix中,输入``man pfilt''。
建立DHCP程序
解压
To build the DHCP Distribution, unpack the compressed tar file using
the tar utility and the gzip command - type something like:
zcat dhcp-3.0.1.tar.gz |tar xvf -
On BSD/OS, you have to type gzcat, not zcat, and you may run into
similar problems on other operating systems.
配置
Now, cd to the dhcp-3.0.1 subdirectory that you've just created and
configure the source tree by typing:
./configure
If the configure utility can figure out what sort of system you're
running on, it will create a custom Makefile for you for that
system; otherwise, it will complain. If it can't figure out what
system you are using, that system is not supported - you are on
your own.
动态DNS更新
版本支持完全特性的动态DNS更新,不需要任何BIND版本支持,它使用你的C库。
在dhcpd.conf 手册里有ddns的支持(前面有介绍)。
本地定义的选项
在前一个版本的DHCP服务器中有一个机制,他允许配置服务器不能识别的选项,方法是使用由选项代码组成的名字和一个定义符:"option-nnn",现在这个已经不被支持了,因为可能不安全。如果你想使用一个服务器不能识别的选项,必须按照dhcp-options的man中DEFINING NEW OPTION部分精确定义。
创建
一旦运行了配置(configure),然后运行``make'',稍等一会你就有了一个dhcp 服务器,如果在前面列出的操作系统中出现编译错误,请告诉我们。
如果只是出现了警告,一般都不是什么大问题。如果在你的单独的操作系统中出现了问题,可能会需要在你的系统中重新编程和排错。
安装DHCP程序
然后要做的是``make install'',如果前面你有一个老版本的DHCP,最好``make install''之前保存那个版本。
使用DHCP程序
防火墙规则
如果DHCP服务器或客户端上安装有防火墙,必须允许DHCP包通过防火墙。特别是,必须允许IP地址从0.0.0.0 到255.255.255.255 的UDP端口 68和67通过,允许包从本地防火墙的IP地址UDP 67端口到任何地址,DHCP服务器使用UDP 68端口服务。最后,从中继代理的67端口到DHCP服务器的67端口,反之亦然,都必须被允许。
我们注意到在某些系统中我们使用包过滤器,如果你设置防火墙完全阻止UDP 67和68端口,而包通过包过滤器却没有真的被阻止,然而,单播包将会被阻止。这将会导致一个奇怪的现象,在DHCP客户端,由于初始的包是广播包,返回包是单播包,客户端不能更新地址,直到返回包是广播包时,突然好像DHCP能用了。解决方法是修正防火墙规则。
局部服务器
如果有一个服务器连接到两个网络中,但只向其中一个提供一个DHCP服务(例如,你使用Cable Modem服务,并且建立了NAT的路由器),如果没有为不想支持DHCP服务的子网配置声明,DHCP服务器将会忽略那个子网的请求。如果它不能,它将会拒绝运行。有些操作系统不支持DHCP运行在多接口的系统中。
LINUX
有三项,广播地址,启动代理和多接口操作。两个可能的问题: "SO_ATTACH_FILTER undeclared" 和"protocol not configured"。