DHCP原理及中继原理及配置!

Posted 龙少。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DHCP原理及中继原理及配置!相关的知识,希望对你有一定的参考价值。

一.概念

DHCP:动态主机配置协议,由internet工作任务小组设计开发,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议;使用的udp67、68端口,服务器端使用67/udp,客户端使用68/udp。

二.DHCP的好处

减少管理员的工作量
避免输入错误的可能
避免IP地址冲突
当更改IP地址段时,不需要重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置
为大量客户机自动分配地址,提高集中管理
减轻管理和维护成本,提高网络配置效率

三.DHCP的分配

1.DHCP的分配方式

自动分配:分配到一个IP地址后永久使用

手动分配:有DHCP服务器管理员专门制定IP地址

动态分配:使用完后释放该IP,供其他客户机使用

2.DHCP的可分配信息

网卡的ip地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址

四.DHCP的工作原理(租约过程)

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程,分为四个步骤
① 客户端从零开始,所以源ip:0.0.0.0,不知道目标ip,所以需要发广播,目标地址:255.255.255.255,源端口:68,目标端口:67;

② 客户端发现DCHP服务器,源ip:DHCP服务器,仍需要发送广播,目标ip:255.255.255.255,源端口:67,目标端口offer同时携带ip地址、网关、dns等参数;

③ 因为广播域中不止存在一台DHCP服务器,有多台DHCP都向服务器发送的offer时,客户端需要发广播,源ip:0.0.0.0,目标ip:255.255.255.255,且默认服务器确认收到的第一个offerr,其余offer不接收,源端口:68,目标端口:67;

④ 是服务器需要跟客户端再次确认IP地址,所以还是发广播。第四步结束之后才获得IP地址。
再三广播确认是因为使用的是UDP协议,UDP协议本身是不稳定的,需要再三确认;若使用的TCP协议的话,本身TCP协议的搭建在三次握手的基础上,在很稳定的基础上就可以直接获得ip地址。
在这里插入图片描述

五.DHCP的租期

租期是整个DHCP过程的基础,DHCP服务器提供每个IP地址都有相应的租用期。

IP租约期限到达50%时,DHCP客户端就会请求更新IP地址租约;

DHCP客户端在租约期限到达87.5%时,还没有收到服务器相应,会申请重新绑定IP;

如果IP租约到期前都没有收到服务器的响应,客户端停止使用此IP地址;

如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE 报文,释放该IP地址

需要说明一点的是,并不是到87.5%就释放了,若回应UNack,先回到RELEASE,时间到了100%,IP地址释放,再回到DISCOVER状态。

六.DHCP租约配置文件和日志目录

租约配置文件
/var/lib/dhcpd/dhcpd.leases

日志目录
/var/log/messages

[root@xu ~]# tail -f /var/log/messages
May 30 12:48:01 xu systemd: Started Session 8968 of user root.
May 30 12:48:01 xu systemd: Started Session 8965 of user root.
May 30 12:48:01 xu systemd: Started Session 8967 of user root.
May 30 12:48:01 xu systemd: Started Session 8966 of user root.
May 30 12:48:01 xu systemd: Started Session 8970 of user root.
May 30 12:48:01 xu systemd: Started Session 8969 of user root.
May 30 12:48:01 xu systemd: Started Session 8971 of user root.
May 30 12:48:01 xu systemd: Started Session 8972 of user root.
May 30 12:48:04 xu chronyd[6120]: Selected source 139.199.215.251
May 30 12:49:37 xu journal: g_simple_action_set_enabled: assertion 'G_IS_SIMPLE_ACTION (simple)' failed
May 30 12:50:02 xu systemd: Started Session 8973 of user root.
May 30 12:50:02 xu systemd: Started Session 8974 of user root.
May 30 12:50:02 xu systemd: Started Session 8975 of user root.


七.DHCP配置

1.搭建DHCP 服务给客户机自动分配ip

准备3台虚拟机,2台linux1台win10,其中一台linux做dhcp服务器。

(1)dhcp服务端选择nat模式,下载dhcp安装

在这里插入图片描述

[root@xu ~]# hostname dhcp
[root@xu ~]# bash

[root@dhcp ~]# yum -y install dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.cs.nctu.edu.tw
 * extras: ftp.sjtu.edu.cn
 * updates: ftp.sjtu.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-82.el7.centos 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package      架构           版本                            源            大小
================================================================================
正在安装:
 dhcp         x86_64         12:4.2.5-82.el7.centos          base         515 k

事务概要
================================================================================
安装  1 软件包

总下载量:515 k
安装大小:1.4 M
Downloading packages:
dhcp-4.2.5-82.el7.centos.x86_64.rpm                        | 515 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 12:dhcp-4.2.5-82.el7.centos.x86_64                          1/1 
  验证中      : 12:dhcp-4.2.5-82.el7.centos.x86_64                          1/1 

已安装:
  dhcp.x86_64 12:4.2.5-82.el7.centos                                            

完毕!
您在 /var/spool/mail/root 中有新邮件


[root@dhcp ~]# rpm -q dhcp
dhcp-4.2.5-82.el7.centos.x86_64

再把模式改成仅主机模式
在这里插入图片描述

在这里插入图片描述
查看

在这里插入图片描述
在这里插入图片描述

(2)设置相关配置文件

[root@dhcp ~]# cp -p /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.nat
[root@dhcp ~]# 
[root@dhcp ~]# 
[root@dhcp ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

vim /etc/sysconfig/network-scripts/ifcfg-ens33
在这里插入图片描述

[root@dhcp ~]# systemctl restart network
[root@dhcp ~]# 
[root@dhcp ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.44.100  netmask 255.255.255.0  broadcast 192.168.44.255
        inet6 fe80::3339:805:9ff3:5382  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f7:67:91  txqueuelen 1000  (Ethernet)
        RX packets 485445  bytes 711040083 (678.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 188991  bytes 11572597 (11.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@dhcp ~]# 


[root@dhcp ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf    //主配置文件
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases   //租约的文件
/var/lib/dhcpd/dhcpd6.leases
[root@dhcp ~]# 

[root@dhcp ~]# cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@dhcp ~]# 
[root@dhcp ~]# vim /etc/dhcp/dhcpd.conf


vim /etc/dhcp/dhcpd.conf
在这里插入图片描述
在这里插入图片描述

(3)启动服务并查看服务是启动成功

[root@dhcp ~]# systemctl start dhcpd
[root@dhcp ~]# 
[root@dhcp ~]# netstat -aunp | grep 67
udp        0      0 0.0.0.0:67              0.0.0.0:*                           67193/dhcpd         
udp        0      0 0.0.0.0:67              0.0.0.0:*                           7182/dnsmasq        
[root@dhcp ~]# 

(4)验证业务是否成功

① 进入win10查看验证是否可以自动获取设置的配置

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


② 进入另一台linux客户端查看验证

vim /etc/sysconfig/network-scripts/ifcfg-ens33
在这里插入图片描述

  [root@dhcp ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.44.11  netmask 255.255.255.0  broadcast 192.168.44.255
        inet6 fe80: : 404c:531f: 44d:5f23  prefixlen 64  scopeid 0x20<link>
        ether 00: 0c: 29: 00: b0: 8c  txqueuelen 1000  (Ethernet)
        RX packets 486943  bytes 711170552 (678.2 MiB)
        RX packets 1280768 bytes 1735798028( 1.6 GiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        Tx packets 619849 bytes 41297799 ( 39.3 MiB)
        Tx errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[ root@localhost~] #

[root@dhcp ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.44.100  0.0.0.0         UG    100    0        0 ens33
192.168.44.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@dhcp ~]# 


dhcp客户端可以查看服务器状态
dhclient -d ens33
在这里插入图片描述

2.搭建DHCP服务并绑定客户机mac分配固定ip

对客户机win10分配固定ip

(1)查看win10mac

00:0C:29:63:3D:FC
在这里插入图片描述

(2)更改配置文件

vim /etc/dhcp/dhcpd.conf

在这里插入图片描述

(3)重启服务并查看服务是否成功

[root@dhcp ~]# systemctl restart dhcpd
[root@dhcp ~]# 
[root@dhcp ~]# netstat -aunp | grep 67
udp        0      0 0.0.0.0:67              0.0.0.0:*                           69412/dhcpd         
udp        0      0 0.0.0.0:67              0.0.0.0:*                           7182/dnsmasq        

(4)进入win10客户机查看验证

在这里插入图片描述

这里可以查看一下租约的文件
/var/lib/dhcpd/dhcpd.leases
此文件是随DHCP安装而形成的,刚开始是空的,随着dhcp使用增加内容
打开查看一下内容
vim /var/lib/dhcpd/dhcpd.leases在这里插入图片描述

3.DHCP服务端添加一块网卡接通外网下载抓包软件抓包

(1)添加一块网卡选择NAT模式

在这里插入图片描述
查看网卡

[root@dhcp ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.44.100  netmask 255.255.255.0  broadcast 192.168.44.255
        inet6 fe80::3339:805:9ff3:5382  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f7:67:91  txqueuelen 1000  (Ethernet)
        RX packets 493743  bytes 711734215 (678.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 189672  bytes 11664534 (11.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.206.161  netmask 255.255.255.0  broadcast 192.168.206.255
        inet6 fe80::ea5e:9c92:c145:5d60  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f7:67:9b  txqueuelen 1000  (Ethernet)
        RX packets 24  bytes 6431 (6.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 44  bytes 6643 (6.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 266  bytes 23064 (22.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 266  bytes 23064 (22.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:b5:13:98  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(2)ping通外网测试

[root@dhcp ~]# ping www.baidu.com
PING www.a.shifen.com (36.152.44.95) 56(84) bytes of data.
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=1 ttl=128 time=5.81 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=2 ttl=128 time=5.96 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=3 ttl=128 time=6.67 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=4 ttl=128 time=4.93 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=5 ttl=128 time=5.69 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=6 ttl=128 time=5.30 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=7 ttl=128 time=5.60 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=8 ttl=128 time=7.17 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=9 ttl=128 time=5.10 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=10 ttl=128 time=5.18 ms
^C
--- www.a.shifen.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 18035ms
rtt min/avg/max/mdev = 4.937/5.745/7.174以上是关于DHCP原理及中继原理及配置!的主要内容,如果未能解决你的问题,请参考以下文章

部署DHCP服务及部署DHCP中继教程

DHCP中继代理原理和配置

linux网络设置DHCP原理DHCP安装DHCP中继配置

DHCP原理与配置(含DHCP中继实验)

DHCP与DHCP中继原理理与配置

华为DHCP中继作用及配置