當前位置:首頁 » 編程軟體 » linuxdhcp編譯

linuxdhcp編譯

發布時間: 2025-07-21 01:23:16

linuxDHCP協議實現過程

我特別喜歡Linux啟動的時候屏幕上一行一行的提示。它把系統正在乾的所有事情都告訴了我們,不像Windows,自檢完了就給個進度條,背後幹啥都不讓我們知道。

DHCP協議部分實現過程如下

①:DHCP 伺服器被動打開 UDP 埠 67,等待客戶端發來的報文。

②:DHCP 客戶從 UDP 埠 68發送 DHCP 發現報文。

③:凡收到 DHCP 發現報文的 DHCP 伺服器都發出 DHCP 提供報文,因此 DHCP 客戶可能收到多個 DHCP 提供報文。

④:DHCP 客戶從幾個 DHCP 伺服器中選擇其中的一個,並向所選擇的 DHCP 伺服器發送 DHCP 請求報文。

⑤:被選擇的 DHCP 伺服器發送確認報文DHCPACK,進入已綁定狀態,並可開始使用得到的臨時 IP 地址了。

書面上的文字怎麼說我們都會覺得有點晦澀,雖然這個解釋其實已經非常明了了。

不過前幾天啟動linux的時候,我注意到了這個小細節,linux啟動過程中把這個步驟一步一步在屏幕上輸出,我覺得能讓我們看的更直觀,就截了個圖,呵呵。

如下圖:

這個圖裡面,我上面說的從第2步到第5步都非常明了(第一步是服務端的,我們看不到),埠,MAC,狀態這些都清楚的標明了。

DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 //第2步,發送DHCP發現報文

DHCPOFFER from 192.68.116.254 //第3步,收到DHCP提供報文

DHCPREQUEST on eth0 to 255.255.255.255 port 67 //第4步,發送DHCP請求報文

DHCPACK from 192.168.116.254 //第5步,收到DHCP確認報文DHCPACK

bound to 192.168.116.128 -- renewal in 826 seconds //已綁定,826秒應該是0.5T,也就是IP租用期的一半,到時間就再次發送請求更新租用期

done.

Linux真是個好東西。

② 如何在Debian Linux上安裝配置ISC DHCP伺服器

工具/原料

一台Linux主機或虛擬機(這里CentOS 6.5為例)
編譯源碼或軟體源方式安裝dhcp軟體
方法/步驟

首先我們先了解下 DHCP,DHCP採用客戶端/伺服器的工作模式,由客戶端向伺服器發出獲取IP地址的請求,伺服器接收到請求後會把網路配置信息發送給客戶端,實現IP地址的動態分配。DHCP提供三種地址分配策略:
1:手工分配 在伺服器上指定為哪些主機分配固定的IP,也就是說這些主機永遠獲取的都是給它們設置好的IP。
2:自動分配 地址分配給客戶機後,這個地址就永遠給了客戶機。這樣客戶機不在線也不會回收IP,會造成浪費,不同於手工分配。
3:動態分配 也是用的最多的策略了,它將IP地址分配出去後會有個租約,等租約時間到了,就會回收IP,如果主機還在線,在租約時間快到時,會向DHCP伺服器發送續約請求,以便繼續使用。
以上手工分配適合於列印機、其他提供web服務、ftp服務的主機等,因為它們需要一個固定的IP地址。動態分配能有效解決IP地址不夠用的問題,租約到期後被回收的IP地址會重新給新請求的客戶端使用。
DHCP的安裝可以通過從軟體源直接安裝或自己編譯安裝。編譯安裝的話下載地址在:https://www.isc.org/downloads/
這里選擇編譯安裝DHCP,下圖為DHCP源碼包的官方下載頁面,我們選擇最新版dhcp-4.3.1.tar.gz

首先我們先解壓源碼包
# tar xf dhcp-4.3.1.tar.gz
指定安裝目錄和配置文件目錄
# cd dhcp-4.3.1
# ./configure --prefix=/usr/local/dhcp --sysconfdir=/etc
配置過程非常快,等配置完了可以echo $?確定下是否成功
接著就可以編譯安裝了,請耐心等待編譯完成
# make && make install
如果採用軟體源安裝的話直接 " yum install dhcp "即可,不過版本會比較舊

接著將配置文件復制過去,在安裝目錄的 server 目錄中
# cp server/dhcpd.conf.example /etc/dhcpd.conf
生產地址池文件,用於記錄已經分配出去的IP地址
# touch /var/db/dhcpd.leases
接著修改配置文件,在最後添加提供服務的網段
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
}
我這里為10.0.0.0網段提供服務,range定義了地址池,記得修改成適合你們的,然後就可以試著啟動服務了。
# /usr/local/dhcp/sbin/dhcpd
如果是以軟體源方式安裝的dhcp軟體,直接 service dhcpd start
我們可以用" killall dhcpd "來結束服務

服務啟動後可以用 " ps aux | grep dhcpd "查看下啟動的進程,DHCP服務監聽 udp 67 埠,客戶端以廣播的方式請求IP地址,整個區域網內,沒開啟DHCP服務的主機就忽視掉了請求,DHCP伺服器就會響應這個請求,如果同時有多個DHCP伺服器在工作肯定看哪個響應的快嘍!
接下來再啟動台主機試試效果把,我又啟動了一台XP,讓其自動獲取IP地址,看 是不是獲取了地址池中第一個IP "10.0.0.50"呢

接下來看下dhcpd的配置文件 " /etc/dhcpd.conf "
dhcpd.conf中由聲明、注釋、參數、選項四大類語句構成
注釋就是"#"開頭的注釋信息。聲明定義網路布局,剛才的subnet就屬於聲明。參數是定義dhcpd服務的各種網路參數,如租約的時間、主機名等。選項是以option作為開始,為客戶機指定主機名、廣播地址、子網掩碼等
聲明:
include "filename" 將指定的文件內容添加到配置文件中
shared-network 名稱 {
【參數】
【聲明】
} 指定共享相同網路的子網
subnet 網段 netmask 子網掩碼 {
【參數】
【聲明】
} 定義哪些IP分配給客戶,一般與range結合使用
range 起始地址 終止地址; 定義IP范圍,終止地址可以沒有
host 主機名 {
【參數】
【聲明】
} 定義保留地址
group {
【參數】
【聲明】
} 為一組參數提供聲明
參數:
ddns-hostname 名稱 指定使用的主機名,不設置默認當前主機名
ddns-domainname 名稱 指定域名
ddns-update-style 參數 指定DNS的更新模式 { ad-hoc | interim | none }
default-lease-time 時間 默認租約時間(單位秒)
max-lease-time 時間 最大租約時間
server-name 名稱 告訴客戶端伺服器的名稱
hardware 介面類型 硬體地址 指定客戶機硬體介面類型和mac地址
fixed-address IP地址 【,IP地址】 為客戶端提供一個或多個IP地址,該參數只能出現在host聲明中
選項: 前面需加option
broadcast-address 廣播地址 指定客戶端廣播地址
domain-name 域名 指定客戶端域名
domain-name-servers 地址 指定客戶端的DNS伺服器
host-name 主機名 指定客戶端主機名
ntp-server 地址 指定時間伺服器地址
routers 地址 指定默認網關IP
subnet-mask 子網掩碼 指定客戶端子網掩碼
比如我們為10.0.0.0網段提供服務,DNS伺服器為8.8.8.8,網關為10.0.0.254,子網掩碼為255.0.0.0,默認租約時間6小時.
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
option subnet-mask 255.0.0.0;
option routers 10.0.0.254;
option domain-name-servers 8.8.8.8;
default-lease-time 21600;
}
看看是不是網關和DNS也被自動獲取了呢。注意都要以分號結束哦

現在再試試為其配置指定的IP地址,我們先把要指定主機的網卡mac地址記下來,然後給他配置10.10.10.10這個IP
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
option subnet-mask 255.0.0.0;
option routers 10.0.0.254;
option domain-name-servers 8.8.8.8;
server-name mydhcp;
default-lease-time 21600;
host winXP {
hardware ethernet 00:0C:29:6E:4B:A1;
fixed-address 10.10.10.10;
}
}
這回使用了 ipconfig -all 顯示的更詳細了,這里連伺服器的地址也列出來了,也可以使用這個參數查看網卡的mac地址

11
演示用的是Windows主機,如果是Linux主機需要修改網卡的配置文件,設置"BOOTPROTO=dhcp",然後可以通過 dhclient eth0 來給eth0這塊網卡獲取IP地址。

③ 誰知道linux中如何配置DHCP

  1. 准備好PE維護U盤、映像總裁軟體(網路中可搜索下載)。首先使用安裝命令進行安裝DHCP伺服器包dhcp3-server,安裝完成後,編輯/etc/default/isc-dhcp-server使用INTERFACES選項定義DHCPD響應DHCP請求所使用的介面。

④ linux下如何啟動dhcp服務

在Linux系統中,要啟動DHCP服務,首先需要通過yum安裝DHCP服務軟體。安裝命令如下:

yum -y install dhcp

安裝完成後,可以通過運行以下命令啟動DHCP服務:

service dhcp start

啟動DHCP服務後,DHCP伺服器將開始為網路中的設備分配IP地址。它能夠自動檢測網路中的客戶端,並根據配置文件為它們分配合適的IP地址、子網掩碼、默認網關以及其他相關信息。DHCP服務的配置文件通常位於/etc/dhcp/dhcpd.conf,管理員可以編輯此文件以配置DHCP伺服器的行為和設置。

除了啟動DHCP服務,還可以設置它在系統啟動時自動運行。為此,可以使用以下命令:

chkconfig dhcp on

這樣,每當系統啟動時,DHCP服務都會自動啟動,確保網路中的設備能夠快速獲得IP地址,無需人工干預。

需要注意的是,啟動DHCP服務前,應確保網路介面已正確配置並處於活動狀態。可以使用ifconfig或ip命令檢查網路介面的狀態。如果網路介面未啟用,需要使用ifup或ip link set命令啟動它。

啟動DHCP服務後,可以通過檢查服務狀態來確認其是否運行正常。使用以下命令可以查看DHCP服務的狀態:

service dhcp status

如果服務運行正常,將顯示服務正在運行的信息。如果服務未運行,可以嘗試重啟服務或檢查配置文件以解決問題。

總之,通過安裝和啟動DHCP服務,可以為Linux網路環境中的設備提供自動化的IP地址分配,簡化網路配置和管理過程。

⑤ linux怎麼進入配置dhcp

轉載:

一、修改dhcp伺服器ip地址:

註:/var/lib/dhcpd/dhcpd.leases 中記錄著DHCP伺服器向DHCP客戶機提供租用的每個IP地址的信息。

熱點內容
兒童密碼日記本的通用密碼是什麼 發布:2025-07-21 06:28:31 瀏覽:232
移動默認pppoe密碼是什麼 發布:2025-07-21 06:28:28 瀏覽:709
工資表資料庫 發布:2025-07-21 06:22:54 瀏覽:693
c語言青蛙過河 發布:2025-07-21 06:22:47 瀏覽:785
安卓數據轉換器實體店在哪裡 發布:2025-07-21 06:12:53 瀏覽:571
網站後台上傳不了圖片 發布:2025-07-21 06:12:22 瀏覽:875
創建簡單的存儲過程 發布:2025-07-21 06:07:27 瀏覽:216
登錄小度賬號密碼是哪裡的密碼 發布:2025-07-21 06:00:58 瀏覽:44
天龍八部緩存 發布:2025-07-21 05:59:39 瀏覽:275
如何架設私有雲存儲 發布:2025-07-21 05:42:44 瀏覽:980