搭建DHCP服务器

目录

一:DHCP是什么?

1.动态怎么理解?

2.为什么是udp协议

二:DHCP的好处

三:DHCP服务的原理:(重要)

四:DHCP的具体例子

1.无线路由器

2.虚拟机

3.k8s和docker

五:配置dhcp服务器(实操)

1.配置环境

2.正式步骤

1.安装dhcp服务

2.编辑配置文件 

3.启动服务,调试

 4.测试

1.简单查看

2.客户机测试

六:注意事项 

1.建设给dhcp服务器设置固定的ip地址

2.dhcp服多器如何知道哪些地址分配出去了,哪些没有分配出去?

3.dhcp服多器如何知道分配出去的ip地址不和别人手工配的冲突呢?


一:DHCP是什么?

动态主机配置协议  Dynamic Host Configuration Protocol 该协议允许服务器向客户端动态分配 IP 地址和配置信息。

1.动态怎么理解?

动态Dynamic :理解为有一台专门给其他电脑分配ip地址等信息的服务器--》靠其他服务器给你分配ip地址,这个ip地址是不固定(与静态相反,静态是固定的)

2.为什么是udp协议

DHCP是应用层的协议,DHCP使用传输层中的UDP协议进行通信,而TCP则使用TCP协议,马上分配ip地址

Tcp的三次握手需要ip地址来握手,连ip地址都没有需要分配所以采用udp协议进行通信

二:DHCP的好处

使用dhcp服务器的好处:

减小管理员的工作量(非专业人员不会配IP地址,直接DHCP自动配)

减小输入错误的可能(配错了就上不了网)

避免IP冲突

提高了IP地址的利用率

三:DHCP服务的原理:(重要)

客户机请求IP地址  -->DHCPdiscover  -->广播   发现

服务器响应请求  -->DHCPoffer   --》单播       服务器响应

客户机选择IP地址  ---》DHCPrequest  ---》广播  网络请求

服务器确认租约   ---》DHCPack  -->单播        确认

这里:

BROADCAST  广播

MULTICAST  组播(多播)

unicast    单播

例如:

arping 发的广播包 回来的单播Unicast,然后【】里面就是mac地址

ARP(地址解析协议,Address Resolution Protocol)是一种用于将IP地址映射到物理硬件地址(如MAC地址)的协议

四:DHCP的具体例子

1.无线路由器

无线路由器/有线路由器/vpn服务器,具体dhcp功能这里的dhcp相当于租客和房主的关系

2.虚拟机

vmware 里也有dhcp功能,vmnet1和vmnet8网卡模式,会自带一个dhcp服务器

把none改成dhcp就会动态获得ip地址了

注意:仅主机模式是上不了网的,分配了ip但是没有分配网关而NAT模式分配了网关和IP地址,所以可以上网

3.k8s和docker

k8s和docker里面也有dhcp服务器,给容器分配ip地址也有dhcp服务器,给容器分配ip地址

后续会学习到

五:配置dhcp服务器(实操)

1.配置环境

linux环境,要求服务器能够上网

[root@lb-1 ~]# cat /etc/centos-release   ###查看当前centos版本
CentOS Linux release 7.9.2009 (Core)
[root@lb-1 ~]#
[root@lb-1 ~]# ping www.baidu.com -c 2     ###ping得通
PING www.baidu.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=16.0 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=15.5 ms

--- www.baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 15.512/15.757/16.003/0.275 ms

2.正式步骤

1.安装dhcp服务

1.安装dhcp相关的软件包
[root@lb-1 ~]# yum install dhcp -y

2.修改配置文件,配置dhcp服务器
[root@lb-1 ~]# cd /etc/dhcp/
[root@lb-1 dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@lb-1 dhcp]# 
dhcpd.conf 是我们的主要的配置文件--》ipv4
dhcpd6.conf  是ipv6的配置文件

2.编辑配置文件 

拷贝样例文件到/etc/dhcp目录
[root@lb-1 dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@lb-1 dhcp]# vim  /etc/dhcp/dhcpd.conf  编辑配置文件
# have to hack syslog.conf to complete the redirection).
log-facility local7;   #指定日志类型
# A slightly different configuration for an internal subnet.
subnet 192.168.88.0 netmask 255.255.255.0 {       #指定分配ip地址的网段号和子网掩码
  range 192.168.88.10 192.168.88.254;  #指定地址池的范围,必须是Xshell上面的网段里的ip
  option domain-name-servers 114.114.114.114;  #指定dns服务器地址
  option routers 192.168.88.1;  #指定网关
  default-lease-time 600;  #最短租约时间600秒
  max-lease-time 7200; #最长租约时间7200秒
}

dhcp服务器里的网关或者dns服务器配置错误,就会误导客户机上不了网

#指定动态获得ip地址    dhcp表示动态获得   none表示静态配置 

调完以后记得关闭防火墙

service firewalld stop

或者防火墙中也可以有专门添加dhcp的命令 

3.启动服务,调试

[root@lb-1 network-scripts]# service  dhcpd start
Redirecting to /bin/systemctl start dhcpd.service

 4.测试

1.简单查看

1.看进程  dhcpd
2.看端口  67  udp

[root@lb-1 network-scripts]# ps aux|grep  dhcpd    看进程
dhcpd      3890  0.0  0.2 105996 11964 ?        Ss   11:37   0:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
root       3893  0.0  0.0 112832  2292 pts/3    S+   11:37   0:00 grep --color=auto dhcpd
[root@lb-1 network-scripts]# netstat -anplut|grep dhcp   看端口
udp        0      0 0.0.0.0:67              0.0.0.0:*                           3890/dhcpd      

2.客户机测试

在配置了DHCP服务器后,只需将客户端的网络配置设置为自动获取IP地址(也称为DHCP模式),客户端就应该能够通过DHCP服务器动态获取IP地址了。

客户机里的设置为NAT模式: 记得一定要关闭linux里的dhcp服务器,不要两个dhcp服务器运行,否则测试失败(不勾选)

 客户机里这样设置

[root@web3 ~]# cd  /etc/sysconfig/network-scripts/
[root@web3 network-scripts]# ls
ifcfg-ens33  ifdown-eth   ifdown-post    ifdown-Team      ifup-aliases  ifup-ipv6   ifup-post    ifup-Team      init.ipv6-global
ifcfg-lo     ifdown-ippp  ifdown-ppp     ifdown-TeamPort  ifup-bnep     ifup-isdn   ifup-ppp     ifup-TeamPort  network-functions
ifdown       ifdown-ipv6  ifdown-routes  ifdown-tunnel    ifup-eth      ifup-plip   ifup-routes  ifup-tunnel    network-functions-ipv6
ifdown-bnep  ifdown-isdn  ifdown-sit     ifup             ifup-ippp     ifup-plusb  ifup-sit     ifup-wireless
[root@web3 network-scripts]# cat ifcfg-ens33 
BOOTPROTO="dhcp"   #指定动态获得ip地址    dhcp表示动态获得   none表示静态配置
NAME="ens33"
DEVICE="ens33"  #网卡的名字
ONBOOT="yes"  #开机激活网卡


[root@web3 network-scripts]# service network restart  刷新网卡服务,重新去获得ip地址

[root@web3 network-scripts]# ifdown ens33;ifup ens33  刷新网卡服务,重新去获得ip地址

这个时候再ip add 重新查看到的ip地址是dhcp服务器中地址池的最小位:因为dhcp默认动态配置是从最小位增大依次配置ip的 

六:注意事项 

1.建设给dhcp服务器设置固定的ip地址

自己配置的这台dhcp服务器本身也是一台虚拟机,需要ip地址


2.dhcp服多器如何知道哪些地址分配出去了,哪些没有分配出去?

账本,记录哪些地址已经分配了,哪些没有分区,放置在var/lib,dhcpd'dhcpd.leases文件中


3.dhcp服多器如何知道分配出去的ip地址不和别人手工配的冲突呢?

首先arping 符要分配出去的ip地址,如果没有回复,说明ip地址没有使用、可以分配紛客户机。如果有回复。说明ip地址已经在使用了,不分配。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值