实现WiFi AP模式(二):hostapd和udhcpd的使用与配置
- 前言
- 1、hostapd的启动
- 1.1、启动指令
- 1.2、参数说明
- 2、udhcpd的启动
- 2.1、功能说明
- 2.2、配置文件
- 2.3、启动指令
- 2.4、参数说明
- 3、起AP示例
- 4、hostapd.conf配置示例
- 4.1、官方配置
- 4.2、b模式:2.4G 20MHz
- 4.3、g模式:2.4G 20MHz
- 4.4、a模式:5G 20MHz
- 4.5、n模式
- 2.4G 20MHz
- 2.4G 40MHz
- 5G 20MHz
- 5G 40MHz
- 4.6、ac模式
- 5G 20MHz
- 5G 40MHz
- 5G 80MHz
- 4.7、ax模式
- 2.4G 20MHz
- 2.4G 40MHz
- 5G 20MHz
- 5G 40MHz
- 5G 80MHz
- 4.8、ACS功能
前言
hostapd是一个用于实现无线局域网(WLAN)访问点(AP)功能的软件,它是一个开源的Linux守护进程。hostapd可以将支持无线网卡的计算机转变为一个功能强大的无线AP,允许其他设备连接并访问无线网络
udhcpd是一个轻量级的DHCP服务器软件,用于为局域网中的设备提供IP地址和其他网络配置信息
1、hostapd的启动
1.1、启动指令
hostapd /路径/hostapd.conf-B1.2、参数说明
-h显示帮助信息-d显示更多的debug信息(-dd 获取更多)-B将hostapd程序运行在后台-g全局控制接口路径,这个工hostapd_cli使用,一般为/var/run/hostapd-G控制接口组-PPID 文件-K调试信息中包含关键数据-t调试信息中包含时间戳-v显示hostapd的版本2、udhcpd的启动
2.1、功能说明
udhcpd是工作在server端的DHCP服务,udhcpc则是工作在client端的DHCP服务
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)。是一个局域网的网络协议,使用UDP协议工作。
2.2、配置文件
官方配置文件
配置示例
start192.168.50.2 end192.168.50.254 interface wlan0 max_leases234opt router192.168.50.1 注意:interface需要根据实际使用的网络接口设置2.3、启动指令
udhcpd-fS/路径/udhcpd.conf&2.4、参数说明
-h显示帮助信息-f以前台模式运行udhcpd,输出日志信息到标准输出-b<IP地址>:指定udhcpd绑定的IP地址-i<网络接口>:指定udhcpd监听的网络接口-p<端口号>:指定udhcpd监听的端口号-S启用DHCP服务器选项-O<选项代码>:<选项值>:添加自定义的DHCP选项-r<租约时间>:指定DHCP租约的时间,单位为秒-R<租约时间>:指定DHCP租约的时间,单位为分钟-s<脚本文件>:指定udhcpd启动和停止时执行的脚本文件-C<配置文件>:指定udhcpd的配置文件3、起AP示例
- 为网络接口分配IP地址,设置为网关地址
ifconfigwlan0192.168.50.1- 启动udhcpd程序
udhcpd-fS/路径/udhcpd.conf&- 起hostapd程序
hostapd /路径/hostapd.conf-B4、hostapd.conf配置示例
4.1、官方配置
官方配置文件:最正宗的配置,里面还有相关配置解释
4.2、b模式:2.4G 20MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=bchannel=11# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP4.3、g模式:2.4G 20MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=gchannel=11# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP4.4、a模式:5G 20MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=achannel=36# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP4.5、n模式
2.4G 20MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=gchannel=6# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20]# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP2.4G 40MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=gchannel=6# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP5G 20MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=achannel=52# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20]# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP5G 40MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=gchannel=52# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP4.6、ac模式
5G 20MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=achannel=52# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)ieee80211ac=1vht_oper_chwidth=1vht_oper_centr_freq_seg0_idx=58vht_capab=[SHORT-GI-20]# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP5G 40MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=achannel=52# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)ieee80211ac=1vht_oper_chwidth=1vht_oper_centr_freq_seg0_idx=58vht_capab=[SHORT-GI-20][SHORT-GI-40][VHT40+]# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP5G 80MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=achannel=52# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)ieee80211ac=1vht_oper_chwidth=1vht_oper_centr_freq_seg0_idx=58vht_capab=[SHORT-GI-20][SHORT-GI-40][VHT40+][SHORT-GI-80][MAX-A-MPDU-LEN-EXP7]# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP- 注意:配置80M带宽需要把
channel和vht_oper_centr_freq_seg0_idx配置好
如图,设置channel为52时,需要vht_oper_centr_freq_seg0_idx设置为58,就可以计算出80M带宽时的中心频率为多少
4.7、ax模式
2.4G 20MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=gchannel=6# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20]# HE(802.11ax)ieee80211ax=1# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP2.4G 40MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=gchannel=6# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# HE(802.11ax)ieee80211ax=1# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP5G 20MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=achannel=52# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20]# HE(802.11ax)ieee80211ax=1# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP5G 40MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=achannel=52# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# HE(802.11ax)ieee80211ax=1# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP5G 80MHz
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd # 基本网络设置ssid=TestAPhw_mode=achannel=52# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)ieee80211ac=1vht_oper_chwidth=1vht_oper_centr_freq_seg0_idx=58vht_capab=[SHORT-GI-20][SHORT-GI-40][VHT40+][SHORT-GI-80][MAX-A-MPDU-LEN-EXP7]# HE(802.11ax)ieee80211ax=1# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP4.8、ACS功能
# 接口和驱动程序设置interface=wlan0driver=nl80211ctrl_interface=/var/run/hostapd# 基本网络设置ssid=TestAP# 配置ACS:5G频段,可用的信道列表hw_mode=achannel=0country_code=CNchanlist=3640444852566064149153157161165# WPA身份验证设置wpa=2wpa_key_mgmt=WPA-PSKwpa_passphrase=12345678# HT(802.11n)ieee80211n=1ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)ieee80211ac=1vht_oper_chwidth=1vht_oper_centr_freq_seg0_idx=58vht_capab=[SHORT-GI-20][SHORT-GI-40][VHT40+][SHORT-GI-80][MAX-A-MPDU-LEN-EXP7]# HE(802.11ax)ieee80211ax=1# 加密算法设置wpa_pairwise=CCMPrsn_pairwise=CCMP