实现WiFi AP模式(二):hostapd和udhcpd的使用与配置

前言

  hostapd是一个用于实现无线局域网(WLAN)访问点(AP)功能的软件,它是一个开源的Linux守护进程。hostapd可以将支持无线网卡的计算机转变为一个功能强大的无线AP,允许其他设备连接并访问无线网络
  udhcpd是一个轻量级的DHCP服务器软件,用于为局域网中的设备提供IP地址和其他网络配置信息

1、hostapd的启动

1.1、启动指令

hostapd /路径/hostapd.conf -B

1.2、参数说明

-h	显示帮助信息
-d  显示更多的debug信息 (-dd 获取更多)
-B  将hostapd程序运行在后台
-g  全局控制接口路径,这个工hostapd_cli使用,一般为/var/run/hostapd
-G  控制接口组
-P  PID 文件
-K  调试信息中包含关键数据
-t  调试信息中包含时间戳
-v  显示hostapd的版本

2、udhcpd的启动

2.1、功能说明

udhcpd是工作在server端的DHCP服务,udhcpc则是工作在client端的DHCP服务
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)。是一个局域网的网络协议,使用UDP协议工作。

2.2、配置文件

官方配置文件
配置示例

start 192.168.50.2
end 192.168.50.254
interface wlan0
max_leases 234
opt router 192.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示例

  1. 为网络接口分配IP地址,设置为网关地址
ifconfig wlan0 192.168.50.1
  1. 启动udhcpd程序
udhcpd -fS /路径/udhcpd.conf &
  1. 起hostapd程序
hostapd /路径/hostapd.conf -B

4、hostapd.conf配置示例

4.1、官方配置

官方配置文件:最正宗的配置,里面还有相关配置解释

4.2、b模式:2.4G 20MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=b
channel=11# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

4.3、g模式:2.4G 20MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=g
channel=11# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

4.4、a模式:5G 20MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=a
channel=36# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

4.5、n模式

2.4G 20MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=g
channel=6# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20]# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

2.4G 40MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=g
channel=6# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

5G 20MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=a
channel=52# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20]# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

5G 40MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=g
channel=52# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

4.6、ac模式

5G 20MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=a
channel=52# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)
ieee80211ac=1
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=58
vht_capab=[SHORT-GI-20]# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

5G 40MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=a
channel=52# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)
ieee80211ac=1
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=58
vht_capab=[SHORT-GI-20][SHORT-GI-40][VHT40+]# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

5G 80MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=a
channel=52# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)
ieee80211ac=1
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=58
vht_capab=[SHORT-GI-20][SHORT-GI-40][VHT40+][SHORT-GI-80][MAX-A-MPDU-LEN-EXP7]# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP
  • 注意:配置80M带宽需要把channelvht_oper_centr_freq_seg0_idx配置好
    如图,设置channel为52时,需要vht_oper_centr_freq_seg0_idx设置为58,就可以计算出80M带宽时的中心频率为多少

在这里插入图片描述

4.7、ax模式

2.4G 20MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=g
channel=6# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20]# HE(802.11ax)
ieee80211ax=1# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

2.4G 40MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=g
channel=6# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# HE(802.11ax)
ieee80211ax=1# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

5G 20MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=a
channel=52# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20]# HE(802.11ax)
ieee80211ax=1# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

5G 40MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=a
channel=52# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# HE(802.11ax)
ieee80211ax=1# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP

5G 80MHz

# 接口和驱动程序设置
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd

​# 基本网络设置
ssid=TestAP
hw_mode=a
channel=52# WPA身份验证设置
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678# HT(802.11n)
ieee80211n=1
ht_capab=[SHORT-GI-20][HT40+][SHORT-GI-40]# VHT(802.11ac)
ieee80211ac=1
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=58
vht_capab=[SHORT-GI-20][SHORT-GI-40][VHT40+][SHORT-GI-80][MAX-A-MPDU-LEN-EXP7]# HE(802.11ax)
ieee80211ax=1# 加密算法设置
wpa_pairwise=CCMP
rsn_pairwise=CCMP
  • 13
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vis-Lin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值