如何使用udhcpc获取动态IP

本文是为了提供给百问网wiki使用而编辑的!同步发表到个人博客

udhcpc是一个动态分配IP的指令,使用这个指令我们可以为开发板动态的获得一个IP。

1. 正确的进行硬件连接

首先要明确一个概念,路由器和交换机,能动态分配IP的是路由器,而交换机是不能进行动态IP的分配的,所以如果想使用动态分配IP的功能,请确保开发板已经连接到一个路由器而不是交换机(或者开发板连接到交换机之后,交换机的某一个端口连接到了路由器的lan口)如果是使用单独的交换机的话 则需要设置固定的IP。

2 .使用串口登录到开发板

正确的连接串口线和开发板,确保能使用串口登录到开发板并且输入命令。

3.打开网卡

如果需要某个网口获得动态IP,则需要将这个网口使能(默认情况下网卡0已经使能,网卡1 为使能)

可以使用以下指令查看网卡的使能状态。

[root@ebf6ull:/etc]# ifconfig
eth0      Link encap:Ethernet  HWaddr B6:74:53:97:D3:32inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0inet6 addr: fe80::b474:53ff:fe97:d332/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:1380 errors:0 dropped:0 overruns:0 frame:0TX packets:468 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:296205 (289.2 KiB)  TX bytes:37792 (36.9 KiB)lo        Link encap:Local Loopbackinet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

如上图所示 显示的是只有一个网卡使能。如果需要使能网卡1

[root@ebf6ull:/etc]# ifconfig eth1 up
[23220.804681] Micrel KSZ8081 or KSZ8091 20b4000.ethernet-1:02: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=20b4000.ethernet-1:02, irq=-1)
[23220.819375] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[root@ebf6ull:/etc]# ifconfig
eth0      Link encap:Ethernet  HWaddr B6:74:53:97:D3:32inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0inet6 addr: fe80::b474:53ff:fe97:d332/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:1451 errors:0 dropped:0 overruns:0 frame:0TX packets:485 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:305108 (297.9 KiB)  TX bytes:38506 (37.6 KiB)eth1      Link encap:Ethernet  HWaddr C6:80:EA:BE:35:7FUP BROADCAST MULTICAST  MTU:1500  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)lo        Link encap:Local Loopbackinet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)[root@ebf6ull:/etc]#

此时两个网卡都已经使能,如果此时接上网线并且连接到路由器,指定网口的灯应该是黄色常亮的状态。

4.获取动态IP

[root@ebf6ull:/etc]# udhcpc
udhcpc: started, v1.29.3
udhcpc: sending discover
udhcpc: sending select for 192.168.1.101
udhcpc: lease of 192.168.1.101 obtained, lease time 7200
deleting routers
adding dns 202.96.134.33
adding dns 202.96.128.166
[root@ebf6ull:/etc]#

至此开发板已经获得了动态的IP地址。 此处不建议将获得动态IP的指令加入到开机启动项中,笔者曾加入过但是 因为没接网线,导致整个系统一直卡在获取动态IP的代码段!建议使用配置路由器的IP 段的方式将某一段IP 隔离(动态分配永远不会分配到这一段的IP,例如将动态分配的起始地址设置为192.168.1.10)

然后在开发板的启动脚本中加入设置固定IP 的代码段,去给开发板设置一个固定的IP。 此处不细说。

[root@ebf6ull:/etc]# ifconfig eth0 192.168.1.111
[root@ebf6ull:/etc]# ifconfig
eth0      Link encap:Ethernet  HWaddr B6:74:53:97:D3:32inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0inet6 addr: fe80::b474:53ff:fe97:d332/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:1574 errors:0 dropped:0 overruns:0 frame:0TX packets:519 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:314286 (306.9 KiB)  TX bytes:40534 (39.5 KiB)eth1      Link encap:Ethernet  HWaddr C6:80:EA:BE:35:7FUP BROADCAST MULTICAST  MTU:1500  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)lo        Link encap:Local Loopbackinet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

可以将下面代码段加入到/etc/init.d/rcS中去

ifconfig eth0 192.168.1.111

嵌入式linux 学习笔记--如何使用udhcpc获取动态IP相关推荐

  1. 嵌入式linux学习笔记--TCP通讯整理

    嵌入式linux学习笔记–TCP通讯整理 之前的项目中使用到了比较多的tcp 通讯相关的知识,一直也没有进行整理,今天准备拿出时间好好的整理一下TCP通讯的整个过程.预计会整理linux和window ...

  2. 迅为嵌入式Linux学习笔记5——进程间通信

    迅为嵌入式Linux学习笔记5--进程间通信 管道通信 无名管道 无名管道只能实现有亲缘关系的进程之间的通信,比如父子进程. pipe函数: #include <unistd.h> int ...

  3. 迅为嵌入式Linux学习笔记4——进程

    迅为嵌入式Linux学习笔记4--进程 进程指的是正在运行的程序,是操作系统分配资源的最小单位. 进程ID 每个进程都有唯一的标识符,这个标识符就是进程ID,简称pid 进程间通信的方法 管道通信:分 ...

  4. 嵌入式linux学习笔记--使用wget下载文件

    如何使用wget下载文件 CSDN 和百问网一起发 1.正确搭建开发环境 开发板直接接在路由器或者交换机下,确保这个交换机或者路由器能连接到需要下载的网络,本节会以下载百度的网页作为demo 所以需要 ...

  5. 嵌入式Linux学习笔记—fastboot烧写Android

    本系列为本人在自学过程中的学习笔记,如有错误欢迎大家指正. 学习资料为讯为ITOP4412开发板. fastboot烧写Android 1.主要工具 OTG 接口烧写方式也叫 fastboot 烧写方 ...

  6. 嵌入式linux学习笔记(一)

    最近开始学习linux驱动编写,目前直接使用jz2440已移植好的系统配合视频开始学习驱动编写,但是总是出现这样那样的问题.于是决定重头开始,先自己移植内核,在开始驱动学习. 今天参照<嵌入式l ...

  7. 嵌入式Linux学习笔记(1-1)——linux系统搭建

    版权声明:本文为博主原创文章,未经博主允许不得转载. 学习嵌入式linux已经有2年时间,虽然时间不长,但一路走来遇到很多问题,绕了很多弯路.写这篇文章的目的是分享我的经验,以供初学者参考,希望能够帮 ...

  8. 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...

    注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...

  9. linux内核编译选项ccl,嵌入式Linux学习笔记(一)

    注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...

  10. 嵌入式Linux学习笔记(1-4)——下载bootoader

    俗话说万事开头难(然后中间难结尾难),拿到一款开发板之后,由于缺少教程或者教程不够详细等多种原因导致菜鸟一脸茫然无从下手,信心受挫,此时若有一个大牛在手把手指导哪该多好,但是大牛总是很忙--所以关键还 ...

最新文章

  1. 数理统计-5.1 总体与样本
  2. 创建、部署和卸载SharePoint工作流解决方案包(WSP)
  3. Hadoop 2.4.1 设置问题小结【原创】
  4. 现在web前端的工资怎样?
  5. python爬虫案例——csdn数据采集
  6. 孙鑫VC学习笔记:第十三讲 (一) 用CArchive类读取与保存文件
  7. GridView 遍历每一行,两种写法
  8. HCIE-Security心得
  9. 刀具半径补偿 c语言,数控铣床编程时刀具半径补偿指令及运用
  10. 加权平均数的例子_什么是加权平均数(加权平均数公式例子)
  11. AES16位密钥加密解密
  12. PVE安装画面灰白只显示鼠标解决方案
  13. 百度信誉保障服务架构全解析
  14. 最新爱云发卡系统源码公益版
  15. 《关键对话——掌握关键对话》读书笔记(二)
  16. java 实现ps功能_java 简单图片,可以实现ps的几个小滤镜
  17. 一款汇总了郭霖,鸿洋,以及自己平时收集的自定义控件集合库
  18. Android 音视频深入 十 FFmpeg给视频加特效(附源码下载)
  19. linux-tomcat日志清理方案
  20. 浏览器手动设置Cookie

热门文章

  1. oppo preloader驱动_手机企业冲向IoT新赛道,HOMA格局下OPPO有何不同?
  2. 用matlab产生hdb3码,MATLAB仿真 HDB3码程序
  3. 未来10年,最值得投资的40个城市
  4. 数据智能、孪生城市——展望未来智慧城市产业发展
  5. 基于React的可编辑在线简历模板
  6. java poi 设置时间空间_POI对Excel自定义日期格式的读取(实例代码)
  7. NES模拟器[H_NES]
  8. A Byte Of Python中文版 PDF、Word文件下载
  9. centos系统上安装masscan
  10. Python爬取某境外网站漫画,心血来潮,爬之