開發板自動獲取IP和連線外網記錄

2021-06-13 07:07:38 字數 1691 閱讀 2368

第一步,獲取ip位址,可手動設定,也可以通過dhcp獲取;dhcp可以在uboot傳引數的時候加入,也可以在檔案系統掛載的時候執行udhcpc;

uboot傳參:setenv bootargs console=ttys0,115200n8 noinitrd rw ip=dhcp

在檔案系統中自動獲取ip位址後,會將dns伺服器位址寫入/etc/resolv.conf中(可在/usr/share/udhcpc/default.script中指定),以下是default.script的內容:

#!/bin/sh

# udhcpc script edited by tim riker

resolv_conf="/etc/resolv.conf"

[ -n "$1" ] ||

netmask=""

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

broadcast="broadcast +"

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

case "$1" in

deconfig)

echo "setting ip address 0.0.0.0 on $inte***ce"

ifconfig $inte***ce 0.0.0.0

;;renew|bound)

echo "setting ip address $ip on $inte***ce"

ifconfig $inte***ce $ip $netmask $broadcast

if [ -n "$router" ] ; then

echo "deleting routers"

while route del default gw 0.0.0.0 dev $inte***ce ; do

:done

metric=0

for i in $router ; do

echo "adding router $i"

route add default gw $i dev $inte***ce metric $((metric++))

done

fiecho "recreating $resolv_conf"

echo -n > $resolv_conf-$$

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

for i in $dns ; do

echo " adding dns server $i"

echo "nameserver $i" >> $resolv_conf-$$

done

mv $resolv_conf-$$ $resolv_conf

;;esac

第二步、連線外網,首先在pc上找乙個外網的ip位址,比方說www.baidu.com的ip,可以通過ping www.baidu.com獲取,然後在板子上ping這個位址,如果能ping通,是個好訊息,然後直接在板子上ping網域名稱:ping  www.baidu.com,如果不能ping通,可以嘗試以下方法:

檢視/etc/nsswitch.conf  ,確定

hosts:          files dns

如果以上方法不能解決問題,那就要根據個人情況不同來處理了,good luck!

關於開發板不能ping通外網IP

最近在做遠端監控的專案,打算用開發板給乙個 傳送資料報。不過發現開發板只能ping通同一區域網內的ip,外網的ip不能ping通。糾結了半天發現是閘道器沒有設定的原因。下面來說說如何解決這個問題。首先沒設定之前用route命令檢視是這樣的 閘道器gateway下面是空的,這個時候ping外網是pin...

arm開發板自動獲IP的方法

備註 核心版本 2.6.30.9 busybox版本 1.15.2 pc linux和開發板linux的工作使用者 root 1.配置核心 networking support networking options packet socket unix domain sockets tcp ip n...

Ubuntu12與開發板連線網路,IP位址設定

使用的是vmware9.0.2裡面裝載 ubuntu12.04的系統 問題 怎麼設定虛擬機器裡的ubuntu12的ip,以及vmare使其與arm9開發板互聯?1 先檢查虛擬機器裡的橋接方式是否開啟,橋接方式就可以自動獲取和宿主機一樣的ip網段,直接與主機互聯,設定 圖 一 二 圖一 圖二2,那麼怎...