zoukankan      html  css  js  c++  java
  • 6、DHCP

    DHCP

    一、DHCP简介

    1.什么是DHCP

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种用户简化计算机IP地址管理的标准;

    2.DHCP优缺点

    优点:不需要手工分配IP、可以设定保留地址的客户及参数、安全可靠、客户机移动回释放旧的IP、路由器可以转发DHCP请求
    缺点:不能发现非DHCP用户正在使用的IP

    3.租约过程:DHCP协议使用UDP端口67(服务端口) 和 UDP端口68(客户端)进行通信,DHCP协议通信使用广播

    1.IP地址租约申请阶段:
    客户端发起DHCPDISCOVER广播消息,使用0.0.0.0作为源ip,请求中包含客户端的MAC地址和计算机名,用于DHCP服务器的识别
    2.IP地址租约提供阶段:
    接收到DHCPDISCOVER广播的服务器检测自己配置,如果有有效的DHCP作用于和富裕的IP,则发起DHCPOFFER广播来回应发起DHCPDISCOVER的客户端
    3.IP地址租约选择阶段:
    如果多台DHCP服务器返回DHCPOOFFER,则DHCP客户端只接受第一个收到的DHCPOFFER提供的信息,以广播的方式回答一个DHCPREQUEST请求
    DHCPREQEST中包含DHCP客户端向它所选定的DHCP服务器请求IP的内容,之所以以广播回答,是为了通知所有DHCP服务器,DHCP客户端将选择某台DHCP服务器提供的IP
    4.IP地址租约确认阶段
    提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCPREQUEST广播后,会发送最后的DHCPACK广播消息进行最后的确认;


    4.相关术语


    1.作用域:是一个完整连续的可用IP地址范围
    2.地址池:包含可以分配给计算机使用的IP地址范围
    3.租约:DHCP服务器指定的时间长度,再次租约期内,客户端可以使用分配给它的IP,如果租约到期,客户端必须更新IP租约
    4.保留地址:将提供一个动态地址和其MAC地址相关联的手段,用于保证次网卡长期使用某个IP
    5.选项类型:其他参数,如:网管、DNS服务器等
    6.超级作用域:可以对多个作用域统一管理,包含多个作用域


    二、安装和配置

    1.所需安装包

    1.dhcp
    2.dhcp-common

    2./etc/dhcp/dhcpd.conf文件详解


    1.复制模板文件:cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf /etc/dhcp/dhcpd.conf

    3.配置实例:


    1.要求如下

    ①分配地址池:192.168.9.60 ~ 192.168.9.160
    ②子网掩码:255.255.255.0
    ③网关地址:192.168.9.1
    ④DNS服务器:192.168.9.2
    ⑤默认租约有效期:1天(86400秒)
    ⑥最大租约有效期:7天(604800秒)
    ⑦给主机名为Windows的客户机(MAC地址为:00:0C:29:51:AF:B8),保留使用192.168.9.150
    ⑧支持DNS动态更新模式
    ⑨忽略客户机更新DNS记录
    ⑩DNS域名:p-pp.cn


    2.配置步骤

    1.复制模板:cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf /etc/dhcp/dhcpd.conf


    2.修改/etc/dhcp/dhcpd.conf


    ddns-update-style interim; # 支持动态更新DNS
    ignore client-updates; # 忽略客户机更新DNS记录
    subnet 192.168.9.6 netmask 255.255.255.0 {
    option routers 192.168.9.1; # 网关
    option subent-mask 255.255.255.0; # 子网掩码
    option domain-name "p-pp.cn"; # DNS域名
    option time-offset -18000; # 格林威治时间的偏移时间,默认为秒
    option domain-name-servers 192.168.9.2; # DNS服务器
    range 192.168.9.60 192.168.9.160; # 服务器分配地址的范围
    default-lease-time 86400; # 默认租约有效天
    max-lease-time 604800; # 最大租约有效期
    }
    host windows { # windows只是一个名字
    hardware ethernet 00-0C-29-51-AF-B8; # 保留地址的MAC地址
    fixed-address 192.168.9.150; # 为计算机分配的IP地址
    }

    三、客户端获取IP地址

    1.Linux

    1.dhclient -d eth0
    2./etc/sysconfig/network-scripts/ifcfg-eth0 修改配置文件,改为自动获取


    2.Windows


    1.设置自动获取IP、自动获取DNS
    2.打开命令终端
    1.ipconfig /renew # 申请IP
    2.ipconfig /all # 查看IP地址
    3.ipconfig /release # 释放IP

    四、查看租约


    1./var/lib/dhcpd/dhcpd.leases存放着DHCP地址租约数据库,租约数据库使用的格林威治标准时间


    五、DHCP中继代理

    1.DHCP代理简介

    在大型网络中,存在多个子网,客户机通过广播获取IP,但是广播不能跨子网的,因此,如果DHCP服务器和客户端存在不同子网,就无法获取IP地址


    2.DHCP中继配置实例


    公司内部有两个子网,分别是,192.168.9.0 和 192.168.30.0,DHCP位于192.168.9.0的子网上,通过配置DHCP中继,使192.168.30.0的子网客户机可以获取IP
    公司环境如图所示:


    3.配置步骤

    1.编辑/etc/dhcp/dhcpd.conf文件

    shared-network 0-1 { # 用来告知一些子网是否分享相同网络,也就是超级域
    subnet 192.168.9.0 netmask 255.255.255.0 {
    option routers 192.168.9.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.9.255;
    option domain-name "p-pp.cn";
    option time-offset -18000;
    option domain-name-servers 192.168.9.2;
    range 192.168.9.60 192.168.9.160;
    default-lease-time 86400;
    max-lease-time 604800;
    }
    subnet 192.168.30.0 netmask 255.255.255.0 {
    option routers 192.168.30.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.30.255;
    option domain-name "p-pp.cn";
    option time-offset -18000;
    option domain-name-servers 192.168.30.2;
    range 192.168.30.60 192.168.30.160;
    default-lease-time 86400;
    max-lease-time 604800;
    }
    }


    2.重启dhcpd服务


    3.配置路由转发功能

    1.配置IP地址:ifconfig ens37 192.168.3.50/24
    2.安装dhcp
    3.编辑/etc/sysctl.conf 文件在文件添加一行内容为:

    “net.ipv4.ip_forward=1”
    开启路由转发功能
    sysctl -p:立即生效


    4.配置dhcp中继


    1.dhcrelay DHCP服务器的IP
    2. netstat -tunlp |grep dhcrelay

  • 相关阅读:
    java实现第六届蓝桥杯立方尾不变
    java实现第六届蓝桥杯立方尾不变
    java实现第七届蓝桥杯寒假作业
    java实现第六届蓝桥杯隔行变色
    java实现第六届蓝桥杯隔行变色
    java实现第七届蓝桥杯交换瓶子
    使用JOTM实现分布式事务管理(多数据源)
    分布式系统事务一致性解决方案(转)
    SpringMVC,Mybatis,FreeMarker连接mycat示例(一)
    从零开发分布式数据库中间件 二、构建MyBatis的读写分离数据库中间件
  • 原文地址:https://www.cnblogs.com/-xuan/p/10500333.html
Copyright © 2011-2022 走看看