如何使用命令行工具创建 Wi-Fi 热点并nmcli与无线接入点共享/桥接以太网互联网连接?此外,如何在启动时自动启动?
这可能nmcli吗?
众所周知,我们可以使用iw dev (1)创建虚拟无线接口。此外,我们可以使用ifconfig <ifname> hw ether <Address>. 然后我们可以使用网络管理器为这些接口中的每一个设置两个不同的接入点 (SSID)。例如:
(Real) wlan0: 00:16:b6:ab:cd:e7 -> AP(1)
(Virtual) wlan1: 00:16:b6:ab:cd:e8 -> AP(2)
Run Code Online (Sandbox Code Playgroud)
但是每当 wlan0 连接到 AP(1),而我尝试连接到 AP(2) 时,首先 wlan0 断开连接,然后 wlan1 连接到它自己的 AP。
我需要同时连接它们。是否可以?如何?
编辑:我的特定卡是 Lisco/Linksys RTL8191SEvB。我运行 Linux 4.4.38。
我在嵌入式设备上的 jessie 上,试图将 WLAN 设置为 AP 模式。当我尝试
# /usr/sbin/hostapd -P /run/hostapd.wlan0.pid /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
ACS: Automatic channel selection started, this may take a bit
wlan0: interface state UNINITIALIZED->ACS
wlan0: ACS-STARTED
ACS: Unable to collect survey data
ACS: All study options have failed
Interface initialization failed
wlan0: interface state ACS->DISABLED
wlan0: AP-DISABLED
ACS: Possibly channel configuration is invalid, please report this along with your config file.
ACS: Failed to start
wlan0: AP-DISABLED
hostapd_free_hapd_data: Interface wlan0 wasn't started
wlan0: interface state …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试在我的 raspberry pi 上设置一个接入点,但是一旦我安装了“dnsmasq”,互联网连接就会丢失(尝试 ping 任何服务器时,“未知主机”)。
是什么原因导致这种情况,我如何再次将其连接到互联网?
PS:我可以通过ssh访问它,所以本地网络仍在工作......
编辑:显然它只是 dns-server,因为它在 ping 数字 ip 而不是例如 google.com 时工作;我假设 dnsmasq/nscd 服务正在覆盖工作配置
(我花了几个小时试图找到一种解决方法,事实证明这比最初预期的要困难得多。)
不过,问题本身很容易理解。我最近在我的一台机器上安装了一个无 GUI 的 Debian 衍生产品并进行了配置/etc/wpa_supplicant/wpa_supplicant.conf为访问我的一个接入点,效果很好。
很快我就带着我的机器出门了,所以我添加了另一个网络(这次是我的热点模式的手机)到 wpa_supplicant.conf. 可悲的是,我注意到即使在失去与初始路由器的连接后它也不会自动连接到手机的 AP,然后是wpa_cli --reconfigure. 有趣的部分:取消注释中的第一个网络wpa_supplicant.conf使我手机的 AP 工作完美无缺。如果两个网络都保持未注释,则只有第一个有效。
我正在阅读整个手册 wpa_supplicant.conf但最接近我需要的是BSSID选项,它在这种情况下没有帮助。
所以我的问题是:如何更改网络控制器根据这些接入点的可用性来接入点?
更新:
我没有/usr/share/doc/wpa_supplicant/README.modes,但只有/usr/share/doc/wpa_supplicant/README.modes.gz因为符号链接太多而无法提取。
我的/etc/wpa_supplicant/wpa_supplicant.conf:
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="Klaus B. Schuldiger"
scan_ssid=1
psk="----"
}
#network={
#ssid="Xperia XZ_acd9"
#scan_ssid=1
#psk="----"
#}
Run Code Online (Sandbox Code Playgroud) 我尝试使用 hostapd 和 isc-dhcpd 设置 wifi 接入点,但 dhcp 服务器不起作用。conf 文件与我在本教程中找到的相同:[Hostapd : The Linux Way to create Virtual Wifi Access Point][1]
!!!我仍然有问题,我已经阅读了文档和手册页......!!!
这是我想使用“systemctl start isc-dhcp-server.service”或“service isc-dhcp-server start”命令启动它时收到的错误消息
Job for isc-dhcp-server.service failed because the control process exited with error code.
See "systemctl status isc-dhcp-server.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)
这是命令“systemctl status isc-dhcp-server.service”的输出:
root@l0calh0st:~# systemctl status isc-dhcp-server.service
? isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2018-01-09 18:23:07 CET; 3s ago
Docs: man:systemd-sysv-generator(8) …Run Code Online (Sandbox Code Playgroud) 我有一个带有 wifi 加密狗的 Raspberry Pi,该加密狗配置为接入点模式(wifi 热点)。
当用户连接时,我想将他们输入的任何 url 重定向到指定的 IP(设备设置/配置页面)。我正在寻找与您在机场连接到公共热点时发生的情况类似的行为,并且您必须输入电子邮件或接受“条款和条件”才能浏览其他页面。
这可以在 pi 的分布上完成吗?
我有一个wl12xxwifi 适配器,不幸的是它似乎不支持创建多个接入点。如果我运行iw list它输出这一行:
interface combinations are not supported
Run Code Online (Sandbox Code Playgroud)
如果我运行hostapd时设置了多个 SSID if 有时会运行,有时会给我too many files are open, 或device or resource busy. 无论如何,我只见过它制作一个 wifi 网络。
据我了解,BSSID 基本上是 wifi 卡的 MAC 地址,创建多个 AP 的标准方法hostapd是创建多个网络接口,每个接口都有自己的 BSSID(MAC 地址)和 SSID。就好像您有多个物理网卡一样。
我的硬件似乎不支持此模式,但实际上我只想要一个具有多个 SSID 的网络 (BSSID)。是否有可能做到这一点?是否hostapd支持它(它的文档很少)?wifi标准允许吗?
换句话说,而不是这样:
# First network on wlan0.ap1
interface=wlan0.ap1
ssid=my_first_ssid
# Second network. `bss=X` starts a new section, using the network interface X.
# I think that's how it works …Run Code Online (Sandbox Code Playgroud) 我在运行 Manjaro Linux(基于 Arch)的 Asus 笔记本中有这个网络适配器,一切都是最新的(内核:3.10.11):
> lspci -k | grep -A 3 -i "network"
lspci: Unable to load libkmod resources: error -12
07:00.0 Ethernet controller: Qualcomm Atheros AR242x / AR542x Wireless Network Adapter (PCI-Express) (rev 01)
Subsystem: AzureWave AW-GE780 802.11bg Wireless Mini PCIe Card
Kernel driver in use: ath5k
Run Code Online (Sandbox Code Playgroud)
iwconfig 给出:
> iwconfig
wlp7s0 IEEE 802.11bg ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Run Code Online (Sandbox Code Playgroud)
我已经hostapd安装了 2.0。我的最低配置是:
interface=wlp7s0
driver=nl80211
hw_mode=g …Run Code Online (Sandbox Code Playgroud) 在Debian的文档中写道:
就像您可以桥接两个有线以太网接口一样,您也可以桥接以太网接口和无线接口。但是,大多数接入点 (AP) 会拒绝源地址未通过 AP 进行身份验证的帧。由于 Linux 透明地进行以太网桥接(不修改传出或传入帧),我们必须设置一些规则来使用名为 ebtables 的程序来完成此操作。
我想知道为什么连接到有线以太网接口的机器无法通过 AP 进行身份验证。在这种情况下,桥应该正常工作,不是吗?