1、dhcp介绍:

DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,DHCP 协议主要是用来自动为局域网中的客户机分配 TCP/IP 信息的网络协议,

并完成每台客户机的 TCP/IP 协议配置。当我们将局域网中客户机IP地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户机自动分配IP地址,

使得客户机能够使用这个IP地址。

DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,

功能更强大。所有的IP网络参数(包括IP地址、网关和DNS服务器地址等)都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配的IP网络参数。

2、使用DHCP的优点:

减少管理员的工作量;

避免IP冲突;

减少收入错误的可能;

能方便地更改网络的IP网段;

移动计算机后不用重新配置网络信息;

提高IP地址的利用率。

3、DHCP的工作过程:

第1步:(请求DHCP服务器)

客户端在局域网广播发送 DHCP discovery包,寻找DHCP服务器,即向255.255.255.255发送特定的广播信息,

每一台安装了TCP/IP协议的主机都会有这个广播地址,但只有DHCP服务器才会做出回应。

第2步:(提供IP地址)

服务器收到DHCP discovery包后,向客户机发送一个包含分配的IP地址和其它设置的 DHCP offer 包,目的告诉客户机,我能为你提供IP地址。

第3步:(选择IP地址)

客户机收到DHCP offer提供信息包后,(如果客户机在一段时间内没有接收到DHCP服务器发出dhcp offer包,则会重新发送dhcp discover。

如果广播区域内不止一台dhcp服务器,则由客户机决定使用哪个)客户机选择第一个接收到的提供信息包,以广播的方式再发送一个DHCP request

请求信息包,客户机向服务器请求IP地址。

第4步:(IP地址提供确认)

服务端收到客户机回应的DHCP request 请求信息包之后,便向客户机发送一个DHCP ack 确认信息包,告诉客户机可以使用它提供的IP地址。

第5步:(重新登录)

以后DHCP客户机每次使用此IP地址时,就不需要再发送DHCP discovery包了,而是直接发送一个包含前一次所分配的IP地址的DHCP request

请求信息。当DHCP服务器收到这一信息以后,它会继续让客户机使用此IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的

客户机使用时,则DHCP服务器给客户机回答一个DHCP nack否认信息。当原来的客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discovery

寻找信息来请求新的IP地址。

第6步:(更新租约)

DHCP服务器向客户机出租的IP地址都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果客户机要延长其IP租约,必须更新其IP租约。

客户机启动时和IP租约期限过一半时,客户机都会自动向DHCP服务器发送更新其IP租约的信息。

4、 DHCP客户机自动更新IP租约:

客户机租约期限已过去50%,自动尝试更新租约;当期限过去87.5% 时,发出广播再次更新租约;若租约已经到期(100%),客户机必须立即停止使用当前的IP地址。然后客户机开始新的DHCP租约过程,尝试租用新的IP地址。

24.1、安装dhcp软件包:

[root@backup ~]# yum install dhcp -y

[root@backup ~]# rpm -qa dhcp

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

24.2、配置dchp配置文件:

[root@backup ~]# rpm -qa dhcp

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

[root@backup ~]# cat /etc/dhcp/dhcpd.conf

#

# DHCP Server Configuration file.

# see /usr/share/doc/dhcp*/dhcpd.conf.sample

# see 'man 5 dhcpd.conf'

#

[root@backup ~]# \cp -av /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/

"/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample" -> "/etc/dhcp/dhcpd.conf.sample"

[root@backup ~]# egrep -v "^$|#" /etc/dhcp/dhcpd.conf.sample >/etc/dhcp/dhcpd.conf

[root@backup ~]# cat /etc/dhcp/dhcpd.conf #拷贝过来的内容配置很多只保留一部分;

subnet 10.0.0.0 netmask 255.255.255.0 { #设置ip网段和子网掩码;

range 10.0.0.100 10.0.0.200; #自动分配的地址范围;

option domain-name-servers 8.8.8.8,114.114.114.114; #dns服务器地址;

# option domain-name "www.lcdns.com"; #dns服务器的域名;

option routers 10.0.0.253; #网关

option broadcast-address 10.0.0.255;

default-lease-time 600; #dhcp租期最短的时间10个小时;

max-lease-time 7200; #dhcp租期最大的时间5天;

}

subnet 172.16.1.0 netmask 255.255.255.0 { #设置ip网段和子网掩码;

range 172.16.1.100 172.16.1.200; #自动分配的地址范围;

# option domain-name-servers 8.8.8.8; #dns服务器地址;

# option domain-name "www.lcdns.com"; #dns服务器的域名;

# option routers 172.16.1.1; #网关

option broadcast-address 172.16.1.255;

default-lease-time 600; #dhcp租期最短的时间10个小时;

max-lease-time 7200; #dhcp租期最大的时间5天;

}

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

正在启动 dhcpd: [确定]

[root@backup ~]# netstat -tunlp | grep dhcpd

udp 0 0 0.0.0.0:67 0.0.0.0:* 1466/dhcpd

[root@backup ~]# cat /var/log/message

cified in the config file

Dec 24 12:18:08 backup dhcpd: Wrote 3 leases to leases file.

Dec 24 12:18:08 backup dhcpd: Listening on LPF/eth1/00:0c:29:d9:61:b4/172.16.1.0/24

Dec 24 12:18:08 backup dhcpd: Sending on LPF/eth1/00:0c:29:d9:61:b4/172.16.1.0/24

Dec 24 12:18:08 backup dhcpd: Listening on LPF/eth0/00:0c:29:d9:61:aa/10.0.0.0/24

Dec 24 12:18:08 backup dhcpd: Sending on LPF/eth0/00:0c:29:d9:61:aa/10.0.0.0/24

Dec 24 12:18:08 backup dhcpd: Sending on Socket/fallback/fallback-net

[root@backup ~]# chkconfig --list dhcpd

dhcpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

[root@backup ~]# chkconfig dhcpd on

[root@backup ~]# chkconfig --list dhcpd

dhcpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

24.3、客户端连接测试:

1、客户端网卡配置:

[root@CentOS6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

IPV6INIT=no

USERCTL=no

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

DEVICE=eth1

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

IPV6INIT=no

USERCTL=no

2、重启网卡:

[root@CentOS6 ~]# /etc/init.d/network restart

Shutting down interface eth0: [ OK ]

Shutting down interface eth1: [ OK ]

Shutting down loopback interface: [ OK ]

Bringing up loopback interface: [ OK ]

Bringing up interface eth0:

Determining IP information for eth0... done.

[ OK ]

Bringing up interface eth1:

Determining IP information for eth1... done.

[ OK ]

3、查看ip地址:

(1)eth0

[root@CentOS6 ~]# ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:0C:29:2D:DA:EA

inet addr:10.0.0.100 Bcast:10.0.0.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe2d:daea/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:1618 errors:0 dropped:0 overruns:0 frame:0

TX packets:1041 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:179655 (175.4 KiB) TX bytes:175527 (171.4 KiB)

[root@CentOS6 ~]# cat /etc/resolv.conf

; generated by /sbin/dhclient-script

nameserver 8.8.8.8

nameserver 114.114.114.114

[root@CentOS6 ~]# ping www.baidu.com

PING www.a.shifen.com (115.239.211.112) 56(84) bytes of data.

64 bytes from 115.239.211.112: icmp_seq=1 ttl=128 time=17.2 ms

64 bytes from 115.239.211.112: icmp_seq=2 ttl=128 time=15.7 ms

(2)eth1:

[root@CentOS6 ~]# ifconfig eth1

eth1 Link encap:Ethernet HWaddr 00:0C:29:2D:DA:F4

inet addr:172.16.1.101 Bcast:172.16.1.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe2d:daf4/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:31 errors:0 dropped:0 overruns:0 frame:0

TX packets:42 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:5722 (5.5 KiB) TX bytes:6402 (6.2 KiB)

24.4、dhcp总结:

dhcp服务默认监听的是所有的网卡;

可以配置多个dhcp地址池;

dhcp地址池和服务器的网卡上的ip必须要在同一个网段之上,否则会报错;

修改dhcp服务监听特定网卡的方法是:

[root@backup ~]# cat /etc/sysconfig/dhcpd

# Command line options here

DHCPDARGS=

绑定mac地址,固定dhcp分配给客户端的ip地址:

host Client { --host后面接的是客户机主机名称,可以自定义,建议为主机名

hardware ethernet 00:0c:29:82:6f:db; --代表客户机的物理MAC地址

fixed-address 192.168.8.40; --代表如果有遇到物理MAC地址为上面一行的,则分配这行的IP给它

}

24、dhcp服务搭建的更多相关文章

  1. Linux 之dhcp服务搭建

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议 dhcp服务器端监控端口67 涉及的配置文件:/etc/dhcp/dhcpd ...

  2. DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习

    相关学习资料 http://www.rfc-editor.org/rfc/rfc2131.txt http://baike.baidu.com/view/7992.htm?fromtitle=DHCP ...

  3. CentOS7 DHCP 服务搭建

    一.实验环境 1.VMware12.俩台Linux(Ser  和  Client ).DHCP安装包. 二.操作流程 1.安装DHCP 2.配置DHCP的配置文件:  /etc/dhcp/dhcpd. ...

  4. DHCP服务搭建

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP ...

  5. 2-4-搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: •DHCP服务器工作原理 •使用DHCP为局域网中的机器分配IP地址 •使用DHCP为服务器分配固定IP地址 •ntpdate加计划任务同步服务器时间 ---------------- ...

  6. DHCP服务

    DHCP服务 DHCP服务(需要dhcp命令):负责ip,掩码,网关地址,DNS地址等自动分发的软件服务 /usr/sbin/dhcpd或/usr/sbin/dhcrelay(中继命令):执行程序 / ...

  7. dhcp服务简单配置

    dhcp服务搭建 注意事项: > 配置虚拟机虚拟网络编辑器,取消"使用本地DHCP服务将IP地址分配给虚拟机" > 虚拟机网络连接设置为"仅主机模式" ...

  8. DHCP服务原理与搭建(Linux系统+路由器,二选一方案)

    大家都知道上网的最基本前提是要在终端上设置IP.子网掩码.网关.DNS等地址信息,在家里或者在办公室很多时候打开电脑后发现就可以上网,并没有手动设置IP.掩码.DNS地址也能上网,这是什么原因呢?其实 ...

  9. 搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: DHCP服务器工作原理 使用DHCP为局域网中的机器分配IP地址 使用DHCP为服务器分配固定IP地址 ntpdate加计划任务同步服务器时间   实验环境: 服务端:xuegod63 ...

随机推荐

  1. golang:指针理解总结

    指针的定义 指针是一个代表着某个内存地址的值.这个内存地址往往是在内存中存储的另一个变量的值的起始位置. go指针是提供操作数据的基本桥梁.因为go很多调用,往往复制一份对象,例如函数的参数,如果没有 ...

  2. 【转载】CentOS 7自动以root身份登录gnome桌面 操作系统开机后自动登录到桌面 跳过GDM

    CentOS 7自动以root身份登录gnome桌面 ################### #cd /etc/gdm ]# cat custom.conf# GDM configuration st ...

  3. Docker创建镜像以及私有仓库

    Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创 ...

  4. zabbix监控之概念和安装

    一.为什么要要监控 (1)在需要的时刻,提前提醒我们服务器出问题了: (2)当出问题之后,可以找到问题的根源: (3)检查网站/服务器的可用性 1.监控范畴 硬件监控.系统监控.服务监控.性能监控.日 ...

  5. nvm、nrm、npm 安装和使用详解

    一.nvm的安装和使用   nvm全称Node Version Manager是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换. nvm 的官方版本只支持 Linux ...

  6. mysql基础之mariadb对表中数据的增删改查

    复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...

  7. 深入剖析 MySQL 自增锁

    之前的文章把 InnoDB 中的所有的锁都介绍了一下,包括意向锁.记录锁...自增锁巴拉巴拉的.但是后面我自己回过头去看的时候发现,对自增锁的介绍居然才短短的一段. 其实自增锁(AUTO-INC Lo ...

  8. gin框架路由拆分与注册

    gin框架路由拆分与注册 本文总结了我平时在项目中积累的关于gin框架路由拆分与注册的若干方法. gin框架路由拆分与注册 基本的路由注册 下面最基础的gin路由注册方式,适用于路由条目比较少的简单项 ...

  9. Python+Selenium - Alert弹框

    上面三种弹窗可以在浏览器的控制台做出效果,如下图 上面三种弹窗可以用alert方法处理 示例: #出现弹窗的操作xxxx# 切换al = driver.switch_to.alert# print(a ...

  10. a标签点击跳转到新窗口打开目标资源

    点击a标签跳转到新窗口打开目标资源, <a href="http://gd.zjtcn.com/facs/c_t_p1_圆钉 50-75.html" target=" ...