Linux作DHCP服务器之二

发表于:2007-07-04来源:作者:点击数: 标签:
2.4 DHCP分配IP地址的过程 DHCP客户机初始化TCP/IP,在本地物理子网上广播一个 DHCPDISCOVER 消息, 以确定DHCP服务器位 置及其IP地址。如果DHCP服务器和客户不在同一个物理子网上,BOOTP中继代理将转发这个消息给DHCP服务器。由于 网络 上可能不止一个DHCP

  2.4 DHCP分配IP地址的过程
  
  DHCP客户机初始化TCP/IP,在本地物理子网上广播一个 DHCPDISCOVER 消息, 以确定DHCP服务器位
  置及其IP地址。如果DHCP服务器和客户不在同一个物理子网上,BOOTP中继代理将转发这个消息给DHCP服务器。由于网络上可能不止一个DHCP服务器,凡所有具有有效IP地址信息的DHCP服务器向客户机发出一个提议。客户机从接收到的第一个提议中选定IP地址信息,并广播一条租用地址的消息请求。由发出该提议的DHCP服务器响应该消息,指定IP地址信息给该客户机并发送一个确认,而所有其它DHCP服务器撤回各自的提议。客户机完成TCP/IP协议的初始化和绑定。配置完成后,客户机就可以使用普通网络通信和连接至其它IP主机时用到的所有IP服务和应用。
  
  三、DHCP 服务器软件的安装
  
  
  在Linux几乎都采用的是Paul Vixie/ISC DHCPd,来实现DHCP服务器端功能。可以访问
  
  http://www.isc.org/isc
  
  获得最新消息。
  
  目前大多书Linux发布都包含这个软件,如果是Red Hat,以RPM形式提供,只要单地用RPM安装就可以了。
  
  # rpm -i dhcpd-1.3.17pl5-i386.rpm
  
  四、基本应用
  
  从目前情况看,大多数Linux DHCP服务器是为Windows95/98客户平台提供服务。
  
  1.增加主机路由
  
  
  为了使DHCP服务器能为正确MS的DHCP客户机器服务,需要创建一个到地址255.255.255.255的路由,把这条路由命令加到/etc/rc.d/rc.local,使得每次机器启动后自动运行。
  
  #route add -host 255.255.255.255 dev eth0
  
  在一些老Linux核心的系统里可能会报告错误消息:
  
  255.255.255.255: Unkown host
  
  可以试着加下面的条目到/etc/hosts文件里
  
  255.255.255.255 dhcphost
  
  再用下面的命令
  
  #route add -host dhcphost dev eth0
  
  2.修改配置文件
  
  DHCPd默认的配置文件是/etc/dhcpd.conf,这是一个文本文件,DHCPd里有一个语法分析器,能对这个文件进行语法分析,获得配置参数。dhcpd.conf 格式是递归下降的,关键字大小写敏感,可以有注释,注释以#开头,一直到该行结束。这里给出一个简单的dhcpd.conf的例子,所服务的网络为C类保留网络 192.168.1.0
  
  #examples
  
  # ?p>Linux作DHCP服务器之二
  
  Linuxaid技术支持网站 01-01-10 10:13 675p wushubin
  --------------------------------------------------------------------------------
  
  
  
  2.4 DHCP分配IP地址的过程
  
  DHCP客户机初始化TCP/IP,在本地物理子网上广播一个 DHCPDISCOVER 消息, 以确定DHCP服务器位
  置及其IP地址。如果DHCP服务器和客户不在同一个物理子网上,BOOTP中继代理将转发这个消息给DHCP服务器。由于网络上可能不止一个DHCP服务器,凡所有具有有效IP地址信息的DHCP服务器向客户机发出一个提议。客户机从接收到的第一个提议中选定IP地址信息,并广播一条租用地址的消息请求。由发出该提议的DHCP服务器响应该消息,指定IP地址信息给该客户机并发送一个确认,而所有其它DHCP服务器撤回各自的提议。客户机完成TCP/IP协议的初始化和绑定。配置完成后,客户机就可以使用普通网络通信和连接至其它IP主机时用到的所有IP服务和应用。
  
  三、DHCP 服务器软件的安装
  
  
  在Linux几乎都采用的是Paul Vixie/ISC DHCPd,来实现DHCP服务器端功能。可以访问
  
  http://www.isc.org/isc
  
  获得最新消息。
  
  目前大多书Linux发布都包含这个软件,如果是Red Hat,以RPM形式提供,只要单地用RPM安装就可以了。
  
  # rpm -i dhcpd-1.3.17pl5-i386.rpm
  
  四、基本应用
  
  从目前情况看,大多数Linux DHCP服务器是为Windows95/98客户平台提供服务。
  
  1.增加主机路由
  
  
  为了使DHCP服务器能为正确MS的DHCP客户机器服务,需要创建一个到地址255.255.255.255的路由,把这条路由命令加到/etc/rc.d/rc.local,使得每次机器启动后自动运行。
  
  #route add -host 255.255.255.255 dev eth0
  
  在一些老Linux核心的系统里可能会报告错误消息:
  
  255.255.255.255: Unkown host
  
  可以试着加下面的条目到/etc/hosts文件里
  
  255.255.255.255 dhcphost
  
  再用下面的命令
  
  #route add -host dhcphost dev eth0
  
  2.修改配置文件
  
  DHCPd默认的配置文件是/etc/dhcpd.conf,这是一个文本文件,DHCPd里有一个语法分析器,能对这个文件进行语法分析,获得配置参数。dhcpd.conf 格式是递归下降的,关键字大小写敏感,可以有注释,注释以#开头,一直到该行结束。这里给出一个简单的dhcpd.conf的例子,所服务的网络为C类保留网络 192.168.1.0
  
  #examples
  
  # 缺省租约时间
  
  default-lease-time 28800;
  
  # 最大租约时间
  
  max-lease-time 43200;
  
  # 子网掩码选项
  
  option subnet-mask 255.255.255.0;
  
  # 广播地址
  
  option broadcast-address 192.168.1.255;
  
  # 路由器地址
  
  option routers 192.168.1.1;
  
  # DNS地址
  
  option dom2.4 DHCP分配IP地址的过程
  
  DHCP客户机初始化TCP/IP,在本地物理子网上广播一个 DHCPDISCOVER 消息, 以确定DHCP服务器位
  置及其IP地址。如果DHCP服务器和客户不在同一个物理子网上,BOOTP中继代理将转发这个消息给DHCP服务器。由于网络上可能不止一个DHCP服务器,凡所有具有有效IP地址信息的DHCP服务器向客户机发出一个提议。客户机从接收到的第一个提议中选定IP地址信息,并广播一条租用地址的消息请求。由发出该提议的DHCP服务器响应该消息,指定IP地址信息给该客户机并发送一个确认,而所有其它DHCP服务器撤回各自的提议。客户机完成TCP/IP协议的初始化和绑定。配置完成后,客户机就可以使用普通网络通信和连接至其它IP主机时用到的所有IP服务和应用。
  
  三、DHCP 服务器软件的安装
  
  
  在Linux几乎都采用的是Paul Vixie/ISC DHCPd,来实现DHCP服务器端功能。可以访问
  
  http://www.isc.org/isc
  
  获得最新消息。
  
  目前大多书Linux发布都包含这个软件,如果是Red Hat,以RPM形式提供,只要单地用RPM安装就可以了。
  
  # rpm -i dhcpd-1.3.17pl5-i386.rpm
  
  四、基本应用
  
  从目前情况看,大多数Linux DHCP服务器是为Windows95/98客户平台提供服务。
  
  1.增加主机路由
  
  
  为了使DHCP服务器能为正确MS的DHCP客户机器服务,需要创建一个到地址255.255.255.255的路由,把这条路由命令加到/etc/rc.d/rc.local,使得每次机器启动后自动运行。
  
  #route add -host 255.255.255.255 dev eth0
  
  在一些老Linux核心的系统里可能会报告错误消息:
  
  255.255.255.255: Unkown host
  
  可以试着加下面的条目到/etc/hosts文件里
  
  255.255.255.255 dhcphost
  
  再用下面的命令
  
  #route add -host dhcphost dev eth0
  
  2.修改配置文件
  
  DHCPd默认的配置文件是/etc/dhcpd.conf,这是一个文本文件,DHCPd里有一个语法分析器,能对这个文件进行语法分析,获得配置参数。dhcpd.conf 格式是递归下降的,关键字大小写敏感,可以有注释,注释以#开头,一直到该行结束。这里给出一个简单的dhcpd.conf的例子,所服务的网络为C类保留网络 192.168.1.0
  
  #examples
  
  # 缺省租约时间
  
  default-lease-time 28800;
  
  # 最大租约时间
  
  max-lease-time 43200;
  
  # 子网掩码选项
  
  option subnet-mask 255.255.255.0;
  
  # 广播地址
  
  option broadcast-address 192.168.1.255;
  
  # 路由器地址
  
  option routers 192.168.1.1;
  
  # DNS地址
  
  option domain-name-servers 192.168.1.1;
  
  # 域名
  
  option domain-name "netreslab.org";
  
  # 以上都是全局参数
  
  # 子网声明和掩码
  
  subnet 192.168.1.0 netmask 255.255.255.0 {
  
  # 范围
  range 192.168.1.10 192.168.1.100;
  
  # 范围
  
  range 192.168.1.150 192.168.1.200;
  
  }
  
  这段配置文件将允许DHCP服务器分配两段地址范围给DHCP客户,192.168.1.10-100 和192.168.1.150-200
  如果DHCP客户在申请租约时不请求一个特定租约失效时间,则以default-lease-time(28800秒)为租约时间,如果有请求一个特定的租约失效时间,则采用max-lease-time(432000秒)
  
  服务器发送下面的参数给DHCP客户机:
  
  子网掩码是255.255.255.0 ,广播地址是192.168.1.255,默认网关是192.168.1.1,DNS是192.168.1.1。
  
  如果要为一台叫做hotdog的机器指定固定的IP地址,可以在dhcpd.conf文件加一条
  
  host hotdog {
  
  # hotdog上网卡的硬件地址
  hardware ethernet 08:00:00:4c:58:23;
  #固定IP
  fixed-address 192.168.1.210;
  }
  

原文转自:http://www.ltesting.net