Linux-服務器-DHCP配置

一、DHCP簡介和原理

  • DHCP(Dynamic Host Configuration Protocol)作用
    • 爲大量客戶機自動分配地址,提供集中管理
    • 減輕管理和維護成本,提高網絡配置效率
  • 可分配的地址信息如下
    • IP地址,子網掩碼
    • 對應的網絡地址,廣播地址
    • 默認網關地址
    • DNS服務器地址
    • 引導文件、TFTP服務器地址
  • DHCP服務器一般要求和客戶機在同一網段,纔可以分配地址,若不在同一網段,則要用到中繼
  • DHCP的原理
    1. 客戶端尋找服務器
      • 客戶端在局域網上廣播尋找DHCP服務器
      • Win7以前以及Linux若找不到DHCP服務器,則會每隔一段時間就廣播一次
      • Win7以後若找不到DHCP服務器,則會自動配置一個假IP(169.254.···)
      • 若在局域網內有多臺DHCP服務器,則客戶機會選擇響應最快的服務器
    2. 服務器提供地址信息
      • 服務器監聽到請求以後,回覆OFFER數據包給客戶端
      • OFFER數據包只有服務器的IP地址
    3. 客戶端接受並廣播
      • 客戶端收到服務器發送到OFFER數據包後,在局域網上廣播REQUEST數據包
    4. 服務器接受並確認
      • 服務器向客戶端發送ACK數據包(裏面有各種地址信息)
    5. 客戶端關機後重新登入或IP地址租約到期後重新申請
      • 在客戶端本地已經有DHCP服務器的地址,直接向服務器發送REQUEST請求
    6. 服務器確認
      • 若服務器確認IP地址未被其他人使用,則回覆ACK數據包
  • DHCP租約
    • DHCP服務器分配的IP地址是有時間限制的,假設爲n天
    • 在使用了IP地址時間爲n/2天時,客戶端會詢問服務器是否能增加IP使用時間
    • 服務器正常,則一般會延長客戶端使用IP的時間
    • 服務器出問題,則客戶端會在3n/4天時間再詢問一次,若還是沒有迴應,客戶端會在IP地址使用時間到期後,重新尋找DHCP服務器

二、相關文件

  • dchp端口號
    • IPv4:udp67、udp68
    • IPv6:udp546、udp547
  • 服務名:dhcpd
  • 主配置文件:/etc/dhcpd/dhcpd.conf
[root@192 dhcp-4.2.5]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
  • 模版文件:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example

    • 可以直接將模版文件複製到主配置文件,即可生效
    [root@192 /]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
    cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y
    

三、配置文件主要內容

  • option domain-name "example.org";:dhcp服務器的域名
  • option domain-name-servers ns1.example.org, ns2.example.org;:使用的DNS域名,如8.8.8.8
  • default-lease-time 600;:默認dhcp租約時間,單位爲s
  • max-lease-time 7200;:最大dhcp租約時間
  • #authoritative;:標識爲權威服務器,即局域網內有多臺dhcp服務器時,權威服務器優先去分配地址,以
    防止IP地址混亂(局域網內不要搭建實驗dhcp服務器)

四、配置服務器

(1)配置服務器端

  • 修改配置文件

    • 修改DNS域名:常用的有8.8.8.8,202.106.0.20
    • 配置子域:選擇一個subnet進行配置,其它可以刪除
    # A slightly different configuration for an internal subnet.
    subnet 192.168.1.0 netmask 255.255.255.0 {							  # 必須和dhcp服務器在同一網段
      range 192.168.1.50 192.168.1.100;											  # 設置分配的IP地址範圍
    #  option domain-name-servers ns1.internal.example.org;		# 已配置
    #  option domain-name "internal.example.org";
      option routers 192.168.1.1;															# 設置網關
      option broadcast-address 192.168.1.255;									# 設置廣播地址
      default-lease-time 600;
      max-lease-time 7200;
    }
    
    • host fantasia可刪除(實驗,只有一臺主機請求IP)
  • 重啓服務

service dhcpd restart

(2)配置客戶端

  • 修改配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0,改爲下面4句即可
TYPE=Ethernet			# 類型是否是以太網
BOOTPROTO=dhcp			 # 是否自動獲取IP(none、static、dhcp,dhcp爲自動獲取IP)
DEVICE=ens33			# 網卡設備名											
ONBOOT=no			# 是否隨網絡服務啓動,eth0生效(如果爲no,則IP不生效)
  • 重啓網絡服務
service network restart

(3)查看租約信息

  • 服務器端查看:/var/lib/dhcpd/dhcpd.leases
  • 客戶端查看:/var/lib/dhclient

參考教程:B站:兄弟連視頻

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