原理:DHCP原理與配置

前言:

自動分發IP地址服務,linux服務器主要作用在局域網當中

若是在廣域網中,需要用到路由設備

一 : 瞭解DHCP服務

1.1 DHCP簡述

  • DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是由Internet工作任務小組設計開發的,專門用於爲TCP/IP網絡中的計算機自動分配TCP/IP參數的協議

原理:DHCP原理與配置

1.2 DHCP 的作用

1.2.1 使用DHCP的好處

  • 1.減少管理員的工作量
  • 2.避免IP地址衝突
  • 3.當網路更改IP地址段時,不需要再重新配置每個用戶的IP地址
  • 4.提高了IP地址的利用率
  • 5.方便客戶端的配置

1.2.2 DHCP的分配方式

  • 1.自動分配:分配到一個IP地址後永久使用
  • 2.手動分配:由DCP服務器管理員專門指定IP地址
  • 3.動態分配:使用完後釋放該IP,供其它客戶機使用

例:局域網當中的網絡打印機,便是設置自動分配,永久使用

1.2.3 windows中獲得釋放地址命令

windows中

​ 命令 ipconfig /release 釋放ip地址

​ 命令 ipconfig /renew 重新獲得地址

1.3 DHCP的租約過程

  • 客戶機從DHCP服務器獲得IP地址的過程稱爲DHCP的租約過程

1.3.1 租約過程分爲四個步驟

(1) 客戶端在網絡中搜索DHCP服務器

  • 客戶機請求IP地址 ,去尋找DHCP服務器,發送DHCP的discover:第一個搜索是廣播

(2)服務器向客戶端響應服務

  • 服務器響應,給客戶機發送DHCP的offer ————也是廣播,其中包含要給客戶機使用的ip地址資源池和相應的租約;因爲此時客戶端沒有IP,所以還是廣播

(3)客戶端向目標服務器發出服務請求

  • 客戶機選擇IP地址,向服務器發送DHCP的請求request:此時客戶機知道自己未來使用的IP地址,然後廣播請求確認此ip地址是否可用

(4)服務器向客戶端提供服務

  • 服務器確定租約,給客戶機發送DHCP的ACK;當客戶機收到ACK時,DHCP尋址過程結束,IP地址配置成功:————仍舊是廣播,DHCP服務器發送ack,向客戶機進行確認,

原理:DHCP原理與配置

<1> 客戶機請求IP地址

原理:DHCP原理與配置

<2> 服務器響應

原理:DHCP原理與配置

<3> 客戶機選擇IP地址

原理:DHCP原理與配置

<4> 服務器確定租約

原理:DHCP原理與配置

1.3.2 小結:四個過程都是廣播

dicover 廣播尋找提供DHCP的服務器

offer :源地址,目標地址255.255.255.255

​ 可用IP地址(確定在後面),相關的租約期限8天

request :請求確認,若是沒有被用,就會返回ack,若是被別的主機佔用,就會重新發送offer

ack:若是同一網段內有多臺DHCP服務器,誰先發送ack就用誰的IP資源池

dhcp協議:續約是在過半時就申請續約,續約的8天從此時重新計算

1.4 DHCP的重新獲取ip的過程——重新登錄時

原理:DHCP原理與配置

若是之前使用的ip沒有被佔用,服務器就會ack確認,若是被用,就會nack否認,此時主機會重新發送第一階段的廣播discover

1.5 更新租約

  • 當DHCP服務器向客戶機出租的IP地址租期達到50%時,就需要更新租約
  • 客戶機直接向提供租約的服務器發送DHCP Request包,要求更新現有的地址租約

更新租約時沒找到DHCP服務器時,繼續使用,租約期限內繼續使用,過期自動釋放掉,然後獲得新地址(在打開dhcp自動獲取時)169.254.0.0-168.254.255.255

二 : 使用DHCP動態配置主機地址

2.1 DHCP服務

  • 爲大量客戶機自動分配地址,提供集中管理
  • 對應的網絡地址、廣播地址
  • 默認網關地址
  • DNS服務地址

2.2 安裝DHCP服務器

  • Centos光盤中的dhcp-4.2.5-47.e17.centos.x86_64.rpm
  • dhcp軟件包的主要文件
    • 主配置文件:/etc/dhcpd.conf
    • 執行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
    • 執行參數配置:/etc/sysconfig/dhcpd
[root@dabendan Packages]# yum install dhcp* -y  '安裝'
[root@dabendan Packages]# cd /etc/dhcp/
[root@dabendan dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@dabendan dhcp]# vim dhcpd.conf    '進入配置文件'
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example '去查看案例文件'
#   see dhcpd.conf(5) man page
#
~                                
[root@dabendan dhcp]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y

核心:主配置文件—— /etc/dhcp/dhcpd.conf

​ 第一次配置時需要把/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example 模板覆蓋到/etc/dhcp/dhcpd.conf

執行參數配置是源碼文件,不用去動它

2.3 主配置文件的全局配置文件設置 /etc/dhcp/dhcpd.conf

option routers 網關

default time 默認租約期限

host ns 固定的ip地址,要增加mac地址

ddns-update-style interim;      '臨時更新'
subnet 10.5.5.0 netmask 255.255.255.224 {       
'subnet網段netmask子網掩碼,即網段聲明'
  range 10.5.5.26 10.5.5.30;            'range 區間,配置選項'
  option domain-name-servers ns1.internal.example.org;  '選擇dns服務器域名,或IP地址'
  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;      '最大租約期限'
}

host ns {               'ns 主機名'
  hardware ethernet 08:00:07:26:c0:a5;  '固定MAC地址'
  fixed-address 207.175.42.254;     '固定IP地址,主機生命'
}

原理:DHCP原理與配置

1.禁止動態更新

2.默認租約期限21600秒

3.最大租約期限 43200

4.指定域名 選項 域名 名字

5.指定分配的DNS地址 域名 名字 服務

Subnet 網段

原理:DHCP原理與配置

range(地址池) 起始地址 結束地址

​ 選擇子網掩碼

​ 選擇網關

子網段內可以設置dns ,優先級比全局設置高

[root@dabendan dhcp]# vim /etc/dhcp/dhcpd.conf 

# 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;
}

host主機聲明

  • hardware ethernet 參數:指定對應主機的mac地址
  • fixed-address 參數:指定爲該主機保留的IP地址
host passacaglia {
  hardware ethernet 0:0:c0:5d:bd:95;
  filename "vmunix.passacaglia";
  server-name "toccata.fugue.com";
}

haedware ethernet 要配置主機的MAC地址

fixed(固定)-address 固定ip地址

host passacaglia {      
  hardware ethernet 0:0:c0:5d:bd:95;        '要配置主機的MAC地址'
  filename "vmunix.passacaglia";
  server-name "toccata.fugue.com";
}

三 : 啓動DHCP 服務

查看/var/lib/dhcpd/dhcpd.leases文件

[root@dabendan dhcp]# vim /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.100.11 {  '分配的客戶端IP'
  starts 3 2019/11/20 09:05:53;     '租約的相關時間'
  ends 3 2019/11/20 09:13:35;
  tstp 3 2019/11/20 09:13:35;
  cltt 3 2019/11/20 09:05:53;
  binding state free;
  hardware ethernet 00:0c:29:d6:c0:8a;  '客戶端的mac地址'
}

3.1 配置DHCP使客戶端獲得IP地址

3.1.1兩種使用方式

  • 修改網卡配置文件(ifcfg-ens33)
    • BOOTPROTO=dhcp
[root@test01 dhcpd]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="0f432513-5d7a-455c-88b4-257a9a1dbb45"
DEVICE="ens33"
ONBOOT="yes"
  • 第二種使用dhclient命令

    dhclient [-d] [網絡接口名]

    [root@test01 dhcpd]# dhclient -d ens33
    Internet Systems Consortium DHCP Client 4.2.5
    Copyright 2004-2013 Internet Systems Consortium.
    All rights reserved.
    For info, please visit https://www.isc.org/software/dhcp/
    
    Listening on LPF/ens33/00:0c:29:d6:c0:8a
    Sending on   LPF/ens33/00:0c:29:d6:c0:8a
    Sending on   Socket/fallback
    'DHCPDISCOVER' on ens33 to 255.255.255.255 port 67 interval 7 (xid=0x75b88e50)    '單引號是我自己加的'
    'DHCPREQUEST' on ens33 to 255.255.255.255 port 67 (xid=0x75b88e50)
    'DHCPOFFER' from 192.168.100.100
    DHCPNAK from 192.168.139.254 (xid=0x75b88e50)
    'DHCPACK' from 192.168.100.100 (xid=0x75b88e50)
    bound to 192.168.100.11 -- renewal in 272 seconds.
    

查看日誌文件記錄

原理:DHCP原理與配置

四 : 實驗————DHCP中繼原理

原理:DHCP原理與配置

原理:DHCP原理與配置

五 : 配置文件總結

5.1 主配置文件:/etc/dhcp/dhcpd.conf

第一次需要把模板文件/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example覆蓋到/etc/dhcp/dhcpd.conf


主配置文件內的設置參數
#全局配置參數
option routers; #網關 
default-lease-time; #默認租約期限
option domain-name-servers DNS服務器域名或主機名;
max-lease-time 7200;
#最大租約期限
ddns-update-style interim;
#臨時更新

subnet 192.168.10.0 netmask 255.255.255.0 {
#網段                          子網掩碼  
   range 192.168.10.1 192.168.10.254;
#ip地址池區間  從                 到
  option domain-name-servers DNS服務器域名或主機名;
#DNS指定
  option domain-name "域名";
#指定域名
  option routers 192.168.10.1;
#指定網關
  option broadcast-address 192.168.10.255;
#指定網絡號
  default-lease-time 600;
#默認租約期限
  max-lease-time 7200;
#最大租約期限
}
host ns {
#ns 主機名 host 主機聲明,作用於單個主機
  hardware ethernet 00:00:00:00:00:00;
#指定mac地址
  fixed-address 192.168.10.88;
#聲明主機的固定ip地址
  option subnet-mask 192.168.10.1;
#指定子網掩碼
  server-name "域名";
#指定服務器名
}

5.3 /var/lib/dhcpd/dhcpd.leases 租約文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章