一.dhcp介绍
dhcp 应用层协议
动态主机配置协议
作用:为主机动态分配tcp/ip参数(ip地址,掩码,网关,DNS服务器地址)
主机和主机之间通信需要主机有IP地址,为了缓解工作人员的压力,就可以去构建一个DHCP服务器,
Linux实现dhcp服务,需要依赖于软件dhcp
配置文件:/etc/dhcp/dhcpd.conf
服务:dhcpd
端口:dhcp服务是依赖upd协议工作的,产生端口号为67
DHCP服务器
如上图所示,需要让DHCP服务器和客户端都处于vmnet8的这样一个虚拟网络中,
如上图所示,是vmnet8这个虚拟网络中的IP网段,子网掩码,以及网关。
需求:1.两台机器都加入到vmnet8这个虚拟网络中,将来客户端在DHCP服务器上拿到IP地址之后,这个客户端需要能和DHCP服务器通信,就是能ping通,这个客户端需要是DHCP服务器是同网段的IP。
2.这个客户端拿到IP地址以后可以正常访问互联网,
需要有处于vmnet8虚拟网络网段中的IP地址,还需要有网关,还需要有可以用的DNS服务器地址,
正常的机器只有一块网卡,但凡是服务器都要有固定的IP地址
二.DHCP服务的配置
1.关闭防火墙,SELinux
2.给DHCP服务器配置固定的地址
如上图所示,是给DHCP服务器的网卡配置固定的地址,这个网卡的配置必须要参考虚拟网路vmnet8的设置,
3.安装DHCP软件
4.复制dhcp的配置文件的模板
如上图所示,修改dhcp软件的配/etc/dhcp/dhcpd.conf
有两种方式,第一种方式是以特定的方式手写,dhcp软件的配置文件
第二种方式是这个配置文件有一个模板文件,我们可以直接把这个模板复制过来,然后在这个模板的基础上进行修改。
如上图所示,这是dhcp配置文件的模板文件的存放位置,可以使用cp命令将原来的空白的配置文件,用这个模板文件进行覆盖。
5.编辑dhcp.conf文件
如上图所示,这是dhcp服务的配置文件,这个内容可以规定dhcp服务器所分配的IP网段,子网掩码,以及在这个IP网段中可分配的IP地址范围,网关,以及DNS服务器地址。
6.启动dhcp服务
如上图所示,这是启动dhcp服务,以及配置dhcp服务开机自动启动,
7.验证dhcp服务启动成功
1.会有相应的进程存在
2.会有相应的端口存在
8.测试DHCP服务正常工作
将来接触一项工作首先要清楚它的目的。
首先关闭虚拟网络中自带的DHCP服务,避免影响测试。
打开一个新的虚拟机作为客户端,将网卡修改为dhcp自动获取IP,查看可正常获取IP地址等信息,并可正常访问外部网络。
这些虚拟网络中本身就有DHCP功能,为了避免这些虚拟网络自带的DHCP功能,影响DHCP服务器的DHCP服务,这时候就需要将这些虚拟网络的DHCP功能关了,然后去测试DHCP服务。
如上图所示,打开VMware的虚拟网络编辑器,然后打开vmnet8虚拟网络的DHCP设置,禁用vmnet8虚拟网络的DHCP设置。
如上图所示,在新开的客户端中使用vim编辑器打开ens33网卡的配置文件,然后配置BOOTPROTO=dhcp
如上图所示,在新的虚拟机客户端当中敲上述两条命令重新读取网卡信息。
如上图所示,验证这个虚拟机客户端是否通过DHCP服务器分配到了合适的IP地址,子网掩码,网关,和DNS服务器。
如上图所示,此时测试这台机器是否能与外界正常通信.
如上图所示,也可以使用windows机器上的vmnet8网卡去验证DHCP服务器的服务是否配置成功。
如上图所示,可以看到vmnet8这块虚拟网卡已经由DHCP服务器分配了IP地址等信息。
三.DHCP的实际应用
很少单独搭建一个DHCP服务器给客户端机器分配IP等信息,
四.DHCP的工作原理
客户端机器是怎么连接到DHCP服务器来获取IP地址等信息,
客户端收到DHCP ACK确认数据之后,客户端并不会立刻将这个IP地址等信息写到网卡上,而是会再往外发送一个数据 自由 arp
发送自由arp的目的是确认这个IP地址等信息是否存在冲突,如果不存在冲突,此时才会将这个IP地址等信息写道网卡上。
ARP是网络层中的一个协议。根据对方的IP地址获取对方的MAC地址,还有用来检测IP地址是否有冲突,(当IP地址有冲突的时候,会收到对应机器的MAC地址,如果收不到对应机器的MAC地址,那么就证明这个IP地址没有冲突。)