热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux作DHCP服务器之二

文章标题:Linux作DHCP服务器之二。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  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文件加一条
推荐阅读
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
author-avatar
mobiledu2502877091
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有