Linux网络服务第二章DHCP原理与配置

1.笔记

服务端端口:67

客户端端口:68

dhcliemt -r:释放IP地址

dhcliemt -d:重新获取IP地址

.,$ s/190.168.200 / 192.168.100 /g

从当前字符行到结尾字符行把200切换成100

2.DHCP租约四个过程

(1)DHCPDynamicHostConfigurationProtocol)动态主机配置协议

DHCP是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。

使用DHCP可以减少管理员的工作量,避免IP地址冲突,当网络更改IP地址网段时不需要再重新配置每个用户的IP地址,提高了IP地址的利用率,方便客户端的配置。

2)可分配的地址信息主要包括

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

(3)DHCP的分配方式

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

2手动分配:由DHCP服务器管理员专门指定IP地址

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

(4)DHCP的租约过程

1)客户机从DHCP服务器获取IP地址的过程称为DHCP的租约过程。

2)租约过程分为四个步骤:

1>客户机请求IP(客户机发DHCPDiscover广播包)

当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机需要通过DHCP

获取一个合法的地址。此时DHCP客户机以广播方式(因为DHCP服务器的IP地址对客户机来说是未知的)发送DHCPDiscover发现信息来寻找DHCP服务器。广播信息中包含DHCP客户机的MAC地址和计算机名,以便DHCP服务器确定是哪个客

户机发送的请求。

2>服务器响应(服务器发DHCPOffer广播包)

DHCP服务器接收到来自客户机请求IP地址的信息时,它就在自己的IP址池中查找是否有合法的IP地址提供给客户机,如果有,DHCP服务器就会将此IP地址做上标记,加入到DHCPOffer的消息中,然后DHCP服务器就广播一则包含下

列信息的DHCPOffer消息:DHCP客户机的MAC地址、DHCP服务器提供的合法IP地址、子网掩码、默认网关、租约的期限、DHCP服务器的IP地址。

3>客户机选择IP(客户机发DHCPRequest广播包)

DHCP客户机从接收到的第一个DHCPOffer消息中提取IP地址,发出IP地址DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机当客户机从第一个DHCP服务器接收到DHCPOffer消息并提取了IP地址后,客户机将DHCPRequest消息广播到所有的DHCP服务器,表面它接收提供的内容。DHCP Request消息包括为客户机提供IP配置的服务器的服务标识符(服务器IP地址DHCP服务器查看服务器标识符字段,以确定提供的IP是否被接受,如果DHCPOffer被拒绝,则DHCP服务器取消并保留其IP地址以提供给下一个IP租约的的请求。

4>服务器确定租约(服务器发DHCPACK广播包)

DHCP服务器接收到DHCPRequest消息后,以DHCPACK消息的形式向客机广播成功确认,该消息包括含有IP地址的有效租约和其他可配置的信息。当客户机收到DHCPACK消息时,它就配置了IP地址,完成TCP/IP的初始化。

(5)重新续约

DHCP客户机每次重新登录网络时,不需要再发送DHCPDiscover信息,而是直接发

送包含前一次所分配的IP地址的DHCPRequest请求信息。当DHCP服务器接收到这一信息

后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCPACK确认信息。

如果此IP地址已无法再分配给原来的DHCP客户机使用(如IP地址已经分配给其他的DHCP客户机使用)DHCP服务器给DHCP客户机回答一个DHCPNack否认信息。当原来的DHCP客户机接收到此DHCPNack否认信息后,它就必须重新发送DHCPDiscover发现信息来请求信的IP地址。

6)更新租约

DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送DHCPRequest包,要求更新现有的地址租约。若此时DHCP

服务器无法正常回复DHCP客户机的请求,客户机的此IP地址可以继续使用到最大租约时

间的87.5%

四个过程:

客户机从DHCP服务器获取IP地址的过程称为DHCP的租约过程。

1>客户机请求IP(客户机发DHCP Discover⼴播包)

2>服务器响应(服务器发DHCP Offer⼴播包)

3>客户机选择IP(客户机发DHCP Request⼴播包)

4>服务器确定租约(服务器发DHCP ACK⼴播包)

3.DHCP的安装与配置

[root@localhost ~]# mkdir /media/cdrom

[root@localhost ~]# mount /dev/cdrom /media/cdrom

[root@localhost ~]# rpm -ivh /media/cdrom/Packages/dhcp-4.2.5-

68.el7.centos.x86_64.rpm

(1)配置DHCP服务

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

执⾏程序:/usr/sbin/dhcpd

服务脚本名:dhcpd

服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay  
执行参数配置:/etc/sysconfig/dhcpd  

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

option domain-name "crushlinux.com";                                                                //定义分配的域名

option domain-name-servers 202.106.0.20, 8.8.8.8;                                           //定义分配的DNS服务器信息

default-lease-time 21600;                                                                                     //定义分配IP地址的默认租约时间,单位是秒

max-lease-time 43200;                                                                                         //定义分配IP地址的最⼤租约时间,单位是秒

subnet 192.168.200.0 netmask 255.255.255.0 {                                                  //定义分配IP地址⽹段及⼦⽹掩码

range 192.168.200.150 192.168.200.200;                                                            //定义分配IP地址的地址池范围

option routers 192.168.200.1;                                                                               //定义分配⽹关地址

}

重新开启: systemctl start dhcpd

[root@localhost ~]# tail -f /var/log/messages                                                     //⽇志中捕获到的四个过程

[root@localhost ~]# cat /var/lib/dhcpd/dhcpd.leases                                        //租约信息⽂件

4.针对部分主机可绑定其MAC地址为其分配固定IP地址

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

host win7 {                                 //添加主机定义

hardware ethernet 00f0c:29:a4f48:bb;       //客户机MAC地址

fixed-address 192.168.200.99;      //为客户机绑定的IP地址

}

[root@localhost ~]# systemctl restart dhcpd

5.Linux中DHCP中继配置

DHCP服务器调整: 

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32

GATEWAY=192.168.200.112                                                                                         //⽹关需要指向DHCP中继服务器同⽹络的IP地址

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

option domain-name "crushlinux.com";

option domain-name-servers 202.106.0.20, 8.8.8.8;

default-lease-time 21600;max-lease-time 43200;

subnet 192.168.200.0 netmask 255.255.255.0 {

range 192.168.200.150 192.168.200.200;

option routers 192.168.200.1;

}

subnet 192.168.100.0 netmask 255.255.255.0 {

range 192.168.100.150 192.168.100.200;

option routers 192.168.100.1;

}

[root@localhost ~]# systemctl restart dhcpd

DHCP中继服务器调整: 

[root@localhost~]#cat/etc/sysconfig/network-scripts/ifcfg-ens32

IPADDR=192.168.200.112                                                                                       //需作为DHCP服务器的⽹关地址

[root@localhost ~]# rpm ivh/media/cdrom/Packages/dhcp-4.2.5-

68.el7.centos.x86_64.rpm                                                                                                    //安装

打开DHCP中继服务器路由转发功能[root@localhost ~]# vim/etc/sysctl.conf 

net.ipv4.ip_forward = 1

[root@localhost ~]# sysctl -p

开启DHCP中继服务

[root@localhost ~]# dhcrelay 192.168.200.111

Dropped all unnecessary capabilities.

原文地址:https://www.cnblogs.com/ZCQ123456/p/11445520.html