Linux网络服务DHCP

159 阅读2分钟

DHCP概念

概念:动态主机配置协议,自动为计算机分配tcp/ip参数

DHCP服务采用传输层UDP协议,客户机使用UDP协议的68端口,服务器使用UDP的67端口。

DHCP优点

  1. 减少管理员的工作量
  2. 避免输入错误的可能
  3. 避免IP地址冲突
  4. 当更改lP地址段时,不需要重新配置每个用户的IP地址
  5. 提高了IP地址的利用率
  6. 方便客户端的配置

DHCP的分配方式

  • 自动分配,自己配置,可以永久使用
  • 手动分配,由管理员直接分配
  • 动态分配,即插即用,使用完释放IP,其他计算机也可以使用

DHCP工作过程

客户机请求IP地址(DHCP Discover)

PC发生DISCOVER报文,寻址DHCP服务器

服务器响应(DHCP Offer)

dhcp服务器收到discover报文,回复offer报文(基本网络配置)给pc

客户机选择IP地址(DHCP Request)

pc1收到offer报文会将报文参数设置好,回复request报文给DHCP服务器,让dhcp删除以及分配过的IP地址

服务器确定租约(DHCP Ack)

dhcp回复ack,确认收到

重新登录:

  • DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息。

image.png

实验:设置DHCP服务器并分配地址

Linux虚拟机关闭防火墙和selinux。

[root@localhost ~]# systemctl stop firewalld.service  
[root@localhost ~]# setenforce 0

安装 dhcp 软件包,并查看配置文件。

[root@localhost ~]# yum install dhcp -y   //安装dhcp  
[root@localhost ~]# rpm -qc dhcp

将Linux虚拟机的网络模式改成仅主机模式。

image.png

image.png 修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33,之后重启网络服务。

[root@localhost ~]# vim /sysconfig/net-scripts/ifcfg-ens33 //修改网卡配置文件 

IPADDR=
GETWAY=
DNS1=

[root@localhost ~]# systemctl restart network //重启网络服务

编辑dhcp服务的配置文件/etc/dhcp/dhcpd.conf,设置网段(要和虚拟网络编辑器中的保持一致)、地址池、网关地址。之后重启dhcp服务。

# 将模板文件复制为配置文件  
[root@localhost ~]# cd /usr/share/doc/dhcp-4.2.5/  
[root@localhost dhcp-4.2.5]# ls  
dhcpd6.conf.example dhcpd.conf.example ldap  
[root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf  
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes


[root@localhost ~]# vim /etc/dhcp/dhcpd.conf   
------------------------------------   
subnet 192.168.137.0 netmask 255.255.255.0 {     //设置子网IP、子网掩码   
range 192.168.137.20  192.168.137.80;         //设置地址池   
option routers 192.168.137.10;                 //设置网关地址   
}  

验证虚拟机能否获取DHCP服务器分配的IP地址

ifconfig