DHCP:解析開發(fā)板上動態(tài)獲取ip的2種實現(xiàn)方法詳解
DHCP
動態(tài)主機(jī)設(shè)置協(xié)議(Dynamic Host Configuration Protocol, DHCP)是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個用途:
1.給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址
2.給用戶給內(nèi)部網(wǎng)絡(luò)管理員作為對所有計算機(jī)作中央管理的手段。
方法一:dhclient
1.下載
https://www.isc.org/software/dhcp/
2.解壓
tar-zxvf dhcp-3.1.3.tar.gz
3.配置
cddhcp-3.1.3
./configure
成功之后生成work.linux-2.2文件夾.
4.編譯
make "CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/usr/bin/arm-hismall-linux-gcc-static"
可以在work.linux-2.2/client目錄,也可以在dhcp-3.1.3目錄下make,
5.拷貝
在work.linux-2.2\client編譯生成dhclient。
拷貝配置文件dhcp-3.1.3/client/dhclient.conf和/dhcp-3.1.3/client/scripts/linux 到開發(fā)板的/sbin/目錄下,并linux文件重命名為dhclient-script,并修改該文件的第一行#! /bin/bash 為#! /bin/sh,保存后,修改權(quán)限 chmod +x /sbin/dhclient-script
6.創(chuàng)建目錄
mkdir-p /var/state/dhcp
在/var目錄下創(chuàng)建state目錄,再在state目錄下創(chuàng)建dhcp目錄。
7.運行
dhclient ra0
結(jié)果:
InternetSystems Consortium DHCP Client V3.1.3
Copyright2004-2009 Internet Systems Consortium.
Allrights reserved.
Forinfo, please visit https://www.isc.org/software/dhcp/
Listeningon LPF/ra0/7c:dd:90:25:9f:a9
Sendingon LPF/ra0/7c:dd:90:25:9f:a9
Sendingon Socket/fallback
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 14
DHCPOFFERfrom 192.168.1.1
DHCPREQUESTon ra0 to 255.255.255.255 port 67
DHCPACKfrom 192.168.1.1
bound to 192.168.1.31 -- renewal in 282261 seconds.
方法二、udhcpc
udhcpc是一個面向嵌入式系統(tǒng)的非常小的DHCP客戶端,字母的縮寫微- DHCP -客戶端(μDHCPc)。
1.udhcpc -i eth0
udhcpc只是獲取一個IP,我們需要把\busybox-1.1.2\examples\udhcp下的腳本simple.script改名為default.script,放在開發(fā)板上的/usr/share/dhcpc/目錄下,才能將獲取的IP寫到指定的網(wǎng)卡中。
2.ifconfig
相關(guān)文章
clion最新激活碼+漢化的步驟詳解(親測可用激活到2089)
這篇文章主要介紹了clion最新版下載安裝+破解+漢化的步驟詳解,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
C++ 數(shù)據(jù)結(jié)構(gòu)之對稱矩陣及稀疏矩陣的壓縮存儲
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之對稱矩陣及稀疏矩陣的壓縮存儲的相關(guān)資料,這里實現(xiàn)稀疏矩陣和對稱矩陣的壓縮存儲的實例,需要的朋友可以參考下2017-08-08
C++命名空間using?namespace?std是什么意思
namespace中文意思是命名空間或者叫名字空間,傳統(tǒng)的C++只有一個全局的namespace,下面這篇文章主要給大家介紹了關(guān)于C++命名空間using?namespace?std是什么意思的相關(guān)資料,需要的朋友可以參考下2023-01-01

