我是靠谱客的博主 精明篮球,最近开发中收集的这篇文章主要介绍【Linux WiFi模块】RTL8821/8811CU WiFi模块STATION和AP模式的使用1.WiFi工作模式介绍2.工具介绍及使用3.功能实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 1.WiFi工作模式介绍
  • 2.工具介绍及使用
    • 2.1 hostapd
      • 2.1.1 hostapd_cli
    • 2.2 wpa_supplicant
      • 2.2.1 wpa_cli
  • 3.功能实现
    • 3.1 WIFI之STA部分
      • 3.1.1 服务启动
      • 3.1.2 配置文件
    • 3.2 WIFI之AP部分
      • 3.2.1 服务启动
      • 3.2.2 配置文件
      • 3.2.3 IP分配及DHCP服务
        • 3.2.3.1 DNSMASQ方式
        • 3.2.3.2 DHCPCD方式
    • 3.3 网络连通
      • 3.3.1 内网连通
      • 3.3.2 外网连通

1.WiFi工作模式介绍

前面转过对应的WiFi工作模式介绍,这里就直接引用了:wifi的几种工作模式

2.工具介绍及使用

本次介绍的工具有:

工具说明相关工具相关说明
hostapdhostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。hostapd的功能就是作为AP的认证服务器,负责控制管理stations(通常可以认为带无线网卡的PC)的接入和认证。hostapd_cliHostapd
wpa_supplicant安装 wpa_supplicant 软件包。此软件包提供了主程序 wpa_supplicant,密码工具 wpa_passphrase 和文字界面前端 wpa_cli.wpa_cliWpa supplicant (简体中文)
dnsmasqDnsmasq是一个开源的轻量级DNS转发和DHCP、TFTP服务器,使用C语言编写。Dnsmasq针对家庭局域网等小型局域网设计,资源占用低,易于配置。支持的平台包括Debian、Fedora、Smoothwall、IP-Cop、floppyfw、Firebox、LEAF、Freesco, fli4l、CoyoteLinux及Android等,并且在dd-wrt、openwrt路由器系统中也有使用。dnsmasq
dhcpcddhcpcd 是一个兼容 RFC2131的DHCP客户端程序,支持DHCP的全部功能并且体积非常小dhcpcd

关于工具的使用,这里暂时先看看关于station和ap两种工作模式主要角色hostapdwpa_supplicant ,工具涉及版本区别,因此可能存在异同,仅供参考!

2.1 hostapd

在这里插入图片描述
使用示例
在这里插入图片描述**note:**根据前面该工具手册参数可以看到,-B是运行守护进程在后台

2.1.1 hostapd_cli

在这里插入图片描述
通过前面的我们使用-B参数让hostapd处于后台运行,使用该工具查看相关信息。
在这里插入图片描述
这里可以看到连接到该AP的设备为0,则说明此时该AP没有设备接入。

2.2 wpa_supplicant

在这里插入图片描述
使用示例:
在这里插入图片描述
**note:**同样的,根据前面该工具手册参数可以看到,-B是运行守护进程在后台

2.2.1 wpa_cli

关于wpa_cli的使用,因为参数太多这里就不截图了,挑几个常用的来说说。
首先,通过前面的我们使用-B参数让wpa_supplicant 处于后台运行,使用该工具查看相关信息。
在这里插入图片描述
这里可以看到,当前WiFi没有连接上热点,处于扫描模式中。

3.功能实现

3.1 WIFI之STA部分

3.1.1 服务启动

wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B

3.1.2 配置文件

#/etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1

network={
        ssid="WifiTest"
        psk="test"
        key_mgmt=WPA-PSK
}

3.2 WIFI之AP部分

3.2.1 服务启动

hostapd /etc/hostapd.conf -B

3.2.2 配置文件

#/etc/hostapd.conf

#无线设备名称,基本都是wlan0,可用iwconfig命令查看
interface=p2p0

#使用的网桥名称,如果是用DHCP+NAT方式可忽略此行
#bridge=br0

#hostapd 0.6.8或者䮴高版本唯一选择
driver=nl80211

#终端看到的wifi名称,请自行修改
ssid=mywifi

#指明要选用的无线传输协议,这里表示使用802.11g
hw_mode=g

#802.11b/g都至多只有三条互不干扰的信道,即1,6,11,一般填这三个其中一个
channel=1

#验证身份的算法,1表示只支持wpa,2表示只支持wep,3表示两者都支持,wep已经被淘汰了,请不要使用。
auth_algs=1

#wpa加密方式,1代表支持wpa,2代表支持wap2,3代表两者都支持。
wpa=1

#wifi密码,请自行修改
wpa_passphrase=123456789

#对所有用户轮行同样的认证,不轮行单独的认证,如果需要,请设置为WPA-EAP。
wpa_key_mgmt=WPA-PSK

#控制支持加密数据的秘钥,CCMP比TKIP䮴强
wpa_pairwise=CCMP

3.2.3 IP分配及DHCP服务

3.2.3.1 DNSMASQ方式

ifconfig p2p0 192.168.2.1
#/etc/dnsmasq.conf
interface=p2p0
listen-address=192.168.2.1	#监听的网卡
#no-dhcp-interface=
dhcp-range=192.168.2.195,192.168.2.207,12h
server=114.114.114.114

3.2.3.2 DHCPCD方式

#/etc/dhcpcd.conf
subnet 192.168.2.0 netmask 255.255.255.0
{
 range 192.168.2.2 192.168.2.10;  #自动分配IP的范围
 option domain-name-servers 8.8.8.8; #这个DNS根据实际需要设置
 option routers 192.168.2.1;
}

3.3 网络连通

关于station模式的网络连通就不做叙述了,这里讲的是AP模式下的网络连通。

3.3.1 内网连通

当hostapd服务启动且给指定的AP网卡分配IP并且启动网卡且使用相应的DHCP服务(如dnsmasq、dhcpcd)后,内网即通(AP网卡和接入的设备处于同网段)

3.3.2 外网连通

外网链接还需要作端口转发,可以这里用设备自带的网卡作为对外的网络通路,如下:

#启用主机的路由转发
echo 1 >/proc/sys/net/ipv4/ip_forward
#使用iptables开启本地的SNAT,IP转发
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

参考:
Linux中can’t initialize iptables table `nat’: Table does
使用hostapd和dnsmasq实现软AP
ubuntu设置WPA2-PSK的wifi热点(AP)——hostapd+dhcpd
linux软AP--hostapd+dhcpd
用Hostapd创建可用的软AP

最后

以上就是精明篮球为你收集整理的【Linux WiFi模块】RTL8821/8811CU WiFi模块STATION和AP模式的使用1.WiFi工作模式介绍2.工具介绍及使用3.功能实现的全部内容,希望文章能够帮你解决【Linux WiFi模块】RTL8821/8811CU WiFi模块STATION和AP模式的使用1.WiFi工作模式介绍2.工具介绍及使用3.功能实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部