linux dhcp搭建简介

 

Dhcp简介:

全称(Dynamic Host Configuration Protocol)

最常见的4种属性:ip/netmask/dns server/gateway

工作原理:前身boot protocol(bootp),无盘工作时,服务器为终端提供磁盘空间,那个时候,主机开机前需要获取ip,boot protocol协议产生,此时只有网卡mac地址,这个网卡在通电后自我唤醒、扮演客户端获取ip,发送rarp协议广播报文,通过mac得到ip,然后用ip从服务器上获取操作系统,boot protocol分配的ip是固定的,下一次使用还是这个ip,所以ip地址有一定限制,所以产生了dhcp,达到了ip地址的超负荷使用的目的,从而产生了租约的概念。

Dhcp报文类型:

1.client  discover:发现

                   2.server offer:(ip/netmask,gw)

                   3.client request:

                   4.server ack:

 

Dhcp包安装:

 

Dhcp软件包中有dhcpd、dhcrelay两个守护进程,俩个进程不可以同时启动,dhcpd可为ipv4、ipv6提供服务,分别使用了不同的配置文件dhcpd.conf与dhcpd6.conf,但是用ipv6时不可独立启动,需要其他软件的支持.

守护进程

对应服务

配置文件

Dhcpd

Dhcpd.service

Dhcpd.conf

Dhcpd6.service

Dhcpd6.conf

dhcrelay

Dhcrelay.service

作者没有找到,做dhcp中继也用不到。

/user/sbin/dhcpd守护进程

     /etc/dhcp/dhcpd.conf à/etc/rc.d/init.d/dhcpd

    

除了dhcp包也可以使用dnsmasq(轻量级dns与dhcp)

Dhcp文件配置:

成功安装dhcp后开始配置,我们可以看到原本配置文件为空,但是有提供一个模板,只要复制即可:

 

option domain-name "magedu.com ";#域名选项option用来指定属性,指定除了地址掩码外的其他属性

option domain-name-servers 172.16.0.1,8.8.8.8;#域名服务器选项

default-lease-time 86400;#默认租期86400(一天)

max-lease-time 86400;#最大租期

在dhcp中配置文件里,option既可以定义在全局,也可以定义于subnet中,每一个subnet中定义一个子网,也可以放在host中,这个是专门保留的,但是要注意,范围越小越优先!!也说明配置信息可以被继承。

而域名服务器是要配置成ip地址的,因为主机拿到域名的话是无法解析的。

修改后的配置文件如下:

 

其他的配置并不需要,可以全部注释掉,子网配置需要与dhcp主机在同一个网段。

Dhcp测试:

通过以下命令重启并且查看dhcp启动状态及端口:

systemctl start dhcpd.service

systemctl status dhcpd.service

ss -unlp

 

可以看出来:dhcp监听在67端口

通过另一台主机,使用dhclient -d在前台获取ip:

 

可以看出可以获取地址,dhcp配置成功

并且cat /var/lib/dhcpd/dhcpd.leases可以查看dhcp分配记录:

 

我们刚刚并没有给dhcp配置网关,所以clinet1的网关并没有改变,接下来我们配置一下网关:

在dhcpd.conf 加入option routers 172.16.100.67;如果有多个subnet通常会写入到相应subnet中。

注意:每次写完文件需要systemctl restart dhcpd.service 重启服务

查看dhcp运行状态:

      

原文地址:https://www.cnblogs.com/abels0025/p/11390434.html