AP WIFI 配置工具 --- hostapd、udhcpd
hostapd
简介
它允许将计算机或设备转换为独立的无线接入点,使用户可以连接到该接入点并与局域网中的其他设备进行通信。
hostapd的主要功能包括:
- 1.网络身份验证:hostapd支持各种网络身份验证方法,如预共享密钥(PSK)、扩展认证协议(EAP)等。这些方法可用于验证连接到无线接入点的客户端设备,并确保只有经过身份验证的设备可以访问网络。
- 2.加密和安全性:hostapd提供了多种加密选项,例如WPA(Wi-Fi Protected Access)和WPA2,用于保护无线网络通信的安全性。它还支持RADIUS服务器进行身份验证和账户管理,增强了网络的安全性。
- 3.频道选择和管理:hostapd允许管理员选择无线频道以避免干扰,并允许配置其他无线参数,如传输速率、功率控制等。这些功能有助于优化无线网络的性能和稳定性。
- 4.MAC地址过滤:hostapd支持MAC地址过滤,管理员可以设置允许或禁止特定设备连接到无线网络。这有助于增加网络的安全性,并允许管理员限制网络访问。
- 5.日志和监控:hostapd可以生成详细的日志记录,以便管理员可以监视无线网络的活动。这些日志可用于故障排除、性能优化和安全审计等目的。
启动指令
hostapd /路径/hostapd.conf -B
参数说明
-h 显示帮助信息 -d 显示更多的debug信息 (-dd 获取更多) -B 将hostapd程序运行在后台 -g 全局控制接口路径,这个供hostapd_cli使用,一般为/var/run/hostapd -G 控制接口组 -P PID 文件 -K 调试信息中包含关键数据 -t 调试信息中包含时间戳 -v 显示hostapd的版本
配置文件
配置文件参数官方地址:hostapd.conf
配置文件部分参数说明
ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40]
802.11n(HT)有两种频宽,20M和40M,如果既不设置 [HT40-],也不设置 [HT40+],表示只生效20M,否则生效20M和40M(40M是由两个相邻的20M组成,一个主,一个辅)。
# freq HT40- HT40+ # 2.4 GHz 5-13 1-7 (1-9 in Europe/Japan) # 5 GHz 40,48,56,64 36,44,52,60
[SHORT-GI-20] 表示20M场景下使用短的保护间隔,保护间隔用于应对多径时延的干扰
hostapd_cli 工具用于对 hostapd 参数的获取和控制,比如获取 AP的 ssid,连接 ap 的 sta 个数等
udhcpd
简介
udhcpd的主要功能包括:
- 1.IP地址分配:udhcpd负责从预定义的IP地址池中分配可用的IP地址给客户端设备。它可以根据配置的子网掩码和租约时间等参数生成并管理IP地址。
- 2.DHCP选项:udhcpd支持在DHCP响应中提供各种可选的DHCP选项,包括子网掩码、默认网关、DNS服务器、NTP服务器和其他自定义选项。这些选项可以通过udhcpd的配置文件进行设置。
- 3.租约管理:udhcpd跟踪每个分配给客户端的IP地址租约,并处理租约的续约、释放和过期。它确保客户端在租约到期之前更新租约或释放IP地址。
- 4.简单配置:udhcpd具有简单的配置,以便快速设置基本的DHCP服务器功能。配置文件包含了一些必要的参数,如IP地址池范围、子网掩码、租约时间等。
- 5.日志记录:udhcpd可以生成日志,记录与DHCP分配相关的事件和错误信息。这些日志对于故障排除和监视DHCP服务器的操作非常有用。
要使用udhcpd,你需要在Linux系统上安装包含udhcpd二进制文件的软件包(通常称为"busybox")。然后,可以通过编辑udhcpd的配置文件(通常是/etc/udhcpd.conf)来进行必要的设置,例如定义IP地址池、子网掩码、默认网关和DNS服务器等。
启动指令
udhcpd /app/test/udhcpd.conf &
参数说明
-h 显示帮助信息
-f 以前台模式运行udhcpd,输出日志信息到标准输出
-b <IP地址>:指定udhcpd绑定的IP地址
-i <网络接口>:指定udhcpd监听的网络接口
-p <端口号>:指定udhcpd监听的端口号
-S 启用DHCP服务器选项
-O <选项代码>:<选项值>:添加自定义的DHCP选项
-r <租约时间>:指定DHCP租约的时间,单位为秒
-R <租约时间>:指定DHCP租约的时间,单位为分钟
-s <脚本文件>:指定udhcpd启动和停止时执行的脚本文件
-C <配置文件>:指定udhcpd的配置文件
配置文件
官方配置文档: udhcpd.conf
start 192.168.50.2 end 192.168.50.254 interface wlan0 max_leases 234 opt router 192.168.50.1 注意:interface需要根据实际使用的网络接口设置
使用示例
为 wlan0 分配IP地址,默认为网关地址
ifconfig wlan0 192.168.175.1
启动 udhcpd 程序
udhcpd /app/test/udhcpd.conf &
启动 hostapd
hostapd /app/test/hostapd.conf -B
问题
问题
Unable to open /var/lib/misc/udhcpd.leases for reading
解决
# mkdir -p /var/lib/misc/
# touch /var/lib/misc/udhcpd.leases
问题
FATAL: couldn't create server socket, Address already in use
解决
关闭进程 /usr/sbin/dnsmasq
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)