Hostapd - 桥接局域网 + 无线

Hostapd - 桥接局域网 + 无线

我正在尝试在 enp1s0(其他计算机应该能够通过此接口连接到网络)和 wlp0s20u1(无线接入点)上设置 LAN 网络。还有一个其他接口是 WAN 接口,暂时用于测试它是 wlp2s0。

两个接口都应该通过桥接器连接。当没有桥接器时,十个无线接入点工作正常,但是当我启用桥接器时,我无法再从手机连接到 WiFi 热点。

我期望的是一个网络,其中通过 WiFi 连接的手机能够访问通过电缆连接到 Linux 路由器的计算机,并且两者都可以使用 WAN 接口访问互联网。

我正在做:

brctl addbr br0
brctl addif br0 enp1s0
ifconfig br0 192.168.10.1
dhcpd -cf /path/to/config
hostapd /path/to/hostapd/config

/路径/到/配置:

authoritative;
subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.10 192.168.10.20;
    option broadcast-address 192.168.10.255;
    option routers 192.168.10.1;
    default-lease-time 600;
    max-lease-time 7200;
    option domain-name "local-network";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    }

/路径/到/hostapd/配置:

interface=wlp0s20u1
driver=nl80211
ssid=RaspAP
channel=5
bridge=br0
ignore_broadcast_ssid=0
beacon_int=100
ieee80211w=0
ieee80211n=1
hw_mode=g
wpa=2
auth_algs=1
wpa_passphrase=wpatest123
wpa_pairwise=CCMP TKIP
rsn_pairwise=CCMP
ieee80211h=0

我做错了什么?感谢您的时间。我花了很多时间寻找解决方案,希望有人能帮忙 :(

@edit 我发现 WPA2 在桥接模式下不起作用,当我将无线网络设置为打开时,我可以连接并且我可以通过手机访问互联网,并且 brctl show 显示两个接口都已连接。

Searching a PSK for a:x:y:z:b:c prev_psk=0x218c45c wlp0s20u1: STA a:x:y:z:b:c WPA: invalid MIC in msg 2/4 of 4- Way HandshakeSearching a PSK for a:x:y:z:b:c prev_psk=0x218c45c wlp0s20u1: STA a:x:y:z:b:c WPA: invalid MIC in msg 2/4 of 4- Way Handshake wlp0s20u1: AP-STA-POSSIBLE-PSK-MISMATCH a:x:y:z:b:c wlp0s20u1: AP-STA-POSSIBLE-PSK-MISMATCH a:x:y:z:b:c

该消息仅在调试模式下显示,通常我只看到“AP-STA-POSSIBLE-PSK-MISMATCH”,因此我打开调试模式并过滤了该消息附近的所有消息。

当我解决 WPA2 问题时,我会编辑此消息,并在此处发布解决方案。

哦,我也像第一个答案中那样设置了 NAT。

@edit WPA2 问题已解决。启用桥接后wpa_passphrase无法工作,必须使用 wpa_passphrase 命令生成 PSK 并将其放入wpa_psk配置值中,而不是wpa_passphrase

问题似乎已经解决,我只需要测试网桥(连接任何以太网设备并 ping 它们)

答案1

根据您的配置,您需要按照以下说明设置 NAT:https://wiki.archlinux.org/index.php/Internet_sharing。或者,您也可以添加wlp2s0br0

无线客户端(以及有线客户端)需要能够访问互联网。为此,必须有一条路由让数据包到达互联网。将 wlp2s0 添加到网桥即可实现这一点,但考虑到您似乎想要同时拥有有线和无线客户端,我认为您最好设置 NAT,以便适当处理数据包。

答案2

就像我在编辑的问题中提到的那样 - 问题解决了。有线连接的设备也可以访问互联网和无线设备,反之亦然。问题是wpa_passphrase我改成了wpa_psk

相关内容