DHCP服務(wù)器

DHCP服務(wù)

  • DHCP介紹
  • DHCP應(yīng)用場(chǎng)景
  • DHCP工作原理
  • DHCP服務(wù)器部署
  • DHCP作用域
  • DHCP超級(jí)作用域

一、DHCP介紹

在LAN(局域網(wǎng))中我們常會(huì)遇到以下的情況:

1)不知道如何配置IP地址及相關(guān)信息的員工,無法上網(wǎng)妨托;

2)IP地址配置沖突醉箕,無法上網(wǎng)熏迹;

3)來訪用戶因不熟悉公司網(wǎng)絡(luò)情況無法上網(wǎng);

以上這些情況都是日常最常見也是最無腦的工作,公司網(wǎng)絡(luò)管理員需要不停的去幫忙去解決這些問題吻育,以此來保障公司網(wǎng)絡(luò)的正常使用及員工的正常用網(wǎng)需求。而這些工作對(duì)于網(wǎng)絡(luò)管理員來說實(shí)在是太低級(jí)淤井、太無腦布疼、太繁瑣了,會(huì)消耗網(wǎng)絡(luò)管理員的大量工作時(shí)間币狠,也會(huì)影響公司員工的工作效能游两。那么如何通過其他的方法讓計(jì)算機(jī)就能直接解決了上述問題,從而解放網(wǎng)絡(luò)管理員呢漩绵?DHCP就是一個(gè)不二的選擇贱案。

DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議),通常被應(yīng)用在局域網(wǎng)絡(luò)環(huán)境中止吐,主要作用是集中的管理宝踪、分配IP地址,使網(wǎng)絡(luò)環(huán)境中的主機(jī)動(dòng)態(tài)的獲得IP地址碍扔、Gateway地址瘩燥、DNS服務(wù)器地址等信息,并能夠提升地址的使用率不同。由于DHCP是一個(gè)UDP協(xié)議厉膀,所以運(yùn)行起來更加高效溶耘。

DHCP協(xié)議采用客戶端/服務(wù)器模型(C/S模型),服務(wù)端可以為客戶端提供IP服鹅、掩碼凳兵、網(wǎng)關(guān)、主機(jī)名企软、DNS等信息留荔。客戶端只需將IP獲得方式設(shè)置為自動(dòng)獲取即可澜倦。

目前可以提供DHCP服務(wù)的設(shè)備有很多聚蝶,比如:

  • DHCP服務(wù)器(windows server、linux)
  • 硬件路由器
  • 家用寬帶路由

二藻治、DHCP應(yīng)用場(chǎng)景

1)公司局域網(wǎng)環(huán)境

2)家庭局域網(wǎng)環(huán)境

3)公共場(chǎng)合的wifi環(huán)境

4)寬帶環(huán)境網(wǎng)絡(luò)

使用DHCP的優(yōu)點(diǎn):

1)傻瓜式接入:用戶只需懂得插網(wǎng)線到電腦碘勉,或者輸入WiFi密碼接入網(wǎng)絡(luò)即可實(shí)現(xiàn)聯(lián)網(wǎng)

2)IP高效利用:及時(shí)回收IP機(jī)制,保證IP的高利用性桩卵,特別是對(duì)IP不足的網(wǎng)絡(luò)

3)避免IP沖突:避免IP沖突验靡,保證網(wǎng)絡(luò)的高效利用,保證公司員工及臨時(shí)人員高效工作

4)降低了公司網(wǎng)絡(luò)管理員的工作量雏节,提升了工作效率

三胜嗓、DHCP工作原理

image
3.1)工作方式

IP獲得需要通過發(fā)廣播來實(shí)現(xiàn)客戶端和服務(wù)器的通信,所以DHCP只能工作在局域網(wǎng)钩乍。

3.2)工作原理解析

1辞州、Client:向網(wǎng)絡(luò)中發(fā)送廣播,通過自己的UDP協(xié)議的68號(hào)端口向網(wǎng)絡(luò)中發(fā)送DHCP Discover包寥粹,用來尋找網(wǎng)絡(luò)中的DHCP Server.類似于你在你的公司大喊一聲:"誰是公司老板"一樣的道理变过。

2、Server:局域網(wǎng)中的所有DHCP服務(wù)器都能收到該Client發(fā)送的廣播包涝涤,然后DHCP Server會(huì)檢查自己的IP池中(也叫做作用域)是否還有可用IP可以分發(fā)媚狰。如果有的話,會(huì)直接將這個(gè)IP地址從池中拿出來阔拳,避免在發(fā)給別的客戶端崭孤,并且通過自己的UDP協(xié)議的67號(hào)端口給Client發(fā)一個(gè)響應(yīng)包DHCP Offer,同樣通信是采用廣播的方式,明確告訴其可以提供哪個(gè)IP給Client使用糊肠。類似于公司的幾個(gè)老板都在公司喊了一聲:“我是X老板辨宠,我有時(shí)間在哪個(gè)辦公室接待你”。

3罪针、Client:Client會(huì)收到局域網(wǎng)中的所有DHCP服務(wù)器發(fā)給自己的DHCP Offer包彭羹,默認(rèn)選一個(gè)最優(yōu)的DHCP Server進(jìn)行IP獲取(在這里就是第一個(gè)發(fā)送給他DHCP Offer的服務(wù)器算作最優(yōu))泪酱。然后繼續(xù)向網(wǎng)絡(luò)中通過UDP的68號(hào)端口發(fā)廣播DHCP Resquest派殷,明確指定DHCP Server IP地址和需要租用的IP地址,告訴它要從他這里獲得IP信息还最。自然其他DHCP Server也能收到廣播,確認(rèn)不從自己這里拿IP信息后毡惜,會(huì)將上步從IP池中拿出來的IP在釋放到池中拓轻,以便別人使用。類似于你在公司大喊一聲:“李老板经伙,我找你接待”扶叉,那么其他老板剛才計(jì)劃接待你的時(shí)間就會(huì)被釋放出來,用于接待別的客戶帕膜。

4枣氧、Server:被確認(rèn)的DHCP Server就會(huì)通過其UDP協(xié)議的67號(hào)端口發(fā)送DHCP ACK確認(rèn)包,采用廣播將IP垮刹、掩碼达吞、網(wǎng)關(guān)、DNS等信息還有IP租約一起發(fā)送給DHCP Client荒典,Client確認(rèn)IP可用后酪劫,根據(jù)IP租約開始計(jì)算使用時(shí)間。類似于李老板把你請(qǐng)進(jìn)他的辦公室寺董,開始和你聊天覆糟,并計(jì)算聊天時(shí)間為30分鐘,開始倒計(jì)時(shí)遮咖。

3.3)計(jì)算機(jī)獲得IP的時(shí)間點(diǎn)

a滩字、計(jì)算機(jī)開機(jī)

b、網(wǎng)卡接通網(wǎng)絡(luò)

c盯滚、重啟網(wǎng)卡服務(wù)

3.4)租約更新階段

a踢械、租約完成1/2

b酗电、租約完成7/8

c魄藕、租約到期

四、DHCP服務(wù)器部署

約定:本實(shí)驗(yàn)中使用過的機(jī)器為centos7.5_x86_64系統(tǒng)撵术,計(jì)算機(jī)名稱:baism.ayitula.com,IP地址192.168.11.16/24.請(qǐng)關(guān)閉防火墻和SELINUX背率。

4.1)DHCP安裝

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

4.2)DHCP配置文件詳解

默認(rèn)情況下,dhcp服務(wù)并沒有提供配置文件嫩与,只是給提供了一個(gè)demo,存放在/usr/share/doc/dhcp*/目錄下.我們將demo文件拷貝到/etc/dhcp目錄下寝姿,并且命名為dhcpd.conf。

[root@baism ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆蓋"/etc/dhcp/dhcpd.conf" y

配置文件詳解

[root@baism ~]# cat /etc/dhcp/dhcpd.conf
# #號(hào)代表注釋
# DHCP服務(wù)配置文件分為全局配置和作用域配置划滋,很好區(qū)分:subnet的就是作用域 不在subnet里面的就是全局設(shè)置饵筑。
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

#DNS全局選項(xiàng),指定DNS服務(wù)器的地址处坪,可以是IP根资,也可以是域名架专。
# option definitions common to all supported networks...
# DNS的域名
option domain-name "example.org";

#具體的DNS服務(wù)器
option domain-name-servers ns1.example.org, ns2.example.org;

#租約設(shè)置,默認(rèn)租約為600s
default-lease-time 600;
#租約設(shè)置玄帕,最大租約為7200s部脚,當(dāng)客戶端未請(qǐng)求明確的租約時(shí)間。
max-lease-time 7200;

#動(dòng)態(tài)DNS更新方式(none:不支持裤纹;interim:互動(dòng)更新模式委刘;ad-hoc:特殊更新模式)
# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;

#如果該DHCP服務(wù)器是本地官方DHCP就將此選項(xiàng)打開,避免其他DHCP服務(wù)器的干擾鹰椒。
#當(dāng)一個(gè)客戶端試圖獲得一個(gè)不是該DHCP服務(wù)器分配的IP信息锡移,DHCP將發(fā)送一個(gè)拒絕消息,而不會(huì)等待請(qǐng)求超時(shí)漆际。
#當(dāng)請(qǐng)求被拒絕罩抗,客戶端會(huì)重新向當(dāng)前DHCP發(fā)送IP請(qǐng)求獲得新地址。
#保證IP是自己發(fā)出去的
#
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
# 日志級(jí)別
log-facility local7;

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.

#作用域相關(guān)設(shè)置指令
#subnet 定義一個(gè)作用域
#netmask 定義作用域的掩碼
#range 允許發(fā)放的IP范圍
#option routers 指定網(wǎng)關(guān)地址
#option domain-name-servers 指定DNS服務(wù)器地址
#option broadcast-address 廣播地址
#
#
#案例:定義一個(gè)作用域 網(wǎng)段為10.152.187.0 掩碼為255.255.255.0
#此作用域不提供任何服務(wù)
subnet 10.152.187.0 netmask 255.255.255.0 {
}

# This is a very basic subnet declaration.

#案例:定義一個(gè)基本的作用域
#網(wǎng)段10.254.239.0 掩碼255.255.255.224
#分發(fā)范圍10.254.239.10-20
#網(wǎng)關(guān)為rtr-239-0-1.example.org, rtr-239-0-2.example.org
subnet 10.254.239.0 netmask 255.255.255.224 {
  range 10.254.239.10 10.254.239.20;
  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.
#案例:允許采用bootp協(xié)議的客戶端動(dòng)態(tài)獲得地址
#bootp DHCP的前身
#BOOTP用于無盤工作站的局域網(wǎng)中灿椅,可以讓無盤工作站從一個(gè)中心服務(wù)器上獲得IP地址套蒂。通過BOOTP協(xié)議可以為局域網(wǎng)中的無盤工作站分配動(dòng)態(tài)IP地址,
#這樣就不需要管理員去為每個(gè)用戶去設(shè)置靜態(tài)IP地址茫蛹。
subnet 10.254.239.32 netmask 255.255.255.224 {
  range dynamic-bootp 10.254.239.40 10.254.239.60;
  option broadcast-address 10.254.239.31;
  option routers rtr-239-32-1.example.org;
}

#案例:一個(gè)簡(jiǎn)單的作用域案例
# A slightly different configuration for an internal subnet.
subnet 10.5.5.0 netmask 255.255.255.224 {
  range 10.5.5.26 10.5.5.30;
  option domain-name-servers ns1.internal.example.org;
  option domain-name "internal.example.org";
  option routers 10.5.5.1;
  option broadcast-address 10.5.5.31;
  default-lease-time 600;
  max-lease-time 7200;
}

# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.
#
#保留地址:可以將指定的IP分發(fā)給指定的機(jī)器操刀,根據(jù)網(wǎng)卡的MAC地址來做觸發(fā)
#host: 啟用保留。
#hardware:指定客戶端的mac地址
#filename:指定文件名
#server-name:指定下一跳服務(wù)器地址
#fixed-address: 指定保留IP地址
#
#
#案例:這個(gè)案例中分發(fā)給客戶端的不是IP地址信息婴洼,而是告訴客戶端去找toccata.fugue.com服務(wù)器骨坑,并且下載vmunix.passacaglia文件
host passacaglia {
  hardware ethernet 0:0:c0:5d:bd:95;
  filename "vmunix.passacaglia";
  server-name "toccata.fugue.com";
}

# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
# 案例:保留地址,將指定IP(fantasia.fugue.com對(duì)應(yīng)的IP)分給指定客戶端網(wǎng)卡(MAC:08:00:07:26:c0:a5)
host fantasia {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address fantasia.fugue.com;
}

#超級(jí)作用域
#超級(jí)作用域是DHCP服務(wù)中的一種管理功能柬采,使用超級(jí)作用域欢唾,可以將多個(gè)作用域組合為單個(gè)管理實(shí)體。
# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

#在局域網(wǎng)中粉捻,可以配置策略根據(jù)各個(gè)機(jī)器的具體信息分配IP地址和其他的網(wǎng)絡(luò)參數(shù)礁遣,客戶機(jī)的具體信息:客戶機(jī)能夠給dhcp服務(wù)提供的信息由兩個(gè),
#第一個(gè)就是網(wǎng)卡的dhcp-client-identifier(mac地址)肩刃,
#第二個(gè)就是設(shè)備的vendor-class-identifier祟霍。
#管理員可以根據(jù)這兩個(gè)信息給不同的機(jī)器分組。

#案例:
#按client某種類型分組DHCP,而不是按物理接口網(wǎng)段
#例子: SUNW 分配地址段10.17.224.0/24
#     非SUNW的主機(jī),分配地址段10.0.29.0/24
#定義一個(gè)dhcp類:foo
#request廣播中vendor-class-identifier字段對(duì)應(yīng)的值前四個(gè)字節(jié)如果是"SUNW",則視合法客戶端.
class "foo" {
  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}

#定義一個(gè)超級(jí)作用域: 224-29
shared-network 224-29 {
#定義第一個(gè)作用域
  subnet 10.17.224.0 netmask 255.255.255.0 {
    option routers rtr-224.example.org;
  }
#定義第二個(gè)作用域
  subnet 10.0.29.0 netmask 255.255.255.0 {
    option routers rtr-29.example.org;
  }

#關(guān)連池,如果客戶端匹配foo類盈包,將獲得該池地址
  pool {
    allow members of "foo";
    range 10.17.224.10 10.17.224.250;
  }
#關(guān)連池,如果客戶端配置foo類沸呐,則拒絕獲得該段地址
  pool {
    deny members of "foo";
    range 10.0.29.10 10.0.29.230;
  }
}

4.3)DHCP啟動(dòng)

[root@baism ~]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[root@baism ~]# systemctl start dhcpd

注意:可能發(fā)現(xiàn)無法啟動(dòng)DHCP服務(wù),原因是DHCP在啟動(dòng)的時(shí)候檢查配置文件呢燥,發(fā)現(xiàn)并沒有有效作用域(和服務(wù)器同網(wǎng)段的作用域)崭添。

五、DHCP作用域

教學(xué)案例一叛氨、配置一個(gè)作用域呼渣,用于為本地局域網(wǎng)中的計(jì)算機(jī)發(fā)放IP信息根暑。要求:

本地網(wǎng)段:192.168.11.0/24

發(fā)放IP地址:192.168.11.153--252

網(wǎng)關(guān):192.168.11.254

DNS1:202.106.0.20

DNS2:114.114.114.114

默認(rèn)租約為兩個(gè)小時(shí)

最大租約為3個(gè)小時(shí)

本DHCP服務(wù)器為本地權(quán)威DHCP,要求可以本地所有計(jì)算機(jī)獲得IP都是由本DHCP發(fā)放

5.1)DHCP服務(wù)配置

[root@baism dhcp]# cat /etc/dhcp/dhcpd.conf
option domain-name-servers 4.2.2.2, 4.2.2.1;

default-lease-time 28800;
max-lease-time 43200;
authoritative;
log-facility local7;

subnet 192.168.11.0 netmask 255.255.255.0 {
  range 192.168.11.153 192.168.11.252;
  option domain-name-servers 202.106.0.20, 114.114.114.114;
  option routers 192.168.11.254;
  option broadcast-address 192.168.11.255;
  default-lease-time 7200;
  max-lease-time 10800;
}

請(qǐng)根據(jù)4.2中的講解理解配置文件內(nèi)容徙邻。

5.2)重啟DHCP服務(wù)排嫌,生效配置

#重啟dhcpd服務(wù)
[root@baism dhcp]# systemctl restart dhcpd

#查看啟動(dòng)情況,同時(shí)也驗(yàn)證了客戶端使用的是68端口缰犁,服務(wù)端使用的是67端口
[root@baism dhcp]# lsof -i :68
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhclient 55234 root    6u  IPv4 110700      0t0  UDP *:bootpc 
[root@baism dhcp]# lsof -i :67
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq  1507 nobody    3u  IPv4  27149      0t0  UDP *:bootps 
dhcpd   56570  dhcpd    7u  IPv4 129157      0t0  UDP *:bootps

5.3)測(cè)試IP分發(fā)

打開一個(gè)客戶端機(jī)器淳地,IP獲得方式為自動(dòng)獲取,測(cè)試是否獲得到了自己這個(gè)DHCP服務(wù)器發(fā)放的IP地址帅容。本例子中測(cè)試機(jī)使用了centos 6.5系統(tǒng)颇象。來看下測(cè)試結(jié)果吧!

1) 查看一下當(dāng)前eth0的IP地址并徘、MAC地址遣钳,并保證其IP獲得方式為:DHCP
[root@bogon 桌面]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:1A:F8:BD  
          inet addr:172.16.44.132  Bcast:172.16.44.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe1a:f8bd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:86 errors:0 dropped:0 overruns:0 frame:0
          TX packets:63 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15294 (14.9 KiB)  TX bytes:6769 (6.6 KiB)

2)使用dhclient命令來獲得IP,看一下重要輸出
[root@bogon 桌面]# dhclient -d eth0
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0c:29:1a:f8:bd
Sending on   LPF/eth0/00:0c:29:1a:f8:bd
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6 (xid=0x316768c3)      發(fā)廣播尋找DHCP服務(wù)器
DHCPOFFER from 192.168.11.16                                                     192.168.11.16DHCP服務(wù)器應(yīng)答
DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x316768c3)                  client向服務(wù)器請(qǐng)求IP地址
DHCPACK from 192.168.11.16 (xid=0x316768c3)                                      確認(rèn)租賃關(guān)系
bound to 192.168.11.156 -- renewal in 2983 seconds.                              client分得IP:192.168.11.156
^C

注意:看到這些信息后麦乞,按CTRL+C退出蕴茴。
dhclient是一個(gè)DHCP協(xié)議客戶端,它使用DHCP協(xié)議或者BOOTP協(xié)議或在這兩個(gè)協(xié)議都不可用時(shí)使用靜態(tài)地址來配置一個(gè)或多個(gè)網(wǎng)絡(luò)接口
dhclient -r 釋放IP地址
dhclient -d 強(qiáng)制dhclient作為前臺(tái)進(jìn)程運(yùn)行姐直。 通常情況下倦淀,DHCP客戶端將在前臺(tái)運(yùn)行,直到配置了一個(gè)接口,此時(shí)它將恢復(fù)為在后
            臺(tái)運(yùn)行。               

3) 服務(wù)器日志查看驗(yàn)證獲取信息
[root@baism ~]# tailf /var/log/messages
Feb 21 13:40:44 baism dhcpd: DHCPDISCOVER from 00:0c:29:1a:f8:bd via ens33
Feb 21 13:40:45 baism dhcpd: DHCPOFFER on 192.168.11.156 to 00:0c:29:1a:f8:bd via ens33
Feb 21 13:40:45 baism dhcpd: DHCPREQUEST for 192.168.11.156 (192.168.11.16) from 00:0c:29:1a:f8:bd via ens33
Feb 21 13:40:45 baism dhcpd: DHCPACK on 192.168.11.156 to 00:0c:29:1a:f8:bd via ens33

4) 在client上通過ifconfig命令再次查看eth0 IP地址声畏,驗(yàn)證是否為192.168.11.156
[root@bogon 桌面]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:1A:F8:BD  
          inet addr:192.168.11.156  Bcast:192.168.11.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe1a:f8bd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:97 errors:0 dropped:0 overruns:0 frame:0
          TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17364 (16.9 KiB)  TX bytes:7537 (7.3 KiB)

5)查看網(wǎng)關(guān)撞叽,確定網(wǎng)關(guān)為192.168.11.254
[root@bogon 桌面]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         192.168.11.254  0.0.0.0         UG    0      0        0 eth0

6)查看DNS配置文件,看DNS是否為DHCP服務(wù)器發(fā)放的DNS服務(wù)器IP
[root@bogon 桌面]# cat /etc/resolv.conf 
; generated by /sbin/dhclient-script
nameserver 202.106.0.20
nameserver 114.114.114.114

5.4)通過DHCP服務(wù)器租約文件查看具體租約

租約文件的路徑: /var/lib/dhcpd/dhcpd.leases

[root@baism ~]# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

lease 192.168.11.154 {
  starts 4 2019/02/21 03:41:12;
  ends 4 2019/02/21 03:43:12;
  tstp 4 2019/02/21 03:43:12;
  cltt 4 2019/02/21 03:41:12;
  binding state free;
  hardware ethernet ac:87:a3:02:8d:5d;
  uid "\001\254\207\243\002\215]";
  client-hostname "baismdeMBP";
}
lease 192.168.11.153 {
  starts 4 2019/02/21 03:54:27;
  ends 4 2019/02/21 03:56:27;
  tstp 4 2019/02/21 03:56:27;
  cltt 4 2019/02/21 03:54:27;
  binding state free;
  hardware ethernet 00:0c:29:97:97:11;
  uid "\001\000\014)\227\227\021";
  client-hostname "cool-PC";
}
server-duid "\000\001\000\001$\000\315\373\000\014) u\271";

lease 192.168.11.155 {
  starts 4 2019/02/21 13:37:42;
  ends 4 2019/02/21 15:37:42;
  cltt 4 2019/02/21 13:37:42;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 00:0c:29:1a:f8:c7;
}

#發(fā)現(xiàn)租約
lease 192.168.11.156 {
  starts 4 2019/02/21 13:40:45;   租約開始時(shí)間
  ends 4 2019/02/21 15:40:45;     租約結(jié)束時(shí)間插龄,正好是兩個(gè)小時(shí)
  cltt 4 2019/02/21 13:40:45;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 00:0c:29:1a:f8:bd;
}

注意:當(dāng)你發(fā)現(xiàn)這里的時(shí)間和你的服務(wù)器時(shí)間不一致的時(shí)候愿棋,建議你修改時(shí)區(qū)解決問題,一般是差8個(gè)小時(shí)均牢,大家明白就好糠雨。

5.5)保留IP

在IP租約到期后,如果無法續(xù)訂租約膨处,client只能乖乖交出IP地址见秤,重新獲得一個(gè)其他IP使用。但是在公司有些服務(wù)器的IP地址是不能變化的真椿,因?yàn)樽兞擞脩艟蜔o法連接到服務(wù)器了,比如公司文件服務(wù)器乎澄、打印服務(wù)器等等突硝。那么在這種環(huán)境中我們既想使用DHCP管理公司IP,又想實(shí)現(xiàn)部分機(jī)器的IP永久不變置济,那么怎么實(shí)現(xiàn)呢解恰。

DHCP的作者在寫DHCP的時(shí)候也想到了這個(gè)問題锋八,提出了保留IP的概念,就是將某些IP保留护盈,然后服務(wù)器來獲得IP的時(shí)候挟纱,根據(jù)其MAC地址做匹配,將對(duì)應(yīng)的IP分給它即可腐宋。

教學(xué)案例:希望這個(gè)MAC地址為00:0C:29:1A:F8:C7的網(wǎng)卡能永久獲得IP 192.168.11.252紊服,實(shí)現(xiàn)方式如下:

 a、在配置文件/etc/dhcp/dhcpd.conf末尾添加以下內(nèi)容
 host print {         
  hardware ethernet 00:0C:29:1A:F8:C7;
  fixed-address 192.168.11.252;
}

host print    host為指令胸竞,print是個(gè)名字欺嗤,隨便起,但是最好有意義卫枝,要不過一段你也記不住了煎饼。
hardware ethernet 指定以太網(wǎng)網(wǎng)卡MAC地址
fixed-address 指定要綁定的IP

b、重啟DHCP服務(wù)
[root@baism ~]# systemctl restart dhcpd

c校赤、測(cè)試吆玖,登陸測(cè)試機(jī),釋放擋墻IP马篮,重新獲得新的IP衰伯,查看IP地址是否正確分發(fā)
[root@bogon 桌面]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:1A:F8:C7  
          inet addr:192.168.11.155  Bcast:192.168.11.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe1a:f8c7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4071 errors:0 dropped:0 overruns:0 frame:0
          TX packets:187 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:433880 (423.7 KiB)  TX bytes:16888 (16.4 KiB)

[root@bogon 桌面]# dhclient -r eth1

[root@bogon 桌面]# dhclient -d eth1
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth1/00:0c:29:1a:f8:c7
Sending on   LPF/eth1/00:0c:29:1a:f8:c7
Sending on   Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 4 (xid=0x45c162c2)
DHCPOFFER from 192.168.11.16
DHCPREQUEST on eth1 to 255.255.255.255 port 67 (xid=0x45c162c2)
DHCPACK from 192.168.11.16 (xid=0x45c162c2)
bound to 192.168.11.252 -- renewal in 2881 seconds.
^C

[root@bogon 桌面]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:1A:F8:C7  
          inet addr:192.168.11.252  Bcast:192.168.11.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe1a:f8c7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4081 errors:0 dropped:0 overruns:0 frame:0
          TX packets:191 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:436337 (426.1 KiB)  TX bytes:17656 (17.2 KiB)

完美!

六积蔚、DHCP超級(jí)作用域

體驗(yàn)了DHCP服務(wù)器給大家?guī)淼姆奖愫笠饩ǎ覀児ぷ鬏p松了很多,但是隨著時(shí)間的推移尽爆,突然有這么一個(gè)問題急需你解決怎顾,由于公司的發(fā)展壯大,公司人員數(shù)量越來越多漱贱,公司一個(gè)網(wǎng)段的IP無法滿足日常使用槐雾,所以又加了一個(gè)網(wǎng)段。但是默認(rèn)情況下幅狮,DHCP服務(wù)器只能發(fā)放和自己網(wǎng)卡在同一網(wǎng)段的IP地址募强,目前我們DHCP的網(wǎng)卡IP地址為192.168.11.0段,我們新加的網(wǎng)段為192.168.12.0崇摄,那么怎么能讓DHCP服務(wù)器既能發(fā)11網(wǎng)段擎值,又能發(fā)放12網(wǎng)段呢?學(xué)會(huì)超級(jí)作用域就可以解決這個(gè)問題逐抑。

超級(jí)作用域:將兩個(gè)或以上的不同網(wǎng)段的作用域合成一個(gè)作用域既是超級(jí)作用域鸠儿。

案例:部署一個(gè)超級(jí)作用域,作用域是192.168.11.0/24網(wǎng)段,192进每。168.12.0/24網(wǎng)段汹粤。

a、編輯配置文件
[root@baism ~]# cat /etc/dhcp/dhcpd.conf
option domain-name-servers 4.2.2.2, 4.2.2.1;

default-lease-time 28800;
max-lease-time 43200;
#authoritative;
log-facility local7;

#share-network 部署一個(gè)超級(jí)作用域
#supper 超級(jí)作用域名稱田晚,隨便起嘱兼,但是建議有意義。
shared-network supper {
#192.168.11.0作用域
subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.150 192.168.11.150;
option domain-name-servers 202.106.0.20, 114.114.114.114;
option routers 192.168.11.254;
default-lease-time 7200;
max-lease-time 10800;
}

#192.168.12.0作用域
subnet 192.168.12.0 netmask 255.255.255.0 {
range 192.168.12.150 192.168.12.150;
option domain-name-servers 202.106.0.20, 114.114.114.114;
option routers 192.168.12.254;
default-lease-time 7200;
max-lease-time 10800;
}

}

注意:案例中為了方便驗(yàn)證贤徒,我每個(gè)作用域只發(fā)布一個(gè)IP芹壕,否者測(cè)試無法保證能100%分到兩個(gè)網(wǎng)段。

b泞莉、重啟DHCP服務(wù)哪雕,生效配置文件
[root@baism dhcp]# systemctl restart dhcpd

c、驗(yàn)證
#釋放兩網(wǎng)卡IP
[root@bogon 桌面]# dhclient -r eth0
[root@bogon 桌面]# dhclient -r eth1

#釋放成功
[root@bogon 桌面]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:1A:F8:BD  
          inet6 addr: fe80::20c:29ff:fe1a:f8bd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1591 errors:0 dropped:0 overruns:0 frame:0
          TX packets:162 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:282324 (275.7 KiB)  TX bytes:30619 (29.9 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:1A:F8:C7  
          inet6 addr: fe80::20c:29ff:fe1a:f8c7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4719 errors:0 dropped:0 overruns:0 frame:0
          TX packets:216 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:559954 (546.8 KiB)  TX bytes:19582 (19.1 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:720 (720.0 b)  TX bytes:720 (720.0 b)

#分別獲取IP地址 
[root@bogon 桌面]# dhclient -d eth0
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0c:29:1a:f8:bd
Sending on   LPF/eth0/00:0c:29:1a:f8:bd
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6 (xid=0x2574199a)
DHCPOFFER from 192.168.11.16
DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x2574199a)
DHCPACK from 192.168.11.16 (xid=0x2574199a)
bound to 192.168.11.150 -- renewal in 3026 seconds.
^C
#確保都是來自我們實(shí)驗(yàn)中的DHCP服務(wù)器
[root@bogon 桌面]# dhclient -d eth1
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth1/00:0c:29:1a:f8:c7
Sending on   LPF/eth1/00:0c:29:1a:f8:c7
Sending on   Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7 (xid=0x2cebde11)
DHCPOFFER from 192.168.11.16
DHCPREQUEST on eth1 to 255.255.255.255 port 67 (xid=0x2cebde11)
DHCPACK from 192.168.11.16 (xid=0x2cebde11)
bound to 192.168.12.150 -- renewal in 3102 seconds.
^C
#確保都是來自我們實(shí)驗(yàn)中的DHCP服務(wù)器

#查看IP情況鲫趁,發(fā)現(xiàn)實(shí)驗(yàn)成功了斯嚎,分別獲得到了不同網(wǎng)段IP
[root@bogon 桌面]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:1A:F8:BD  
          inet addr:192.168.11.150  Bcast:192.168.11.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe1a:f8bd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1613 errors:0 dropped:0 overruns:0 frame:0
          TX packets:166 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:287076 (280.3 KiB)  TX bytes:31387 (30.6 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:1A:F8:C7  
          inet addr:192.168.12.150  Bcast:192.168.12.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe1a:f8c7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4741 errors:0 dropped:0 overruns:0 frame:0
          TX packets:220 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:564706 (551.4 KiB)  TX bytes:20350 (19.8 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:720 (720.0 b)  TX bytes:720 (720.0 b)

七、補(bǔ)充

7.1) 如果客戶端獲得不到 IP會(huì)怎么辦

當(dāng)客戶端獲得不到IP地址挨厚,會(huì)得到一個(gè)169.254開頭的臨時(shí)IP堡僻,此IP不能和其他網(wǎng)段通信,但是Client會(huì)繼續(xù)向網(wǎng)絡(luò)中發(fā)DHCP廣播疫剃,繼續(xù)堅(jiān)持不懈申請(qǐng)IP钉疫。

7.2)DHCP會(huì)面臨單機(jī)故障,如何解決

兩臺(tái)設(shè)備互相分發(fā)對(duì)方網(wǎng)段一段IP巢价,將作用域采用8/2原則牲阁,彼此互相冗余,當(dāng)一臺(tái)服務(wù)器出現(xiàn)問題壤躲,不至于整個(gè)網(wǎng)段故障城菊。

7.3)抓包驗(yàn)證方法

[root@baism dhcp]# tcpdump -nn -vvv -s 1500 -i ens33 host 192.168.11.16 and udp port 67 or udp port 68

7.4)如何發(fā)放計(jì)算機(jī)名稱

發(fā)放計(jì)算機(jī)名稱只能在保留中完成,要求Client的計(jì)算機(jī)名配置文件中將對(duì)應(yīng)字段刪除碉克。

option domain-name-servers 4.2.2.2, 4.2.2.1;

default-lease-time 28800;
max-lease-time 43200;
authoritative;
log-facility local7;

subnet 192.168.11.0 netmask 255.255.255.0 {
  range 192.168.11.153 192.168.11.252;
  option domain-name-servers 202.106.0.20, 114.114.114.114;
  option routers 192.168.11.254;
  option broadcast-address 192.168.11.255;
  default-lease-time 7200;
  max-lease-time 10800;
}

host print {
  #指定計(jì)算機(jī)名稱
  option host-name "test.ayitula.com";
  hardware ethernet 00:0c:29:af:f1:84;
  fixed-address 192.168.11.252;
}

注意:請(qǐng)把/etc/hostname 中的計(jì)算機(jī)名稱清除
      /etc/sysconfig/network中的hostname字段清除
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末凌唬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子漏麦,更是在濱河造成了極大的恐慌客税,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撕贞,死亡現(xiàn)場(chǎng)離奇詭異更耻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)麻掸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門酥夭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人脊奋,你說我怎么就攤上這事熬北。” “怎么了诚隙?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵讶隐,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我久又,道長(zhǎng)巫延,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任地消,我火速辦了婚禮炉峰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脉执。我一直安慰自己疼阔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布半夷。 她就那樣靜靜地躺著婆廊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪巫橄。 梳的紋絲不亂的頭發(fā)上淘邻,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音湘换,去河邊找鬼宾舅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛彩倚,可吹牛的內(nèi)容都是我干的筹我。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼署恍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼崎溃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盯质,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤袁串,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后呼巷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囱修,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年王悍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了破镰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鲜漩,靈堂內(nèi)的尸體忽然破棺而出源譬,到底是詐尸還是另有隱情,我是刑警寧澤孕似,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布踩娘,位于F島的核電站,受9級(jí)特大地震影響喉祭,放射性物質(zhì)發(fā)生泄漏养渴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一泛烙、第九天 我趴在偏房一處隱蔽的房頂上張望理卑。 院中可真熱鬧,春花似錦蔽氨、人聲如沸藐唠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽中捆。三九已至,卻和暖如春坊饶,著一層夾襖步出監(jiān)牢的瞬間泄伪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工匿级, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蟋滴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓痘绎,卻偏偏與公主長(zhǎng)得像津函,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子孤页,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容