• 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP


     使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置,在系统重启后依然可以工作。DHCP基于C/S模式,主要用于大型网络。DHCP提供一种动态指定IP地址和相关网络配置参数的机制。本节主要介绍DHCP的工作原理及DHCP服务端与DHCP客户端的部署过程。

    想每天能听到小妞的语音播报,想学更多学校里和书本上学不到的IT技术或技能,欢迎关注微信公众号xiniubook2008。或微博:我的图书我做主,关注与论坛的一些活动,免费获书。

    12.3.1  DHCP的工作原理

    动态主机配置协议(DHCP)是用来自动给客户端器分配TCP/IP信息的网络协议,如IP地址、网关、子网掩码等信息。每个DHCP客户端通过广播连接到区域内的DHCP服务器,该服务器会相应请求返回包括IP地址、网关和其他网络配置信息。DHCP的请求过程如图12.3所示。

     

    图12.3 DHCP请求过程

    客户端请求IP地址和配置参数的过程有以下几个步骤:

    (1)客户端需要寻求网络IP地址和其他网络参数,然后向网络中广播,客户端发出的请求名称叫DHCPDISCOVER。如广播网络中有可以分配IP地址的服务器,服务器会返回相应应答,告诉客户端可以分配,服务器返回包的名称叫DHCPOFFER,包内包含可用的IP地址和参数。

    (2)如果客户在发出DHCPOFFER包后一段时间内没有接收到响应,会重新发送请求,如广播区域内有多于一台的DHCP服务器,由客户端决定使用哪个。

    (3)当客户端选定了某个目标服务器后,会广播DHCPREQUEST包,用以通知选定的DHCP服务器和未选定的DHCP服务器。

    (4)服务端收到DHCPREQUEST后会检查收到的包,如果包内的地址和所提供的地址一致,证明现在客户端接收了是自己提供的地址,如果不是,则说明自己提供的地址未被采纳。如被选定的服务器在接收到DHCPREQUEST包以后,因为某些原因可能不能向客户端提供这个IP 地址或参数,可以向客户端发送DHCPNAK包。

    (5)客户端在收到包后,检查内部的IP地址和租用时间,如发现有问题,则发包拒绝这个地址,然后重新发送DHCPDISCOVER包。如无问题,就接受这个配置参数。

    12.3.2  配置DHCP服务器

    本节主要介绍DHCP服务器的配置过程,包含安装,配置文件设置,服务器启动等步骤。

    1.软件安装

    DHCP服务依赖的软件可以从rpm包安装或从源码进行安装,本节以rpm包为例说明DHCP服务的安装过程,如示例12-14所示。

    【示例12-14】

    #确认当前系统是否安装相应软件包

    [root@CentOS~]# rpm -qa|grep dhcp

    dhcp-4.1.1-34.P1.el6.centos.x86_64

    dhcp-common-4.1.1-34.P1.el6.centos.x86_64

    #如使用rpm安装,使用如下命令

    [root@CentOSPackages]# rpm -ivh dhcp-4.1.1-34.P1.el6.centos.x86_64.rpm

    经过上面的设置,DHCP服务已经安装完毕,主要的文件如下:

    q  /etc/dhcp/dhcpd.conf为DHCP主配置文件。

    q  /etc/init.d/dhcpd DHCP服务起停脚本。

    2.编辑配置文件/etc//dhcpd.conf

    要配置DHCP服务器,需修改配置文件/etc/dhcp/dhcpd.conf。如果不存在则创建该文件。本示例实现的功能为当前网络内的服务器分配指定IP段的IP地址,并设置过期时间为2天。配置文件如下。

    【示例12-15】

    [root@CentOSPackages]# cat  -n /etc/dhcp/dhcpd.conf

         1  #定义所支持的DNS动态更新类型。none:表示不支持动态更新,interim:表示DNS互动更新模式,ad-hoc:表示特殊DNS更新模式

         2  ddns-update-style ad-hoc;

         3  #指定接收DHCP请求的网卡的子网地址,注意不是本机的IP地址。netmask为子网掩码

         4  subnet 192.168.19.0  netmask255.255.255.0{

         5  #指定缺省网关

         6  option routers 192.168.19.1;

         7  #指定缺省子网掩码

         8  option subnet-mask 255.255.255.0;

         9  #指定最大租用周期

        10  max-lease-time 172800 ;

        11  #此DHCP服务分配的IP地址范围

        12  range 192.168.19.230 192.168.19.240;

        13  }

    以上示例文件列出了一个子网的声明,包括routers缺省网关、subnet-mask子网掩码和max-lease-time最大租用周期,单位是秒。配置文件的更多选项更多可以参考“man dhcpd.conf”获取更多帮助信息。

    【示例12-16】

    [root@CentOSPackages]# /etc/init.d/dhcpd start

    Starting dhcpd:                                           [  OK  ]

    如启动失败可以参考屏幕输出定位错误内容,或查看/var/log/messages的内容,然后参考dhcpd.conf的帮助文档。

    12.3.3  配置DHCP客户端

    当服务端启动成功后,客户端需要做以下配置以便自动获取IP地址。客户端网卡配置如示例12-17所示。

    【示例12-17】

    [root@CentOS~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1

    DEVICE=eth1

    HWADDR=00:0c:29:be:db:d5

    TYPE=Ethernet

    UUID=363f47a9-dfb8-4c5a-bedf-3f060cf99eab

    ONBOOT=yes

    NM_CONTROLLED=yes

    BOOTPROTO=dhcp

    如需使用DHCP服务, BOOTPROTO=dhcp表示将当前主机的网络IP地址设置为自动获取方式。测试过程如示例12-18所示。

    【示例12-18】

    [root@CentOS~]# service network restart

    Shutting down interface eth1:              [ OK  ]

    Shutting down loopback interface:          [ OK  ]

    Bringing up loopback interface:             [ OK  ]

    Bringing up interface eth1: 

    Determining IP information for eth1... done.  [  OK   ] 

    #启动成功后确认成功获取到指定IP段的IP地址。

    [root@CentOS~]# ifconfig

    eth1     Link encap:Ethernet  HWaddr00:0C:29:BE:DB:D5 

             inet addr:192.168.19.230 Bcast:192.168.19.255 Mask:255.255.255.0

              inet6 addr: fe80::20c:29ff:febe:dbd5/64Scope:Link

              UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1

              RXpackets:573 errors:0 dropped:0 overruns:0 frame:0

              TXpackets:482 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RXbytes:59482 (58.0 KiB)  TX bytes:67044(65.4 KiB)

    客户端配置为自动获取IP地址,然后重启网络接口,启动成功后使用ifconfig查看成功获取到IP地址。

    注意:本节介绍了DHCP的基本功能,DHCP包含其他更多的功能,如需了解可参考DHCP的帮助文档或其他资料。

     

     

     

    喜欢可以购买《超容易的Linux系统管理入门书》,京东、当当、亚马逊均有销售。

     

    http://item.jd.com/11403348.html

    http://product.dangdang.com/23418126.html

  • 相关阅读:
    log4j 使用笔记整理中
    执行bat文件
    excel让每个单元格的宽度随着字体自动变动的两种方式(有更好方法的大神,请忽略,求评论下)
    XML中CDATA及其字符实体的使用
    Java文件读写操作指定编码方式。。。。。
    尾数为0零BigDecimal不能装成正常数
    jquery 自动补全控件(支持IE6)待整理
    $.ajax提交,后台接受到的值总是乱码?明天再总结
    js定义变量需赋予初始值
    存储过程的优缺点
  • 原文地址:https://www.cnblogs.com/book2006/p/3628349.html
Copyright © 2020-2023  润新知