我正在尝试在我的 Linux 笔记本电脑上创建 WiFi 热点或接入点。我正在使用 Opensuse Kde 12.3。
我发现了一个软件hostapd
,它可以让你创建热点,但它需要两个界面。一个连接到 Internet,另一个连接到您要在其上创建接入点的(教程在这里)。我的问题是我没有以太网连接。该wlan
接口用于连接到互联网。
有没有办法在连接到 Internet 的同一接口上创建热点(就像 Windows 上的软件 connectify)?我正在考虑创建一个虚拟接口(就像airmon-ng
创建用于监控 wifi 的接口一样)并将其用作第二个接口。这可能吗?
更新
这是我到目前为止能够做的事情:
1)创建2个接口(一个作为站,另一个作为接入点)
iw phy phy0 interface add mySta type station
iw phy phy0 interface add myAcc type __ap
Run Code Online (Sandbox Code Playgroud)
2) 给他们单独的 Mac ID
ifconfig myAcc hw ether A4:17:FE:6E:00:53
ifconfig myAcc 192.168.27.1 up
Run Code Online (Sandbox Code Playgroud)
3)在myAcc界面启动hostapd
4) 启动 dnsmasq 为连接设备提供 IP 地址
所有这些都有效。设备能够连接到该网络并获取 IP 地址。下一步是提供ip伪装
iptables --table nat --append POSTROUTING --out-interface mySta -j MASQUERADE
iptables --append FORWARD …
Run Code Online (Sandbox Code Playgroud) 我的电脑配备了两个网络接口,wlan0
& eth0
,我想使用 WiFi 端口作为wlan0
.
hostapd
设施,它在本地网络内的路由模式下正常工作;用户可以连接到接入点并且 DHCP 在两个网段中都正常工作。hostapd
没有任何防火墙或iptables
规则(iptables
并禁用防火墙),因为我只想使用 ADSL 路由器的内置防火墙。我的网络配置如下:
PC with hostapd -> cable connection -> ADSL router
wlan0 -> eth0 <-> 192.168.0.1 <-> internet
192.168.10.1 -> 192.168.0.7 -> static routing to 192.168.10.X
电脑ifconfig
:
eth0 Link encap:Ethernet HWaddr 00:12:3F:F2:31:65
inet addr:192.168.0.7 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::212:3fff:fef2:3165/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2169539 errors:0 dropped:0 overruns:0 frame:0
TX packets:1008097 errors:0 dropped:0 …
Run Code Online (Sandbox Code Playgroud) 我一直在尝试设置我的基于 ARM 的计算机,以便它同时成为热点和客户端。
但是,我发现的有关此类功能的所有信息都提到了该iw
命令,这似乎对我解决我遇到的问题至关重要。
它对我来说似乎不能正常工作。
当我输入时,iw wlan0 info
我收到错误消息command failed: No such device (-19)
。
为什么会这样?
我在 Debian Wheezy 上。
编辑:我有一个功能齐全的 WiFi 加密狗连接到 ARM 计算机。WiFi 加密狗是我网络的唯一连接。
Wifi 加密狗基于RTL8188CUS
.
重要的
我设法通过执行以下操作使其短暂工作:
添加contrib non-free
到 /etc/apt/sources.list 中的前两个源
运行apt-get update
运行apt-get upgrade
跑 apt-get install firmware-realtek
连接wifi加密狗
运行iw list
,它现在可以工作了。
有点题外话,但与为什么我需要 IW 工作有关,我会在解释后回到 IW
我拥有的 wifi 加密狗使用了一个RTL8188CUS
芯片,根据 RealTek 的发行说明,该芯片应该支持4.0.0_5967.2021201
.
通过混合模式我的意思是Station+Station
,Station+AP
,Station+P2P
。
注意:“Station”模式也称为“Managed”
几个月来,我一直试图弄清楚如何让这个芯片使用 …
我正在尝试创建一个运行 Ubuntu 20.04 的 5GHz 接入点。我的无线适配器是 Intel Corporation Cannon Point-LP CNVi。
旁注:2.4GHz 接入点全天工作,但我需要 5GHz。
我已经使用 iw list 验证了适配器支持 AP 以及 5GHz 频率:
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* P2P-client
* P2P-GO
* P2P-device
Run Code Online (Sandbox Code Playgroud)
--
Frequencies:
* 5180 MHz [36] (22.0 dBm)
* 5200 MHz [40] (22.0 dBm)
* 5220 MHz [44] (22.0 dBm)
* 5240 MHz [48] (22.0 dBm)
* 5260 MHz [52] (22.0 dBm) (no IR, radar detection)
* 5280 MHz …
Run Code Online (Sandbox Code Playgroud) linux wireless-networking wireless-access-point ubuntu hostapd
我已经能够使用 wlan0 上的 hostapd 使用 USB Wi-Fi 加密狗在我的 Raspberry Pi 上创建无线接入点。我希望能够做的是让接入点位于某个虚拟接口(即 wlan0:1)或 vlan(wlan0.123)上,并将 wlan0 连接到现有接入点。
这样我就可以通过它提供的接入点或通过它能够连接的网络连接到设备。
最终目标是:我可以使用它提供的接入点连接到设备。然后它会扫描它找到的无线接入点,询问我想连接到哪个接入点,然后尝试连接到它。然后它可以告诉我它能够在新连接上获得的 IP 地址,或者告诉我它连接失败(因为我仍然会通过它提供的接入点连接)。
如果有其他方法可以做到这一点(没有两个物理 Wi-Fi 适配器),我会全力以赴。
目前,我正在采取的步骤是让 AP 在 vlan 接口上工作。这不起作用…… AP 是可见的,但 DHCP 服务器似乎没有发布 IP 地址。
以下是 /etc/network/interfaces 的内容:
auto lo
auto wlan0 wlan0.10
auto eth0
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0.10 inet static
address 192.168.50.1
netmask 255.255.255.0
network 192.168.50.0
broadcast 192.168.50.255
gateway 192.168.50.1
vlan_raw_device wlan0
iface wlan0 inet manual
Run Code Online (Sandbox Code Playgroud)
以下是hostapd.conf的内容:
interface=wlan0
driver=rtl871xdrv
country_code=NZ
ctrl_interface=wlan0.10
ctrl_interface_group=0
ssid=RPiAP …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 enp1s0 (其他计算机应该能够通过此接口连接到网络)和 wlp0s20u1 (无线接入点)上设置 LAN 网络。还有一个othet接口,是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
Run Code Online (Sandbox Code Playgroud)
/路径/到/配置:
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;
}
Run Code Online (Sandbox Code Playgroud)
/路径/到/hostapd/config:
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
Run Code Online (Sandbox Code Playgroud)
我做错了什么?谢谢你的时间。我花了很多时间寻找解决方案,希望有人能够提供帮助:( …
我systemd
为Raspbian Jessie Litehostapd
上的应用程序创建了一个服务。源代码与此GitHub Gist类似,但 IP 地址范围在.192.168.50.x/24
一切正常,各种设备从 DHCP 服务器获取 IP 地址。但是,我不知道是否有所有 IP 地址的日志记录给客户端并写入其 MAC 地址dnsmasq
和/或hostapd
.
有没有办法解决DHCP服务器分发的IP地址?也许他们可能登录到我不知道的文件中。例如,在详细模式下,当客户端请求 IP 地址时,我确实倾向于看到消息,因此假设此信息可能已记录到文件中。
我已经通过这个优秀的教程设置了 Raspberry Pi Wi-Fi 热点和hostapd
路由:https://thepi.io/how-to-use-your-raspberry-pi-as-a-wireless-access-point/。虽然我跳过了第 8 步,但一切都运行良好,并且我每天都使用它,已经持续了 2 年。在我的情况下,wlan0(集成 Wi-Fi 芯片)被禁用,wlan1(外部 Wi-Fi)被启用。dnsmasq
iptables
最近,我注意到来自某些计算机的烦人的流量(NetBIOS 等),我想仅阻止此流量。然而,对我来说非常重要的是:我也希望客户能够相互沟通。很多尝试,不幸的是,我没有成功。
这是我尝试过的:
iptables
-> 看到恼人的数据包并表示已被阻止,但仍被 WLAN 上的任何计算机接收
iptables -t raw -I PREROUTING -p tcp --dport 137 -j DROP
iptables -t raw -I PREROUTING -p udp --dport 137 -j DROP
iptables -t raw -I PREROUTING -p tcp --dport 138 -j DROP
iptables -t raw -I PREROUTING -p udp --dport 138 -j DROP
iptables -t raw -I PREROUTING -p tcp --dport 139 …
当至少存在一个 WiFi 网络连接(来自客户端)时,我需要启动任意守护进程。并在与此 AP 没有更多连接时停止任意守护进程。如何有效地做到这一点?现在我考虑对 的结果进行轮询hostapd_cli all_sta
,但这似乎很奇怪。我确信一定有一些系统事件可以被挂钩。
我无法让任何设备(Win7、Win8 或 Android)连接到我可怜的人的无线接入点(树莓派 + rtl8192cu 芯片组 USB 适配器(Belkin N300 micro)+ hostapd + dnsmasq)。单击/点击“连接”后,我只是收到一条错误消息,指出无法连接。分配静态 IP 然后连接也不成功,因此它不是 IP/DHCP/dnsmasq 问题。sudo hostapd -dd /etc/hostapd/hostapd.conf
不提供任何线索;客户端尝试连接时没有错误消息。/etc/hostapd/hostapd.conf
非常简单,只有接口、ssid 和通道声明。我没有做任何桥接、NAT 或通过这个设置上网...我只需要它作为一个接入点,所以我在车里通过网络浏览器连接到它(我的 Android 不做广告- 不幸的是)。这是 hostapd 的输出(即'
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/hostapd.conf
drv->ifindex=3
l2_sock_recv==l2_sock_xmit=0x0x1f85648
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=0 dBm
Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=0 dBm
Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=0 dBm
Allowed channel: mode=1 chan=4 freq=2427 …
Run Code Online (Sandbox Code Playgroud) 我为我的树莓派买了一个 TL-WN725N v2 wifi usb 加密狗。
亚马逊读到它可以开箱即用,但事实并非如此。所以我跟着几个教程让驱动程序工作。
现在的问题是让它作为一个接入点工作。
这是我的hostapd.conf
文件:
interface=wlan0
ssid=Your_AP_SSI
channel=1
## WPA and WPA2 configuration
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
## WPA settings
wpa=2
wpa_passphrase=my_secret_pass
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
## Hardware configuration
#driver=rtl871xdrv
driver=nl80211
ieee80211n=1
hw_mode=g
Run Code Online (Sandbox Code Playgroud)
当我启动 hostapd hostapd.conf 时,它显示:
Configuration file: hostapd.conf
nl80211: Driver does not support authentication/association or connect commands
nl80211 driver initialization failed.
hostapd_free_hapd_data: Interface wlan0 wasn't started
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?
多谢 !
wireless-networking wireless-access-point arch-linux hostapd
我想从 hostapd 获取状态信息。我想知道连接了多少 wifi 设备,每个设备的 mac 地址、ip 和会话是什么。如果新用户连接,收到通知会很好。我怎么才能得到它?
hostapd ×12
linux ×7
dhcp ×2
iptables ×2
networking ×2
arch-linux ×1
bridge ×1
debian ×1
dhcp-server ×1
dnsmasq ×1
hotspot ×1
ifconfig ×1
nat ×1
raspberry-pi ×1
ubuntu ×1
virtual-wifi ×1
vlan ×1