DHCP服务的配置与应用

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

DHCP:Dynamic Host Configuration Protocol  动态主机配置协议,对客户机动态分配TCP/IP信息 :包括IP地址、子网掩码、默认网关、首选DNS服务器等信息。

服务器端监听端口:UDP 67

客户端监听端口:UDP 68

DHCP服务器是以地址租约的方式为DCHP客户端提供服务的,有两种方式:

限定租期:当租约快到期时,客户端必须向DHCP服务器提出续约请求,请求成功后可以继续使用该IP地址。如果客户端没有续约或者续约不成功,服务器就会将该IP地址回收,分配给其他DHCP客户端使用。

永久租用:当DHCP客户端向DHCP服务器租用到IP地址后,这个地址就永久地分配给这个DHCP客户端使用。

工作原理:

wps_clip_image-14121

当DHCP客户端IP地址使用时间达到租期的一半时,它就会向DHCP服务器发送一个新的DHCPREQUEST,服务器在接收到请求时,没有拒绝理由便会发送一个DHCPACK信息,当DHCP收到DHCPACK的请求后,就重新开始一个租用周期。

当DHCP客户端重新启动时,不管IP地址租约是否到期,都会以广播的方式,给网络中的DHCP服务器发送一个DHCPREQUEST信息,若没有收到应答且租期还没过期,那么DHCP客户端将继续使用该IP地址。

当IP地址的租期超过一半但续约失败时,该DHCP客户端仍可使用该IP,但是将在租期达到87.5%时候再次利用广播信息发送一个DHCPREQUEST信息,以便找到一台可以继续提供租期的DHCP服务器。如果DHCP服务器返回DHCPNACK信息,说明租约失败,此时客户端需重新开始DHCPDISCOVER四个过程。

进程名称dhcpd

主配置文件 /etc/dhcpd.conf   /etc/sysconfig/dhcpd(参数性配置文件)

启动脚本 /etc/init.d/dhcpd

下面我们就在来在linux上配置DHCP服务。

首先必须确保自己的主机为静态IP。如果网卡使用host-only连接方式则一定要把虚拟机的DHCP服务停掉,不然会影响实验效果。

[root@station39 ~]# yum install dhcp -y

[root@station39 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

主配置文件需要手动创建,这里我们将系统提供给我们的模板拷贝到/etc/下,稍加修改即可使用:

[root@station39 ~]# cd /usr/share/doc/dhcp-3.0.5/

[root@station39 dhcp-3.0.5]# cp dhcpd.conf.sample /etc/dhcpd.conf

主配置文件的相关参数:

ddns-update-style interim;     //** 指定DDNS的更新方式,DNS和DHCP服务器双方协同

                            工作提供动态DNS的时候的工作方式

ignore client-updates;        //** 忽略客户端更新请求

PS:当全局参数和局部参数出现冲突时,以局部参数为准。作用范围越小,优先级越高

wps_clip_image-10541

[root@station39 ~]# vim /etc/sysconfig/dhcpd

DHCPDARGS=eth0             //** 指定监听的网卡

启动之后查看一下监听端口:

[root@station39 ~]# netstat -ntulp | grep 67

udp        0      0 0.0.0.0:67                  0.0.0.0:*                               16653/dhcpd

PS:dhclient 客户端所使用的进程

dhclient  -d  eth0  //** 在前台运行,默认运行在后台

使用客户端获得一下IP来验证一下效果:

wps_clip_image-29685

看,已经获得了一个我们所定义的地址池内的IP。

PS:linux上DHCP服务器分配IP的方式是从大到小,而windows 上DHCP服务器分配IP的方式是从小到大,这里你应该明白客户端为什么获得的是150的IP了。

为客户端分配一个固定的地址:

修改dhcpd.conf文件

host web {

                hardware ethernet 00:0C:29:84:22:C1;

                fixed-address 192.168.10.119;

        }

wps_clip_image-14125

重启服务。

客户端重新获得一下IP试试:

wps_clip_image-21290

OK!完全没问题!

为固定IP定义参数:

# we want the nameserver to appear at a fixed address

        host web {

                option routers 192.168.10.10;

                option domain-name-servers  192.168.0.110;

                hardware ethernet 00:0C:29:84:22:C1;

                fixed-address 192.168.10.119;

        }

PS:在网卡的配置参数里添加PEERDNS=no,使用自己配置的DNS地址,无论DHCP服务参数如何改变,都不改变/etc/resolv.conf 中的定义。

/var/lib/dhcpd/dhcpd.leases保留当前已经租出去的IP的客户端所获得的地址租约的信息。

wps_clip_image-14781

根据客户端的类型给予其特定的IP:

class "virtual" {

     match if substring (hardware, 1,3) = 00:16:3e  or       

              substring  (hardware,1,3) = 00:16:36;

}

class "vmware" {

     match if substring (hardware, 1,3) = 00:0c:29

}            

class "microsoft-clients"

     match if substring (option  vendor-class-identifier,0,4) = "MSFT";   //** 根据供应商类

                                                                  别标识

            option routers 192.168.0.254;

            option domain-nameservers 192.168.0.90

}

pool {

    allow members of "virtual";             //**允许哪一类客户端来获得此地址

    range  192.168.0.90  192.168.0.110

}

pool {

    deny members of "virtual";        //** 拒绝哪一类客户端来获得此地址   

    deny members of "microsoft-clients";

     range 192.168.0.2 192.168.0.90;

}

pool {

    deny members of "virtual";

    allow members of "microsoft-clients";

     range 192.168.0.202 192.168.0.252;

}

DHCP 中继 relay

我们在虚拟机上来模拟DHCP中继代理的功能:

wps_clip_image-18324

实验环境配置:DHCP server IP :192.168.10.1  网络连接:Vmnet2

              Router: eth0:192.168.10.11   网络连接:Vmnet2

                     eth1:192.168.20.10   网络连接:桥接

              DHCP Relay :192.168.20.11    网络连接:桥接

              物理机做客户端

修改DHCPServer 的主配置文件/etc/dhcpd.cconf ,添加一个地址池:

subnet 192.168.20.0 netmask 255.255.255.0 {

   option routers 192.168.20.1;

   option domain-name "linna.com";

   option subnet-mask 255.255.255.0;

   range 192.168.20.11 192.168.20.50;

}

重启服务

为DHCP server添加网关

[root@station39 etc]# route add default gw 192.168.10.11

为DHCP relay server添加网关

[root@station26 ~]# route add  default gw 192.168.20.10

修改/etc/sysconfig/dhcrelay文件

[root@station26 ~]# vim /etc/sysconfig/dhcrelay

INTERFACES="eth0"

DHCPSERVERS="192.168.10.1"

启动中继服务:

[root@station26 ~]# service dhcrelay start

为做router的这台主机打开内核路由功能

[root@server27 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

OK!已经配置完成,我们使用物理机来验证一下效果:

wps_clip_image-17869

看!获得的是20网段的地址,说明我们的DHCP中继已经起作用了。










本文转自 490999122 51CTO博客,原文链接:http://blog.51cto.com/lyp0909/530582,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
安全 网络协议 网络安全
Cisco-DHCP配置
Cisco-DHCP配置
116 3
|
25天前
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
82 27
|
5月前
|
安全 小程序 网络安全
Cisco-DHCP中继配置
Cisco-DHCP中继配置
143 4
|
6月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
98 18
|
7月前
|
安全 Ubuntu 网络协议
在Linux中,如何配置DHCP服务器?
在Linux中,如何配置DHCP服务器?
|
8月前
|
网络协议 Linux 开发工具
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
|
9月前
|
网络协议
DHCP服务详解
DHCP服务详解
446 0
|
网络协议 Linux 应用服务中间件
2022红帽企业版网络配置--centos7配置DHCP DNS绑定域名 FTP HTTP(apache) nginx samba
2022红帽企业版网络配置--centos7配置DHCP DNS绑定域名 FTP HTTP(apache) nginx samba
271 0
|
10月前
|
监控 安全 网络协议
|
9月前
|
Ubuntu
ubuntu 开启dhcp服务并配置
ubuntu 开启dhcp服务并配置
434 2