有没有办法创建没有密码的热点?
“热点命令” nmcli
:
wifi hotspot [ifname ifname] [con-name name] [ssid SSID]
[band {a | bg}] [channel channel] [password password]
不允许有空密码:它给出
Error: Invalid 'password': '' is not valid WPA PSK.
我猜有一种方法可以编辑用于nmcli
生成热点的配置文件,将其变成免密码热点。
如果nmcli
无法做到这一点,还有什么其他工具可以做到这一点?
谢谢
答案1
无法通过wifi hotspot
命令创建开放热点,因为nmcli
会为您生成密码(WPA或wep),该--show-secrets
选项将用于打印密码。
创建开放 wifi 热点的简单方法是使用create_ap
命令:
要安装它,请运行:
git clone https://github.com/oblique/create_ap
cd create_ap
make install
启动服务:
systemctl start create_ap
要创建开放接入点,请运行:
create_ap wlan0 eth0 MyAccessPoint
或者如果您通过 Wifi 连接:
create_ap wlan0 wlan0 MyAccessPoint
更新
create_ap
被维持在linux-wifi-hotspot
git repo 而不是原来的 repo:
sudo apt install -y libgtk-3-dev build-essential gcc g++ pkg-config make hostapd libqrencode-dev libpng-dev
git clone https://github.com/lakinduakash/linux-wifi-hotspot
cd linux-wifi-hotspot
make
sudo make install
sudo systemctl enable --now create_ap
wihotspot
在基于 Debian 的发行版上:
sudo add-apt-repository ppa:lakinduakash/lwh
sudo apt install linux-wifi-hotspot
答案2
nmcli device wifi hotspot
只是创建和激活热点配置文件的便利功能。确实,不支持开放热点。
但是,您可以通过其他方式创建合适的连接配置文件:例如nm-connection-editor
或nmcli connection add type wifi con-name "My Hotspot" autoconnect no wifi.mode ap wifi.ssid "My Hotspot" ipv4.method shared ipv6.method shared
。
当然,您也可以将现有配置文件从具有安全性修改为不具有安全性。例如,与nmcli connection modify "$PROFILE" remove wifi-sec remove 802-1x
答案3
是的,您可以使用 nmcli 和 NetworkManager 创建开放式 wifi 网络接入点,而无需实施安全协议。使用以下命令
nmcli connection add \
type wifi \
con-name "My Hotspot" \
autoconnect no \
wifi.mode ap \
wifi.ssid "My Hotspot" \
ipv4.method shared \
ipv6.method shared
请注意非- 创建连接时包含密码参数。建立连接时包含该参数会创建一个明显不同的连接配置文件,其中包括强制使用 WPA 或 WEP 的 802-11 无线安全部分。一旦形成配置文件,我不相信它可以更改,因此如果您想在安全和不安全之间切换,可能需要两个配置文件。
沿着同样的思路,人们正在尝试将 WiFi 桥接到以太网。据我所知,在创建 wifi 连接配置文件以包含桥接器后,您无法更改它,因为它不包含该部分,因此要创建开放的 wifi 桥接接入点,请包含“master”参数。
nmcli connection add \
type wifi \
master br0 \
con-name "My Hotspot" \
autoconnect no \
wifi.mode ap \
wifi.ssid "My Hotspot"
桥接 wifi 后,您可能会遇到 wpa_supplication 困难,并且可能需要在命令行、systemd 或参数文件上指定桥接接口。对于 CentOS8,它位于 /etc/sysconfig/wpa_supplicant
--INTERFACES=""
++INTERFACES="-i wlp2s0 -b br0"