1. 程式人生 > 實用技巧 >DHCP原理及伺服器搭建詳解(固定IP地址,DHCP中繼服務)

DHCP原理及伺服器搭建詳解(固定IP地址,DHCP中繼服務)

DHCP原理及伺服器搭建詳解

一.引子:

DHCP在網路中的作用非常重要,簡單來說就像給每臺伺服器配身份證的機構,你有合格的身份才能做合格的事情,要不然連火車都坐不了。伺服器只有被DHCP服務配置了IP才能夠在公網中進行活動。

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作, 主要有兩個用途:給內部網路或網路服務供應商自動分配IP地址,給使用者或者內部網路管理員作為對所有計算機作中央管理的手段,在RFC 2131中有詳細的描述。DHCP有3個埠,其中UDP67和UDP68為正常的DHCP服務埠,分別作為DHCP Server和DHCP Client的服務埠;546號埠用於DHCPv6 Client,而不用於DHCPv4,是為DHCP failover服務,這是需要特別開啟的服務,DHCP failover是用來做"雙機熱備"的。

二.DHCP基本概念及工作原理

DHCP:Dynamic Host Configuration Protocol
IP地址:在網路中充當地址和身份

  1. DHCP概念
    (1) DHCP服務作用
    ① 為大量客戶機自動分配地址,提供集中管理
    ② 減輕管理和維護成本,提高網路配置效率
  2. DHCP可分配的資訊主要包括:
    (1) 網絡卡的IP地址,子網掩碼
    (2) 對應的網路地址,廣播地址
    (3) 預設閘道器地址
    (4) DNS伺服器地址
    (5) 引導檔案,TFTP
  3. DHCP工作原理(廣播域)
    (1).C 向當前廣播域中廣播 discover 包,0.0.0.0 255.255.255.255
    C端傳送廣播原理 網絡卡:rom非易失性儲存器(斷電儲存)如dhcp client,pxe客戶端
    (2).S 接受資料報文,並且回送 offer 包,offer 記錄了基本的 IP 資訊
    a 、通過 C MAC 將資料報文傳送至 C
    b、S 怎麼知道什麼 IP 是可用的?
    通過 ICMP 協議測試:ping命令
    (3).C 接受到 offer 報文,開始測試 IP 是否可用,如果接受到多個 offer 報文,只用第一個
    a.C 怎麼知道這個地址是否可用?
    基於 ARP 協議:
    (4).IP 地址可用性檢測
    a、如果 IP 可用,傳送 request 報文,目標地址 255.255.255.255
    通知c選擇的 s 準備下一階段的資料包
    通知c沒有選擇的 s ,我名花有主啦
    b、如果 IP 不可用,傳送 Discover 報文
    (5)、S 接受到 C request,準備 ACK 報文,ACK 包含詳細地址資訊 IP 、netmask、gateway、租約,ACK 報文傳送給 C 的方式 依然用的是 C MAC
    a. 租約續租50%
    b.75%dhcp伺服器沒有回覆資訊,更換dhcp伺服器
    (6).C 接受 ACK 報文,配置 IP 地址

在這裡插入圖片描述

三.DHCP配置檔案詳解及DHCP伺服器搭建(基礎搭建,固定IP,超級作用域,中繼服務)

  1. DHCP相關服務軟體包
    (1) RHEL6的DHCP軟體包
    ① dhcp-4.1.1-34.PL.e16.x86.rpm
  2. DHCP 配置檔案解析
    (1) DHCP的相關配置
    ① 埠號:ipv4 udp67 udp68
    ② 服務名:dhcpd dhcrelay
    ③ 主配置檔案:/etc/dhcp/dhcpd.conf
    ④ 模板檔案:/usr/share/doc/dhcp-4.1.1/dhcp.conf.sample
    ⑤ 中繼配置檔案:/etc/sysconfig/dhrelay
  3. 實驗搭建(基礎搭建,固定IP地址,超級作用域,DHCP中繼服務)
    實驗1:搭建簡單的DHCP伺服器
    1). yum -y install dhcp
    2). vim /etc/dhcp/dhcpd.conf
    3). cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
    4).cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
    5).vim /etc/dhcp/dhcpd.conf
    6).實驗1:subnet配置DHCP
    a. 配置檔案中subnet留下一個最複雜的(subnet過多沒有意義,只會使用第一個)
    b. subnet 當前網段(192.168.26.0) netmask 255.255.255.0
    i. 區域性宣告與全域性宣告,區域性宣告優先順序更高
    c. 分配範圍:192.168.26.11 192.268.26.11
    d. option domain-name-service 114.114.114.114, 8.8.8.8(逗號分割)
    i. DHCP 遇到問題:檢視日誌:vim /var/log/messages
    e. 閘道器:option routers 192.168.26.1
    f. 將區域性宣告的其他行全部刪除
    g. service dhcpd start
    h. chkconfig dhcpd on(永久關閉DHCP連線)
    i. 設定dhcp動態獲取
    j. vim /etc/sysconfig/network-scripts/ifcfg-eth0
    k. 關閉IP和子網掩碼,將工作方式改為dhcp
    l. 重啟網絡卡生效
    m. service dhcpd restart
    n. 檢視日誌:tailf /var/log/messages
    實驗2:固定IP地址DHCP伺服器搭建
    1.pc:印表機(網路)地址保留:12每次都可以獲得固定IP
    2.實驗:每次印表機都可以獲取到固定的IP
  • 1)獲取印表機的mac地址
  • 2) 11ping 192.168.66.12 & arp -n
  • 3) 11vim /etc/dhcp/dhcp.conf
  • 4) 11 host fantasiia
    a ping 192.168.26.12 複製mac實體地址(mac實體地址獲取)
    b. fixed-address 192.168.26.200(排除range地址)
    c. 多個地址保留:複製上述內容修改
    d. service dhcpd restart
    e. 22service network restart
    f. 22ifconfig
    實驗3:DHCP超級作用域
    (2) 分配兩個網段(超級作用域:解決同一個廣播域地址不夠用的問題)(subnet只識別第一個區域)
    ① share-network
    a. 兩個網段進行分配,將subnet刪掉(內容與subnet配置一致)
    b. 刪除subnet全部刪除
    c. 刪除loop區域,或者將loop區域註釋掉
    d. 將獲取過IP的恢復快照,並重啟網絡卡
    實驗4:DHCP中繼服務在這裡插入圖片描述
    1.DHCP 中繼服務原理:跨廣播域的地址分配(注意虛擬機器的虛擬網絡卡的連線和配置以及路由器和DHCP伺服器的配置)
    2.DHCP中繼服務實驗搭建
    試驗機:四臺c6
    代表服務:11:DHCP同廣播域測試機 12;DHCP 13:路由器 14:不同廣播域的測試機(網絡卡設定為DHCP)
    網絡卡配置:11,12,14vmnet1,13.14vmnet2
    1). 12DHCP伺服器:虛擬機器網路編輯器-網路介面卡-自定義特定虛擬網路-設定為vmnet1(網路不需要配置)
    問題:沒有兩個僅主機模式:虛擬機器網路編輯器-更改設定-新增網路-修改為僅主機模式-關掉DHCP伺服器
    2). 11測試機:網絡卡設定為vmnet1
    3).13兩張網絡卡(模擬路由器):第一張網絡卡設定為vmnet1,第二張網絡卡設定為vmnet2
    4.).14:測試機:網絡卡設定為vmnet2
    5).配置13(路由器)檔案
    (1) 配置兩塊網絡卡檔案(配置第二張網絡卡):vim /etc/sysconfig/network-scripts/ifcfg-eth1 IP設定20.20.20.12 NETMASK:255.255.255.0(重啟網絡卡)
    (2) 開啟路由轉發功能:vim /etc/sysctl.conf
    ① 將配置檔案中的:net.ipv4.ip_forward=0修改為=1
    ② 13重新整理路由轉發功能:sysctl -p
    ③ 12配置路由閘道器(指定閘道器:將DHCP伺服器閘道器指定向路由器):echo “GATEWAY=192.168.6.12”>>/etc/sysconfig/network-scripts/ifcfg-eth0
    ④ 12重啟網絡卡生效:service network restart
    ⑤ 12a檢視閘道器是否生效:route -n
    在這裡插入圖片描述
    6).12配置12DHCP中繼服務
    (1) 12yum -y install dhcp
    (2) 12cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
    (3) 12vim /etc/dhcp/dhcp.conf
    (4) 12只保留一個複雜subnet區域(此處有兩個廣播域)
    ① 配置地址池:192.168.26.0
    ② 第二個subnet再配置第二個廣播域的subnet區域20.20.20.0
    (5) 12開啟dhcp服務:service dhcpd start&chkconfig dhcpd on
    7). 13配置dhcp中繼服務
    ① yum -y install dhcp(第二個dhcp軟體包)
    ② vim /etc/sysconfig/dhcrelay
    INTERFACES=”eth0 eth1”
    DHCPSERVERS=”192.168.26.12”(指向DHCP伺服器)
    (8) 開啟中繼服務:service dhcrelay restart
    (9) 測試兩臺測試機是否能夠獲取IP (同(5))
    (10). 配置測試機的網絡卡為DHCP

DHCP是整個網路服務的基礎,在我們生產環境中網路都不暢通,更別說做什麼其他的事情了。筆者想通過此篇內容讓大家瞭解DHCP的原理(知道網路出錯在哪個環節)以及一些基本生產環境的實驗搭建。瀏覽不易,感謝三連。