1. 程式人生 > >嵌入式linux通過DHCP自動獲取IP地址實現

嵌入式linux通過DHCP自動獲取IP地址實現

http://blog.chinaunix.net/uid-17188120-id-2820863.html

1.  在核心中新增以下選項:

Networking  --->

   [*] Networking support  

      Networking options  ---> 

          <* > Packet socket                 //新增.配置CONFIG_PACKET

          [ * ]     IP: DHCP support         //新增

          [ * ] Network packet filtering (replaces ipchains)  --->    //

新增,後面子選項可不選,配置CONFIG_NETFILTER

說明:若沒選<* > Packet socket, [ * ] Network packet filtering (replaces ipchains)  --->選項,在執行udhcpc命令時出現如下錯誤:

~ # udhcpc

udhcpc (v0.9.9-pre) started

udhcpc[208]: udhcpc (v0.9.9-pre) started

FATAL: couldn't listen on socket, Address family not supported by protocol

udhcpc[208]: FATAL: couldn't listen on socket, Address family not supported by protocol

2.  Busybox中新增以下選項:

Networking Utilities  --->

   udhcp Server/Client  --->

        [] udhcp Server (udhcpd)       //在此不作服務端,故不選。生成udhcpd命令

        [*] udhcp Client (udhcpc)       //生成udhcpc命令

        [ ] Lease display utility (dumpleases)                        

        [ ]   Log udhcp messages to syslog (instead of stdout)        

        [ ]   Compile udhcp with noisy debugging messages

busybox沒編譯相應選項,也可從網上下載相應檔案,用arm-linux交叉編譯得到udhcpd,udhcpc命令copyusr/sbin下就可以了。

我從 網上  下的udhcp_0.9.8cvs20050303.orig.tar.gz檔案

解壓後修改Makefile檔案

19行新增CROSS_COMPILE=arm-linux-  

註釋12行的COMBINED_BINARY=1,否則不生成udhcpc命令。

3.  建相關配置檔案

busyboxexamples/udhcp/copy  simple.script檔案到開發板/usr/share/udhcpc/下,並重命名為default.scriptudhcp_0.9.8cvs20050303.orig.tar.gz中也有這樣的檔案。

[[email protected] root]# vi usr/share/udhcpc/default.script

#!/bin/sh

# udhcpc script edited by Tim Riker <[email protected]>

[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1

RESOLV_CONF="/etc/resolv.conf"

[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"

[ -n "$subnet" ] && NETMASK="netmask $subnet"

case "$1" in

        deconfig)

                /sbin/ifconfig $interface 0.0.0.0

                ;;

        renew|bound)

                /sbin/ifconfig $interface $ip $BROADCAST $NETMASK

                if [ -n "$router" ] ; then

                        echo "deleting routers"

                        while route del default gw 0.0.0.0 dev $interface ; do

                                :

                        done

                        for i in $router ; do

                                route add default gw $i dev $interface

                        done

                fi

                echo -n > $RESOLV_CONF

                [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF

                for i in $dns ; do

                        echo adding dns $i

                        echo nameserver $i >> $RESOLV_CONF

                done

                ;;

esac

exit 0

4.  重啟開發板,執行udhcpc就可自動獲取IP地址了,以下是執行udhcpc的輸出資訊:

~ # udhcpc

udhcpc (v0.9.9-pre) started

udhcpc[228]: udhcpc (v0.9.9-pre) started

Sending discover...

udhcpc[228]: Sending discover...

Sending select for 192.168.1.109...

udhcpc[228]: Sending select for 192.168.1.109...

Lease of 192.168.1.109 obtained, lease time 86400

udhcpc[228]: Lease of 192.168.1.109 obtained, lease time 86400

deleting routers

route: SIOC[ADD|DEL]RT: No such process

adding dns 192.168.0.1

~ # ping www.baidu.com

PING www.a.shifen.com (220.181.38.4): 56 data bytes

64 bytes from 220.181.38.4: icmp_seq=0 ttl=52 time=1219.0 ms

[1] + Stopped                    ping www.baidu.com

5.  如果是雙網絡卡必須用引數指明

例:udhcpc  -i  eth1 


相關推薦

嵌入式linux通過DHCP自動獲取IP地址實現

http://blog.chinaunix.net/uid-17188120-id-2820863.html 1.  在核心中新增以下選項: Networking  --->    [*] Networking support         Networkin

ARM-Linux配置DHCP自動獲取IP地址

備註: 核心版本:2.6.30.9 busybox版本:1.15.2 PC Linux和開發板Linux的工作使用者:root 1. 配置核心: [*] Networking support  --->   Networking options  --->    <*> Pa

Linux 實現DHCP自動獲取IP地址

1.  在核心中新增以下選項: Networking  ---> Networking support          Networking options  --->              Packet socket                 /

DHCP自動獲取IP地址

DHCP在此實驗中,我打開了一臺linux還有一臺win7,用xshell去遠程連接linux,其中win7作為客戶機,linux作為服務器在linux中我打開了rh6-2,在win7中我打開了win7-1第一步:對win7設置在win7打開“控制面板”,選擇“網絡和Internet”,選擇“網絡和共享中心”

DHCP自動獲取IP地址服務

主機 感謝 RoCE TP proto ges 51cto size mark DHCP(Dynamic Host Configuration Protocol,動態主機配置協議) DHCP(Dynamic Host Configuration Protocol,動態主機配

【轉】Linux 如何通過命令僅獲取IP地址

網卡 errors alt oot lin style bytes b- eth0 一同事的朋友正在參加筆試,遇到這麽一個問題讓他幫忙解決,結果同事又找到我幫他搞定。真是感慨:通訊發達在某些方面來說,真不知是不是好事啊!題目大致如下所示,一般我們使用ifconfig查看網卡

linux如何自動獲取ip地址

動態ip 啟用 eve eth pad 開機 soft 靜態ip地址 inux 第一步:激活網卡   系統裝好後默認的網卡是eth0,用下面的命令將這塊網卡激活。  # ifconfig eth0 up   第二步:設置網卡進入系統時啟動   想要每次開機就可以自動獲取IP

不同VLAN通過配置DHCP自動獲取IP

net from 保存 .com 默認 int 技術 服務端 oss 實驗目的:不同VLAN通過配置DHCP自動獲取IP實驗拓撲: 實驗需求:四臺PC機,兩臺交換機,一臺三層交換機實驗思路:1、配置DHCP 客戶端:將PC配置為“自動獲取IP地址2、確保DHCP客戶端與服務

關於ARM開發板通過有線接入網際網路自動獲取IP地址問題

參考網頁,以備後用: 1. 配置核心: [*] Networking support  ---> Networking options  --->   <*> Packet socket   <*> Unix domain so

window7,xp通過cmd 設定ip地址自動獲取ip地址

提示:  如果你要使用的連線不叫“本地連線”,請改為要使用的連線名稱,如:“無線網路連線”;也請注意間隔,留空,不然執行時,會出錯。 一、手動設定.bat 1、Windows7、Vista netsh interface ip set address name="本地

基礎實驗1(單臂路由及利用路由器開啟DHCP自動分配IP地址

單臂路由 路由器dhcp服務應用 子接口封裝協議實驗環境:PT 6.2兩臺PC:PC1/PC2 一臺cisco 2960交換機 一臺2620路由器實驗目的:讓PC1/PC2屬於不同的VLAN,且相互通信。同時自動獲取各自網段IP地址。1、進入2960的配置模式,劃分不同的vlan並將PC1/PC2劃入不同的

GNS3上PC通過DHCP無法獲得IP地址的解決辦法

cisco、路由、交換問題描述:樓主在使用GNS3做DHCP實驗時,發現用路由器模擬PC,配置完DHCP服務器後部分vlan 下的PC總是獲取不了ip地址;DHCP的配置、vlan、trunk allow vlan、配置都是對的。反復檢查無果,以下是實驗拓撲: 最後我又仔細檢查了一邊,發現是3層交換下stat

DHCP方式獲取IP地址過程

終端以廣播的形式向網路內廣播DISCOVER發現報文,報文中攜帶相關的引數列表。 網路內的伺服器,從可用地址池中分配一個ip地址給客戶機,向這個地址廣播offer報文,報文中攜帶終端請求的引數。 終端從響應offer的伺服器中選擇一個,並在request報文中攜帶選擇的伺服器的ip和

CentOS 7.x網路配置,設定自動獲取IP地址

檢視網路配置資訊 使用以下命令檢視網格配置資訊: ip addr 為什麼不是ifconfig呢?因為它已經在新版的CentOS中被優化掉啦!如果有需要,可以用以下命令將其召喚回來,但前提是你得先能連上網啊,哈哈! yum install net-tools -y 示例

設定CentOS 7開機自動獲取IP地址

本例中以CentOS 7舉例說明如何設定Linux開機自動獲取IP地址和設定固定IP地址。具有一定的參考價值,感興趣的小夥伴們可以參考一下。 本例中以CentOS 7舉例說明如何設定Linux開機自動獲取IP地址和設定固定IP地址。 自動獲取動態IP地址 1.輸入“ip

CentOS 7 如何自動獲取IP地址

剛安裝完CentOS7,最小安裝是不開啟網絡卡的自動獲取IP的。如何操作自動獲取IP地址↓ 檢視當前網絡卡資訊使用nmcli命令,不需要再去安裝net-tools,使用ifconfig,當然也可以使用ip add show命令檢視ip地址,使用nmcli device show命令檢視

Kali橋接模式DHCP自動獲取IP失敗(VMware)

Kali橋接模式DHCP自動獲取IP失敗 筆者用的是VMware執行Kali Linux,突然發現橋接模式無法上網,只能使用NAT模式.身為有一點點強迫症的人來說,這就很不爽了.於是馬上切換為橋接模式,一點點排查 第一步:檢查DNS vim

arm linux開發板自動配置IP地址

配置核心: [*] Networking support ---> Networking options ---> <*> Packet socket <*> Unix

Centos 7開啟網絡卡開啟DHCP自動獲取IP關閉防火牆

Centos 7開啟網絡卡開啟DHCP自動獲取IP Centos7預設安裝是沒有開啟配置網絡卡資訊的, 也就是說啥都木有,無法訪問外網; 直接開啟網路功能自動獲取ip吧,等centos7自動獲取到IP後, 再通過終端登入程式編輯設定ce

如何通過IP獲取MAC地址?如何通過mac來獲取IP地址

text beef mark ext sha ces roc blog 取ip地址 MAC的地址也可以修改的哦!!!如何通過IP獲取MAC地址?如何通過mac來獲取IP地址?