一、编译 busybox

开启遍选项(.config 文件)
CONFIG_UDHCPD=y

二、编辑配置文件

start	192.168.101.200
end		192.168.101.254

interface ra0

三、下载、启动

/# udhcpd -f /root/udhcpd.conf &
/# udhcpd: bad line 3: 1 tokens found, 2 needed
udhcpd: started, v1.31.1
udhcpd: max_leases=235 is too big, setting to 155
udhcpd: can't open '': No such file or directory
 up and configured?: No such device

[1]+  Done(1)                    udhcpd -f /root/udhcpd.conf

报错了。。。找不到 leases 的配置文件

四、解决

CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
CONFIG_DHCPD_LEASES_FILE="/var/udhcpd.leases"

五、开机

/# touch /var/udhcpd.leases
/# ifconfig ra0 192.168.101.199
/# udhcpd -f udhcpd.conf &

六、测试

手机连接 WiFi,提示连接成功,获取到 IP 地址 192.168.101.200,网关 192.168.101.199
同时,网关显示:

udhcpd: sending OFFER to 192.168.101.200
udhcpd: sending ACK to 192.168.101.200

七、进阶

/# hexdump -C /var/udhcpd.leases 
00000000  00 00 00 00 38 6d a4 d2  00 0d 2f 00 c0 a8 65 c8  |....8m..../...e.|
00000010  00 08 22 16 d5 fb 4d 45  49 5a 55 2d 4d 58 35 00  |.."...MEIZU-MX5.|
00000020  00 00 00 00 00 00 00 00  00 00 00 00              |............|
0000002c

从 /var/udhcpd.leases 可以看到如下信息:
设备名称:MEIZU-MX5
设备MAC:00:08:22:16:D5:FB
设备获取的IP:192.168.101.200

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐