使用DHCP工具动态获得IP地址
实验版本及下载地址
DHCP:dhcp-4.4.1.tar.gz
链接: [https://www.isc.org/downloads/]
编译安装DHCP
配置编译选项
解压完成后进入DHCP根文件目录,输入配置指令
./configure --host=arm-linux ac_cv_file__dev_random=yes --with-randomdev=/dev/random
指定主机为arm-linux,启用随机模块,并指定模块路径。
修改bind目录下的配置选项
cd bind
vi Makefile
在bindconfig变量中新增两个配置项:–host=arm-linux 和 BUILD_CC=gcc
--disable-kqueue --disable-epoll --disable-devpoll --host=arm-linux BUILD_CC=gcc --with-randomdev=/dev/random --enable-full-report
安装编译
回到DHCP根目录
make
make DESTDIR=$PWD/tmp install
安装到当前目录下的tmp目录中,用ls命令可以看到生成的文件
复制文件到开发板
复制各个目录下的文件到开发板的对应文件夹下
cp bin/* /bin/
cp sbin/* /sbin/
cp etc/dhclient.conf.example /etc/dhclient.conf
cp etc/dhcpd.conf.example /etc/dhcpd.conf
因为dhclient在运行的时候会去执行一个命名为dhclient-script的脚本,dhcp-4.4.1项目文件中已经提供了各个平台下的运行脚本
把名称为Linux的脚本复制到 /etc/ 目录下并重命名为dhclient-script,然后修改一下脚本,我们在开发板上使用的脚本工具是sh
cp client/scripts/linux /etc/dhclient-script
减号表示原来的代码,加号表示修改后的代码
- #!/bin/bash
+ #!/bin/sh
最后创建一个文件夹用于DHCP调试信息存储
mkdir -p /var/db
测试DHCP工具
同上一节一样,我们先用wpa_supplicant工具连接上手机开好的热点,然后再用这节移植好的DHCP工具自动获取IP。
wpa_supplicant -B -c/etc/plaintext.conf -iwlan0
dhclient wlan0
在控制台上用ifconfig指令可以看到WIFI模块已经自动获取到IP地址,并且跟手机上显示的一致。
然后用ping指令可以正常上网。
ping www.baidu.com