DHCP服务详解

  1. DHCP概念和原理
    1. dhcp服务作用
      1. 为大量客户机自动分配地址,提供集中管理
      2. 减轻管理和维护成本,提高网络配置效率
    2. 可分配的地址信息主要包括:
      1. 网卡的IP地址、子网掩码
      2. 对应的网络地址
      3. 默认网关地址
      4. DNS服务器地址
      5. 引导文件、TFTP服务器地址

    3. DHCP的原理
      1. 客户端寻找服务器

        client – DHCPdiscovery

        如果未得到响应,1秒后重发,9秒,13秒,16秒…

      2. 服务器提供地址

        Server – DHCPoffer

        提供可用IP,租约信息,服务器地址等

      3. 接受并广播

        Client – DHCPrequest

        宣告自己所选择的DHCP服务器

        Arp广播,测试自己所选择的DHCP服务器

      4. 服务器确认

        Client – DHCPrequest

        Server – DHCPack

        包含了所有的网络参数

===========================================================

  1. 户端重新登录

    Client – DHCPrequest

    申请,继续源使用分配的IP地址

  2. 更新租约

    8小时 – 4小时 – 2小时

    Client – DHCPdiscovery

  1. DHCP相关文件
    1. RHEL6的DHCp软件包

      Dhcp-4.1.1-3.4.P1.el6.x86_64.rpm

    2. DHCP的相关配置

      端口号:ipv4 udp67、udp68

      ipv6 udp546、udp547

      服务名:dhcpd(主程序)或者dhcrelay(中继)

      主配置文件:/etc/dhcp/dhcpd.conf

      模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

      中继配置文件:/etc/sysconfig/dhcrelay

  2. DHCP配置文件解析.

option domain-name "example.org";

option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;

max-lease-time 7200;

#ddns-update-style none;

subnet 10.5.5.0 netmask 255.255.255.224 {

range 10.5.5.26 10.5.5.30;

option domain-name-servers ns1.internal.example.org;

option domain-name "internal.example.org";

option routers 10.5.5.1;

option broadcast-address 10.5.5.31;

default-lease-time 600;

max-lease-time 7200;

}

host passacaglia {

hardware ethernet 0:0:c0:5d:bd:95;

filename "vmunix.passacaglia";

server-name "toccata.fugue.com";

}

host fantasia {

hardware ethernet 08:00:07:26:c0:a5;

fixed-address fantasia.fugue.com;

}

class "foo" {

match if substring (option vendor-class-identifier, 0, 4) = "SUNW";

}

shared-network 224-29 {

subnet 10.17.224.0 netmask 255.255.255.0 {

option routers rtr-224.example.org;

}

subnet 10.0.29.0 netmask 255.255.255.0 {

option routers rtr-29.example.org;

}

pool {

allow members of "foo";

range 10.17.224.10 10.17.224.250;

}

pool {

deny members of "foo";

range 10.0.29.10 10.0.29.230;

}

}

option domain-name 设置DNS域

option domain-name-server 设置DNS服务器地址

default-lease-time 设置默认租约时间,单位为秒

max-lease-time 设置最大租约时间,单位为秒

log-facility 指定日志设备

ddns-update-style 设定DNS的更新方式

subnet网段声明,作用于整个子网段:

range 设置用于分配的IP地址池

option subnet-mask 设置客户机的子网掩码

option routers参数 设置客户机的默认网关地址

option broadcast-address 设置客户机广播地址

host主机声明,作用于某台主机:

hardware Ethernet 设置目标主机的MAC地址

fixed-address 设置为其分配的保留IP

重启服务,使修改的配置生效

#server dhcpd restart

修改网卡配置,设置DHCP的自动分配方式

#vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=dhcp

#ifdown eth0

#ifup eth0

注意:配置完成后,记得关闭SELINUX和防火墙

  1. DHCP服务器端配置
  2. DHCP客户端配置
  3. 案例:DHCP中继功能

    主机A的IP地址为192.168.1.1,网关为192.168.1.2

    主机B的IP地址为eth0:192.168.1.2,eth1:200.200.200.2

    主机C网卡设置为DHCP

    1、主机A操作步骤如下:

    #yum –y install dhcp

    #cp    /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

    #vim /etc/dhcp/dhcpd.conf

    #service dhcpd start

    #vim /etc/sysctl.conf

    #打开网络转发功能

    1. 主机B操作步骤如下:

      #yum –y install dhcp

      #vim /etc/sysconfig/dhcrelay

      #service dhcrelay start

    2. 主机c操作如下:

      #vim /etc/sysconfig/network-scripts/ifcfg-eth0

#设置为DHCP

  1. DHCP主机地址保留

    主机A的IP地址为192.168.1.1

    主机B网卡设置为DHCP

    主机A和主机B在同一个网段

    1、主机A的操作步骤如下:

    #yum –y install dhcp

#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

#vim /etc/dhcp/dhcpd.conf

绑定MAC地址

#service dhcpd restart

2、主机B的操作如下:

#vim /etc/sysconfig/network-scripts/ifcfg-eth0

  1. DHCP超级作用域

    介绍:超级作用域DHCP服务中的一种管理功能,使用超级作用域,可以将多个作用域组合为单个管理实体。

试验准备:主机A的网卡eth0与主机B的网卡eth0在同一个网段,主机C的网卡eth1与主机B的网卡eth1在同一网段,主机A、B和C关闭防火墙和SELINUX。

  1. 主机B的操作如下:

    #vim /etc/sysconfig/network-scripts/ifcfg-eth0

#vim /etc/sysconfig/network-scripts/ifcfg-eth1

#yum –y install dhcp

#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

#vim /etc/dhcp/dhcpd.conf

#service dhcpd start

  1. 主机A的网卡设置

    #vim /etc/sysconfig/network-scripts/ifcfg-eth0

    #ifdown eth0

    #ifup eth0

    结果如下图

  2. 主机C的网卡设置

    #ifdown eth0

    #ifup eth0

    结果如图所示

    总结:使用上面那种方法,就在两个网段中分配IP地址,就不需要做DHCP中继,唯一问题是连接两个网段的主机要有足够的网卡,也就是说,一个网卡对应一个网段

原文地址:https://www.cnblogs.com/fengyutech/p/4918243.html