在hostapd配置文件中,有时我会看到指定 SSID 的密钥ssid
,有时我会看到密钥ssid2
。它们之间有什么区别?我找不到有关 的文档ssid2
。
目前使用默认配置“NetworkManager”的 Raspbian/bookworm 用于连接 WiFi 网络。如果您在 RaspberryPi 上使用至少一个额外的 WiFi 设备,您将拥有多个 wlan* 接口。在我的示例中,我使用带有板载 WiFi 的 RaspberryPi 3B,然后我插入了一个 USB-WiFi 适配器,因此我有两个接口:
- wlan0(RaspberryPi自己的WiFi接口)
- wlan1(附加的USB-WiFi适配器接口)
由于 WiFi 连接似乎不受 NetworkManager 接口限制,因此连接时不时地在 wlan0 接口和 wlan1 接口之间不受控制地切换(有时在重启之间也是如此)。
NetworkManager 在 /etc/NetworkManager/system-connections/preconfigured.nmconnection 中配置了以下内容
[connection]
id=preconfigured
uuid=8043d3ca-6cb6-4449-83c4-61539463af66
type=wifi
[wifi]
mode=infrastructure
ssid=myhomenetwork
hidden=false
[ipv4]
method=auto
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
[wifi-security]
key-mgmt=wpa-psk
psk=ec6f<snip>128e
RaspberryPi 的内置 WiFi 设备(=wlan0)对 myhomenetwork 的信号强度明显小于 USB-WiFi 适配器,因此我想使用 USB-WiFi 适配器(=wlan1)连接到 myhomenetwork。(我想使用内置 WiFi 设备连接到附近的另一个 WiFi AP)为此,我尝试在 wlan1 接口上绑定到 myhomenetwork 的连接。
根据NetworkManager 文档,interface-name
这应该通过在 下定义来完成[connection]
。文档对该属性的说明是:“此连接绑定到的网络接口的名称。如果未设置,则连接可以附加到任何适当类型的接口...”
所以我interface-name=wlan1
这样添加了:
[connection]
id=preconfigured
uuid=8043d3ca-6cb6-4449-83c4-61539463af66
type=wifi
interface-name=wlan1
但是即使我设置了接口名称,重新启动后“preconfigured.nmconnection”仍然使用wlan0。
我想知道为什么会出现这种情况以及如何强制该连接到接口 wlan1。
我最近拿了一台旧的东芝笔记本电脑并在上面安装了 Kali Linux。除了无线适配器之外,一切都运行良好。最初设置新操作系统时,尝试配置无线网络时多次失败,但我能够跳过这部分。在卡利,任何地方都没有无线适配器。我曾经lspci
检查无线适配器是否被识别,结果出现了一个:Broadcom BCM43142。我能够将笔记本电脑连接到以太网以连接到互联网,并尝试我在网上找到的一些故障排除。然而,其中许多方法适用于旧版本(大约 8 年前)。我运行的 Kali 版本是 2024.1。我假设我遇到的问题与该特定适配器缺少驱动程序有关,但是我不确定获取这些驱动程序并设置无线以让 Kali 使用适配器并访问 WiFi 的最佳方法。我很感激任何帮助!谢谢!
我的 MT7601U 网络适配器在 Linux 上遇到问题。尽管我已成功进入监视模式,但在捕获握手和发现网络中的设备时遇到了困难。奇怪的是,似乎只有 WPS 攻击才可靠。
以下是关键细节:
- 适配器:雷凌MT7601U
- 发行版: parrotOS 6.0 (lorikeet) 64 位内核 6.8.0-xxxxx
- 问题总结:
- 监控模式已启用。
- 无法捕获握手或检测网络中的设备,WPS 攻击除外,WPS 攻击与 wifi 攻击截然不同。
- 尝试解决:
iw
使用命令 ( )成功进入监控模式sudo iw dev <interface> set monitor control
。- 尝试了Aircrack-ng、Wireshark、tcpdump等各种工具进行数据包捕获,但没有成功捕获握手。
- 即使在确保监控模式处于活动状态后,网络中也不会发现任何设备,除非在 WPS 攻击期间。
- 观察结果:
- 检查系统日志(
dmesg
、/var/log/syslog
)但没有发现相关错误信息。 - 通过包管理器更新了驱动程序,并尝试从制造商的网站下载,但问题仍然存在。
- 检查系统日志(
我正在向社区寻求有关故障排除步骤或此问题的潜在解决方案的指导。如果熟悉 MT7601U 适配器或其他适配器的类似问题的用户提供任何建议或见解,我们将不胜感激。
谢谢您的帮助!
最好的问候,麦基。
我正在尝试设置一个带有外部 RADIUS 服务器的 AP,每个服务使用两个 Linux 主机,hostapd
并且freeradius
相应地。这些主机和 Wi-Fi 客户端主机是运行 Ubuntu 22.04.4 LTS (jammy) 的 Raspberry Pi 4 设备。
所有主机都通过以太网连接到公共 LAN (10.1.0.0/24):
- hostA - Wi-Fi AP(10.1.0.22 以太网、192.168.220.1 Wi-Fi)
- hostB - RADIUS 服务器(10.1.0.12 以太网)
- hostC - Wi-Fi 客户端(10.1.0.50 以太网、192.168.220.101 Wi-Fi)
我已经freeradius
在 hostB 上配置了服务器,并且能够通过以太网 LAN 从 Wi-Fi 客户端测试它:
hostC:~$ radtest -x testUser1 testPassword1 10.1.0.12 0 testSecret1
Sent Access-Request Id 155 from 0.0.0.0:35529 to 10.1.0.12:1812 length 79
User-Name = "testUser1"
User-Password = "testPassword1"
NAS-IP-Address = 10.1.0.50
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "testPassword1"
Received Access-Accept Id 155 from 10.1.0.12:1812 to 10.1.0.50:35529 length 20
然后我调出配置了以下内容的 Wi-Fi AP (hostA) hostapd.conf
:
logger_syslog=-1
logger_syslog_level=0
ctrl_interface=/var/run/hostapd/
interface=wlp1s0
driver=nl80211
country_code=CA
ieee80211n=1
hw_mode=g
channel=6
beacon_int=100
dtim_period=2
disassoc_low_ack=0
ssid=testAP
ieee80211w=0
auth_algs=1
wpa=0
ignore_broadcast_ssid=0
eap_server=0
own_ip_addr=10.1.0.22
auth_server_addr=10.1.0.12 #hostB
auth_server_port=1812
auth_server_shared_secret=testSecret1
该hostapd
服务是根据分支中可用的最新代码构建的,main
只需对文件进行以下修改defconfig
即可禁用集成 RADIUS 服务器:
# Integrated EAP server
CONFIG_EAP=n
我可以看到服务hostapd
正确启动,并相应地报告了 RADIUS 服务器配置:
hostA:/usr/src/hostap/hostapd$ sudo ./hostapd /etc/hostapd/hostapd.conf -i wlp1s0
wlp1s0: interface state UNINITIALIZED->COUNTRY_UPDATE
wlp1s0: RADIUS Authentication server 10.1.0.12:1812
wlp1s0: interface state COUNTRY_UPDATE->ENABLED
wlp1s0: AP-ENABLED
我可以成功将 Wi-Fi 客户端 (hostC) 连接到 Wi-Fi AP (hostA)。但是,当我现在尝试通过 Wi-Fi 网络 (192.168.220.0/24) 进行 RADIUS 测试,目标 Wi-Fi AP 来处理 RADIUS 请求时,出现错误:
hostC:~$ radtest -x testUser1 testPassword1 10.1.0.22 0 testSecret1
Sent Access-Request Id 235 from 0.0.0.0:59778 to 10.1.0.22:1812 length 79
User-Name = "testUser1"
User-Password = "testPassword1"
NAS-IP-Address = 10.1.0.50
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "testPassword1"
Sent Access-Request Id 235 from 0.0.0.0:59778 to 10.1.0.22:1812 length 79
User-Name = "testUser1"
User-Password = "testPassword1"
NAS-IP-Address = 10.1.0.50
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "testPassword1"
Sent Access-Request Id 235 from 0.0.0.0:59778 to 10.1.0.22:1812 length 79
User-Name = "testUser1"
User-Password = "testPassword1"
NAS-IP-Address = 10.1.0.50
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "testPassword1"
(0) No reply from server for ID 235 socket 3
我捕获了 Wi-Fi 接口上的流量hostA
,并看到它响应 ICMP 数据包,内容如下Destination unreachable (Port unreachable)
:
Frame 2: 155 bytes on wire (1240 bits), 155 bytes captured (1240 bits)
Encapsulation type: Ethernet (1)
Arrival Time: Apr 2, 2024 18:18:11.473305000 PDT
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1712107091.473305000 seconds
[Time delta from previous captured frame: 0.000101000 seconds]
[Time delta from previous displayed frame: 0.000101000 seconds]
[Time since reference or first frame: 0.000101000 seconds]
Frame Number: 2
Frame Length: 155 bytes (1240 bits)
Capture Length: 155 bytes (1240 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ip:icmp:ip:udp:radius]
[Coloring Rule Name: ICMP errors]
[Coloring Rule String: icmp.type eq 3 || icmp.type eq 4 || icmp.type eq 5 || icmp.type eq 11 || icmpv6.type eq 1 || icmpv6.type eq 2 || icmpv6.type eq 3 || icmpv6.type eq 4]
Ethernet II, Src: IntelCor_05:02:62 (80:45:dd:05:02:62), Dst: IntelCor_de:58:55 (3c:9c:0f:de:58:55)
Destination: IntelCor_de:58:55 (3c:9c:0f:de:58:55)
Address: IntelCor_de:58:55 (3c:9c:0f:de:58:55)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: IntelCor_05:02:62 (80:45:dd:05:02:62)
Address: IntelCor_05:02:62 (80:45:dd:05:02:62)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.220.1, Dst: 192.168.220.101
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0xc0 (DSCP: CS6, ECN: Not-ECT)
1100 00.. = Differentiated Services Codepoint: Class Selector 6 (48)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 141
Identification: 0xa48f (42127)
Flags: 0x00
0... .... = Reserved bit: Not set
.0.. .... = Don't fragment: Not set
..0. .... = More fragments: Not set
...0 0000 0000 0000 = Fragment Offset: 0
Time to Live: 64
Protocol: ICMP (1)
Header Checksum: 0x9b68 [validation disabled]
[Header checksum status: Unverified]
Source Address: 192.168.220.1
Destination Address: 192.168.220.101
Internet Control Message Protocol
Type: 3 (Destination unreachable)
Code: 3 (Port unreachable)
Checksum: 0x3724 [correct]
[Checksum Status: Good]
Unused: 00000000
Internet Protocol Version 4, Src: 192.168.220.101, Dst: 192.168.220.1
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 113
Identification: 0xc1e8 (49640)
Flags: 0x00
0... .... = Reserved bit: Not set
.0.. .... = Don't fragment: Not set
..0. .... = More fragments: Not set
...0 0000 0000 0000 = Fragment Offset: 0
Time to Live: 64
Protocol: UDP (17)
Header Checksum: 0x7edb [validation disabled]
[Header checksum status: Unverified]
Source Address: 192.168.220.101
Destination Address: 192.168.220.1
User Datagram Protocol, Src Port: 40929, Dst Port: 1812
Source Port: 40929
Destination Port: 1812
Length: 93
Checksum: 0xbfa6 [unverified]
[Checksum Status: Unverified]
[Stream index: 0]
UDP payload (85 bytes)
RADIUS Protocol
Code: Access-Request (1)
Packet identifier: 0x95 (149)
Length: 85
Authenticator: 2cc8f534dfcac17c947a03ced3daf62f
Attribute Value Pairs
AVP: t=User-Name(1) l=11 val=testUser1
Type: 1
Length: 11
User-Name: testUser1
AVP: t=User-Password(2) l=18 val=Encrypted
Type: 2
Length: 18
User-Password (encrypted): 986ed23c9a832e3a98a328697e8fab38
AVP: t=NAS-IP-Address(4) l=6 val=192.168.220.101
Type: 4
Length: 6
NAS-IP-Address: 192.168.220.101
AVP: t=NAS-Port(5) l=6 val=0
Type: 5
Length: 6
NAS-Port: 0
AVP: t=Message-Authenticator(80) l=18 val=b4669b2314a4738a956f683b59b645c4
Type: 80
Length: 18
Message-Authenticator: b4669b2314a4738a956f683b59b645c4
AVP: t=Framed-Protocol(7) l=6 val=PPP(1)
Type: 7
Length: 6
Framed-Protocol: PPP (1)
我在这里想念什么?
首先,我知道该选项的作用。根据 Arch Linux Wiki,它授予命令行“wpa_cli”实用程序重写wpa_supplicant.conf的权限:
警告:将 update_config 设置为 1 允许 wpa_supplicant 覆盖配置文件。覆盖时,wpa_supplicant将根据您的默认umask重置文件权限。如果您的系统是多用户系统,它可能会意外地使每个人都可以读取该文件,从而暴露您的密码。
但 Arch Linux wiki 是我能找到的最接近此功能的权威描述的。它不会出现在wpa_supplicant的任何手册页中,包括以下内容:wpa_cli(8)、wpa_supplicant(8) 和 wpa_supplicant.conf(5)。
该功能的官方文档在哪里?我担心的是,如果它确实是一个仅出现在源代码中的“未记录”功能,那么任何开发人员都可以在未来的版本中简单地编辑或禁用该功能。
TL;博士;
可能是我点击了VPN连接错误,导致网络断开。这就是为什么答案很简单。
像往常一样,我想通过网络管理器小程序使用 ipsec 连接到我的工作网络。以前它工作正常,但这次在我按“连接”后 - 网络完全停止工作。我的所有网络接口都是“非托管”的。我尝试重新启动我的笔记本电脑 - 没有帮助。
我只看到重新安装 NixOs 的解决方案(甚至不确定这是否有帮助)。
我试过:
- 手动“管理是”我的 wlp59s0 接口。
- 重新启动服务:NetworkManager、wpa-supplicant、strongswan。
- 将 unmanaged=no 添加到 10-globally-managed-devices.conf
我检查了journalctl,没有发现任何奇怪的东西。
系统信息:
- Linux 6.6.6
- 网络控制器:高通Atheros QCA6174。
- Os:NixOs 不稳定。
nmcli 设备:
wlp59s0 wifi unmanaged --
ip地址:
wlp59s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
...
我尝试了一下 - 没有帮助。
我会再重复一次,wifi和隧道工作正常好几天(在我使用openvpn之前,也OK),然后一键点击-没有任何效果。只能ping localhost
工作:( 这怎么可能?
我在 lan 192.168.0.0/24 上有一个 tftp 服务器,我想要一个 qemu 虚拟机到达它,使用以太网很简单
a) 首先创建br0
MAC1="52:54:$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/')";
nmcli con add ifname br0 type bridge con-name br0 bridge.mac-address $MAC1
b) 然后添加 eth0 作为从属,然后您可以使用 qemu 或 libvirt 添加 vnet* 或 tap* 接口
用wlan是不可能的
brctl addif br0 wlan1
can't add wlan1 to bridge br0: Operation not supported
nmcli 也因超时而失败
所以我有两个解决方案,使用 libvirt 创建一个“virbr”并使用 iptables 规则进行 natting,但是 virbr 必须具有不同的 lan 地址(192.168.1.0/24 或 10.2.1.0/24 或任何你想要的但不是wlan 使用的 ip 范围的地址,因为退出时出现错误)或使用网络管理器创建一个空的 br0,然后为其分配一个 ip 地址,并使用 iptables 路由到 wlan0
iptables -A FORWARD -i br0 -o wlan1 -j ACCEPT
iptables -A FORWARD -i wlan1 -o br0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
但是当我尝试从 192.168.0.0/24 lan 获取 dhcp 地址时,它失败了。有什么建议使用 192.168.0.0/24 ip 作为 wlan “网桥”?谢谢
编辑:用于“启用”wlan0 作为从机的 iw 命令失败
iw dev wlan1 set 4addr on
command failed: Operation not supported (-95)
我问这个问题是关于几个不同的Linux系统:
- 乌班图
- 树莓派
- 架构Linux
这些系统中的每一个都提供一个 GUI,其中包含 Wifi 服务器列表,您可以在其中选择要连接的服务器。我想知道,对于其中每一个,此选择都保留在哪里,以便您下次连接时可用。
我有一台 MacBook Pro 16,并决定在其上安装Pop!_OS
。
我的系统信息是:
OS: Pop!_OS 22.04 LTS x86_64
Host: MacBookPro16,2 1.0
Kernel: 6.2.6-76060206-generic
我的网络控制器是 Broadcom 无线网络适配器 ( Broadcom Inc. and subsidiaries BCM4364 802.11ac Wireless Network Adapter
)。我在 ArchWiki 上找到了一个有用的页面。
运行sudo lspci -vnn -d 14e4:
找出我需要哪些驱动程序会产生以下结果:
e5:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4364 802.11ac Wireless Network Adapter [14e4:4464] (rev 04)
Subsystem: Apple Inc. BCM4364 802.11ac Wireless Network Adapter [106b:07bf]
Flags: fast devsel, IRQ 255
Memory at 81400000 (64-bit, non-prefetchable) [disabled] [size=32K]
Memory at 81000000 (64-bit, non-prefetchable) [disabled] [size=4M]
Capabilities: [48] Power Management version 3
Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
Capabilities: [68] Vendor Specific Information: Len=44 <?>
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Device Serial Number 1d-b9-fb-ff-ff-ba-3c-22
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Capabilities: [1b0] Latency Tolerance Reporting
Capabilities: [220] Physical Resizable BAR
Capabilities: [240] L1 PM Substates
Kernel modules: brcmfmac, wl
引用 archwiki:
内核包含两个内置开源驱动程序:用于本机 FullMAC 的 brcmfmac 和用于基于 mac80211 的 SoftMAC 的 brcmsmac。它们应该在启动时自动加载。
所以它应该有效(?)但事实并非如此。
当查看列入黑名单的内核模块时,我发现brcmfmac
被列入黑名单。
pop-os:~$ cat /etc/modprobe.d/blacklist-bcm43.conf
# Warning: This file is autogenerated by bcmwl. All changes to this file will be lost.
blacklist b43
blacklist b43legacy
blacklist ssb
blacklist bcm43xx
blacklist brcm80211
blacklist brcmfmac
blacklist brcmsmac
blacklist bcma
我将其注释掉,保存并运行sudo update-initramfs -u
,但没有帮助。
因为网卡似乎接受wl
驱动程序,所以我检查了它是否已加载($ lsmod | grep wl
),并且似乎已加载。
wl 6488064 0
cfg80211 1241088 1 wl
然而 brcmfmac 没有加载($ lsmod | grep brcmfmac
什么也不产生)。
运行$ sudo modprobe brcmfmac
加载模块。
$ lsmod | grep brcmfmac
brcmfmac 503808 0
brcmutil 20480 1 brcmfmac
cfg80211 1241088 2 wl,brcmfmac
这当然很酷,但我的 wifi 仍然无法使用。
此时我不知道该怎么办。
这里有一些更详细的网络信息:
$ sudo lshw -c network
*-network UNCLAIMED
description: Network controller
product: BCM4364 802.11ac Wireless Network Adapter
vendor: Broadcom Inc. and subsidiaries
physical id: 0
bus info: pci@0000:e5:00.0
version: 04
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress cap_list
configuration: latency=0
resources: memory:81400000-81407fff memory:81000000-813fffff
*-network
description: Ethernet interface
physical id: 7
bus info: usb@2:1.4
logical name: enx00e04c680604
serial: 00:e0:4c:68:06:04
size: 1Gbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.12.13 duplex=full firmware=rtl8153a-4 v2 02/07/20 ip=192.168.0.129 link=yes multicast=yes port=MII speed=1Gbit/s
这就是设置中无法使用的 wifi 的样子: