DHCP工作流程与简单配置

一、前言

      当我们面对局域网中大量的主机需要配置ip地址时,手动配置很
难保证各主机ip不会产生冲突,为了能够有序、自动配置局域网的ip
地址需要用到DHCP,该协议能实现ip地址的自动配置,并且对分配出
去的ip地址进行记录。

二、与DHCP相关的参数

    DHCP: Dynamic Host Configuration Protocol 主机动态配置协议
    IP/Netmask      能与其他主机通信的必要条件
    Gateway          与外网通信经过网关
    DNS Server     域名解析服务,可解析域名ip访问主机

三、DHCP的工作流程

bootp: boot protocol --> dhcp
DHCP请求流程
ARP:IP-->MAC   该广播协议中知道目标ip地址请求mac
RARP:MAC-->IP 该广播协议中知道自己的MAC请求获取ip
    1、Client: dhcp discover:客户端在局域网中用广播寻找
    DHCP服务器。
    2、Server: dhcp offer:(IP/netmask, gw):服务器收到广播后
    响应客户端,告知其ip/netmask和gw。
    3、Client:dhcp request :客户端收到dhcp的ip和gw后
    用RARP对其发起IP获取请求。
    4、Server: dhcp ack:服务器收到请求后在自己的可用ip列表挑选
    一个ip给客户端,同时对其进行等级。

    续租:
    DHCP服务器对分配出去的地址实行租约形式
    一般形式如下:
        2hours:列如服务器规定租约期限是2小时
            50%: 1hours --> 2hours  :
            当我们使用了1小时(每50%请求一次),客户端就
            向服务端发出续租请求,如此直到续租成功。
            75%: 0.5hours --> 2hours 
            87.5%: 0.25hours --> 2hours

            dhcp discover:如果续租不成功,就再次执行dhcp
            服务器发现命令

        Client: dhcp request
        Server: dhcp ack

        Server: dhcp nak

四、Linux DHCP协议的实现程序:dhcp, dnsmasq

    dhcp:
        1、/usr/sbin/dhcpd   DHCP服务器程序
            配置文件
            /etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd
            /etc/dhcp/dhcpd6.conf --> /etc/rc.d/init.d/dhcpd6
        2、/usr/sbin/dhcrelay  DHCP中继服务器
        配置文件
            /etc/rc.d/init.d/dhcrelay

        67/udp                服务器监听端口
        dhclient: 68/udp 客户端监听端口

    3、配置文件
        dhcpd.conf:
        常用选项
        option :用于指明除ip和掩码外的其他选项,可以在全局中
        定义也可以在subnet定义
        default-lease-time 600 :默认租约时间
        max-lease-time    7200 :最大租约时间
        subnet  172.16.0.0 netmask 255.255.0.0 {
            range 172.16.100.151 172.16.100.170
            option routers 172.168.100.1
            ...
        } :作用域,指定一个子网,该处为子网为172.16.0.0(一定是
        当前主机所在的网络)子段内的主机分配ip,分配的ip范围是,
        起172.16.100.151到 172.16.100.170,并且为其指定网关是
        172.168.100.1。

        host {

        }

     4、查看地址分配记录
     cat /var/lib/dhcpd/dhcpd.leases

    5、其它配置选项:
        filename: 指明引导文件名称;
        next-server:提供引导文件的服务器IP地址;

        filename "pxelinux.0";
        next-server 172.16.100.67;

猜你喜欢

转载自blog.51cto.com/14055961/2391837