嵌入式裝置使用 busybox 開啟 udhcpd 功能
阿新 • • 發佈:2021-01-21
技術標籤:# 網路嵌入式Linuxudhcpdudhcpd.leases
一、編譯 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