设置MAC地址
项目中需要设置以e0:aa:c8开头的MAC地址,shell脚本如下:
#get mac addr
MAC=`LANG=C ifconfig eth0 | awk '/HWaddr/{ print $5 }'`
#convert to lower case
MAC="$(echo $MAC | tr '[:upper:]' '[:lower:]')"
#path to save mac addr
pathname="/etc/init.d/mac.txt"
#get current saved mac addr
if [ ! -f "$pathname" ];
then
touch $pathname
echo $MAC > $pathname
else
read MAC < $pathname
fi
if [ "${MAC:0:8}" != "e0:aa:c8" ];
then
MAC="e0:aa:c8:"`echo $RANDOM | md5sum | sed 's/\(..\)/&:/g' | cut -c1-8`
echo $MAC > $pathname
fi
ifconfig eth0 192.168.1.12 netmask 255.255.255.0 hw ether $MAC
route add default gw 192.168.1.1
中心思想:从pathname中读取当前MAC地址,如果没有读到,就去获取当前MAC地址;当MAC地址不是以ea:00:c8开头的话就去随机获取一个这样的MAC地址,然后设置MAC地址。
利用DHCP设置动态IP
首先要配置内核,使其支持DHCP
[*] Networking support --->
Networking options --->
[*] IP: DHCP support
然后配置busybox
Networking Utilities --->
[*] udhcp client (udhcpc)
最后,只需要运行:
sudo udhcpc
注意:需要确保板子所在的局域网中存在dhcp服务器,假设需要使用一台ubuntu的主机做服务器,则按照如下步骤:
sudo apt-get install udhcpd
接着可以根据自己需要修改配置文件:
sudo vi /etc/udhcpd.conf
主要修改3个地方:start/end/option dns