Dhcp服务
1.概述
动态主机配置协议,可以给主机分配IP地址
2.名称
- 软件名
- CentOS7.9
dhcp
- redhat9.5
dhcp-server
- CentOS7.9
- 服务名
- CentOS7.9
dhcpd
- redhat9.5
dhcpd
- CentOS7.9
3.配置文件
-
服务端配置文件
/etc/dhcp/dhcpd.conf
subnet 192.168.98.0 netmask 255.255.255.0 { #网络声明IP网段和子网掩码 range 192.168.98.150 192.168.98.160; #划分地址池 option routers 192.168.98.2; #配置路由 option domain-name-servers 8.8.8.8; #配置DNS } #基于主机的Mac地址分配ip,若有多个主机要分配可以写多个 host hostname { #主机名称 hardware ethernet 08:00:07:26:c0:a5; #主机的mac地址 fixed-address 192.168.98.220; #要分配的ip地址 }
主机声明的优先级大于网络声明
- 客户端租约文件
/var/lib/NetworkManager/*.lease
4.端口
UDP/67 用来接收客户端的请求
UDP/68 用来响应客户端的请求
5.控制命令
dhcpd -t #检查配置文件
dhcrelay ip地址 #指定DHCP服务器
journalctl -u dhcpd #查看dhcp的日志文件
systemctl start/stop/restart/reload/status dhcpd #开启/停止/重启/重载/状态
6.工作流程
7.实验
DHCP服务器要有IP地址才能给其他主机分配IP地址
(1)网络声明分配IP
-
服务配置静态IP
nmcli c modify ens33 ipv4.address 192.168.98.133/24 ipv4.method manual ipv4.gateway 192.168.98.2 ipv4.dns "8.8.8.8 114.114.114.114"
-
下载dhcp服务
yum install -y dhcp
-
编写配置文件
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf subnet 192.168.98.0 netmask 255.255.255.0 { #网段 range 192.168.98.150 192.168.98.160; #地址池 option routers 192.168.98.2; #路由 option domain-name-servers 8.8.8.8; #DNS }
-
客户端测试
nmcli c modify ens33 ipv4.method auto ifdown ens33 ifup ens33 #查看dhcp服务器日志,判断是否成功分配ip journalctl -f -u dhcpd
(2)主机声明分配IP
-
服务配置静态IP
nmcli c modify ens33 ipv4.address 192.168.98.133/24 ipv4.method manual ipv4.gateway 192.168.98.2 ipv4.dns "8.8.8.8 114.114.114.114"
-
下载dhcp服务
yum install -y dhcp
-
编写配置文件
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf host hostname { #主机名字 hardware ethernet 08:00:07:26:c0:a5; #mac地址 fixed-address 192.168.98.98 ; #IP地址 }
-
客户端测试
nmcli c modify ens33 ipv4.method atuo
ifdown ens33
ifup ens33
#查看dhcp服务器日志,判断是否成功分配ip
journalctl -f -u dhcpd
(3)跨网段分配IP
主机 | IP | 网关 |
---|---|---|
A(dhcp服务器) | 192.168.98.98/24 VMent7 | 192.168.98.254 |
B(双网卡中继) | 192.168.98.254/24 VMent7 192.168.198.254/24 VMent9 | 192.168.98.254 192.168.198.254 |
C(客户端测试) | VMent9 |
-
主机A下载DHCP服务
yum install -y dhcp #redhat是 dhcp-server
-
编写配置文件
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
subnet 192.168.98.0 netmask 255.255.255.0 { #网段
range 192.168.98.150 192.168.98.160; #地址池
option routers 192.168.98.2; #路由
option domain-name-servers 8.8.8.8; #DNS
}
- 主机B下载DHCP服务
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf && sysctl -p #开启路由转发
yum install -y dhcp #CentOS的命令
yum install -y --repo BaseOS,AppStream dhcp-relay.x86_64 #如果是redhat运行这个,Base和AppStream是本地仓库的id
yum repolist #可以查看仓库id
dhcrelay 192.168.98.98 #指定DHCP服务器,安装DHCP或dhcp-relay.x86_64,只是为了运行dhcrelay命令来指定dhcp服务器
- 客户端测试
nmcli c modify ens33 ipv4.method atuo
ifdown ens33
ifup ens33
#查看dhcp服务器日志,判断是否成功分配ip
journalctl -f -u dhcpd