Linux ❀ RHCE自研教学笔记 - Redhat 8.2 DHCP服务教研笔记
Posted 国家级干饭型选手°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux ❀ RHCE自研教学笔记 - Redhat 8.2 DHCP服务教研笔记相关的知识,希望对你有一定的参考价值。
DHCP - Dynamic Host Configuration Protocol 动态主机配置协议:由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码;
服务端口:UDP 67-响应 68-请求;
该协议通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率;
工作过程
-
发现阶段:DHCP客户端通过发送DHCP Discover报文来寻找DHCP服务器,由于DHCP服务器的IP地址对于客户端来说是未知的,所以DHCP客户端以广播方式发送DHCP Discover报文,所有收到DHCP Discover报文的DHCP服务器都会发送回应报文,DHCP客户端根据此报文可以知道网络中存在的DHCP服务器的位置;
-
提供阶段:网络中接收到DHCP Discover报文的DHCP服务器, 会从地址池中选择一个合适的IP地址,连通IP地址租约时间和其他配置信息通过DHCP Offer报文发送给DHCP客户端;
-
选择阶段:如果有多台DHCP服务器向DHCP客户端回应DHCP Offer报文,则DHCP客户端只接收第一个收到的DHCP Offer报文,然后广播方式发送DHCP Request请求报文,该报文中包含Option 54,即它选择的DHCP服务器的IP地址信息;
以广播方式发送DHCP Request请求报文,是为了通知所有的DHCP服务器,它选择Option 54中标识的DHCP服务器提供的IP地址,其他DHCP服务器可以重新使用提供的IP地址进行分片; -
确认阶段:当DHCP服务器收到DHCP客户端回答的DHCP Request报文后,DHCP服务器会根据DHCP Request报文中携带的MAC地址来查找有没有相应的租约记录,如果有,则向客户端发送包含它所提供的IP地址和其他设置的DHCP ACK报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址;
如果DHCP服务器收到DHCP Request报文后,没有找到相应的租约记录,或者由于某些原因无法正常分配IP地址,则发送DHCP NACK报文作为应答,通知DHCP客户端无法分配IP地址,DHCP客户端需要重新发送DHCP Discover报文来申请新的IP地址;
DHCP客户端发送数据包特殊点:
- SIP:0.0.0.0
- DIP:255.255.255.255
- 广播报文
1、安装服务
[root@localhost ~]# dnf install -y dhcp-server
Complete!
[root@localhost ~]# rpm -qc dhcp-server
/etc/dhcp/dhcpd.conf /主配置文件
/etc/dhcp/dhcpd6.conf /IPv6配置文件
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# rpm -qa dhcp-server
dhcp-server-4.3.6-40.el8.x86_64
2、配置文件
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf
# see /usr/share/doc/dhcp-server/dhcpd.conf.example
# see dhcpd.conf(5) man page
[root@localhost ~]# cat /usr/share/doc/dhcp-server/dhcpd.conf.example
#ddns-update-style none; /DNS互动更新模式
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600; /默认租约时间600s;
max-lease-time 7200; /最大租约时间7200s;
subnet 10.152.187.0 netmask 255.255.255.0 {
}
subnet 10.254.239.0 netmask 255.255.255.224 {
range 10.254.239.10 10.254.239.20;
option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}
subnet 10.254.239.32 netmask 255.255.255.224 {
range dynamic-bootp 10.254.239.40 10.254.239.60;
option broadcast-address 10.254.239.31;
option routers rtr-239-32-1.example.org;
}
subnet 10.5.5.0 netmask 255.255.255.224 { /声明网段与掩码;
range 10.5.5.26 10.5.5.30; /声明地址池;
option domain-name-servers ns1.internal.example.org; /声明DNS IP地址;
option domain-name "internal.example.org"; /声明DNS;
option routers 10.5.5.1; /声明网关地址;
option broadcast-address 10.5.5.31; /声明广播地址;
default-lease-time 600; /默认租约时间600s;
max-lease-time 7200; /最大租约时间7200s;
}
host passacaglia { /固定IP地址配置;
hardware ethernet 0:0:c0:5d:bd:95; /物理地址;
filename "vmunix.passacaglia"; /文件名称;
server-name "toccata.example.com"; /服务器名称;
}
host fantasia { /固定IP地址配置;
hardware ethernet 08:00:07:26:c0:a5; /物理地址;
fixed-address fantasia.example.com; /分配的固定IP地址;
}
class "foo" {
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
shared-network 224-29 {
subnet 10.17.224.0 netmask 255.255.255.0 {
option routers rtr-224.example.org;
}
subnet 10.0.29.0 netmask 255.255.255.0 {
option routers rtr-29.example.org;
}
pool {
allow members of "foo";
range 10.17.224.10 10.17.224.250;
}
pool {
deny members of "foo";
range 10.0.29.10 10.0.29.230;
}
}
ignore client-updates; /忽略客户端更新
3、服务配置
(1)单网段dhcp服务
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
default-lease-time 2000;
max-lease-time 5000;
option routers 192.168.14.2;
option domain-name "example.org";
option domain-name-servers 114.114.114.114,8.8.8.8;
subnet 192.168.14.0 netmask 255.255.255.0{
range 192.168.14.20 192.168.14.30;
}
[root@localhost ~]# systemctl restart dhcpd
(2)多网段dhcp服务
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
default-lease-time 2000;
max-lease-time 5000;
option domain-name "example.org";
option domain-name-servers 114.114.114.114,8.8.8.8;
subnet 192.168.14.0 netmask 255.255.255.0{
range 192.168.14.20 192.168.14.30;
option routers 192.168.14.2;
}
subnet 192.168.15.0 netmask 255.255.255.0{
range 192.168.15.20 192.168.15.30;
option routers 192.168.15.2;
}
[root@localhost ~]# systemctl restart dhcpd
(3)固定IP地址配置
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
host xxx { /红色位置可随意不配置,不重复即可;
hardware ethernet 00:0C:29:7F:32:06;
fixed-address 192.168.40.250;
}
[root@localhost ~]# systemctl restart dhcpd
以上是关于Linux ❀ RHCE自研教学笔记 - Redhat 8.2 DHCP服务教研笔记的主要内容,如果未能解决你的问题,请参考以下文章
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 SFTP服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 SFTP服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Nmcli服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Nmcli服务教研笔记