设置MAC地址和动态IP

设置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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IP地址和MAC地址绑定是网络通信中的一个基本概念,它确保了设备在网络中能够通过唯一的标识进行通信。简单来说,IP地址就像是互联网上的门牌号,而MAC地址则是设备的硬件地址,类似于物理地址。 **IP地址:** IPv4(Internet Protocol version 4)是一个32位的地址,通常以点分十进制形式表示,如192.168.1.1。每个IP地址都是全球唯一的,用来区分互联网上的不同网络和主机。在许多场景下,IP地址是动态分配的,比如在家庭网络或公司网络中,路由器会自动为设备分配IP。 **MAC地址:** MAC(Media Access Control)地址,也叫物理地址,是一个48位的二进制串,通常用12个十六进制数字表示,如00:11:22:33:44:55。MAC地址是硬件固化的,对特定设备而言是独一无二的,即使更换网络位置,MAC地址也不会改变。 **IP地址和MAC地址绑定:** 在TCP/IP协议栈中,操作系统会将用户的IP地址和MAC地址进行绑定,这个过程通常发生在网络接口卡(NIC)上。这种绑定使得数据包在发送时可以直接根据MAC地址找到对应的设备,而无需每次都查询整个网络。对于局域网内的通信,这提高了效率。如果设备移动到另一个网络,可能需要更新其IP地址,但MAC地址仍然保持不变,因此在新的网络中,原有的IP-MAC绑定就不再有效。 **相关问题--:** 1. IP地址和MAC地址的区别是什么? 2. 为何在移动设备更换网络后需要重新配置IP地址? 3. 什么是动态和静态IP地址?它们如何影响IPMAC地址的绑定?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值