我有一个配置良好的/etc/wpa_supplicant/wpa_supplicant.conf
我的所有 ESSID 和密码。我没有像 KDE 或 Gnome 这样的图形界面。要在可用网络之间切换,我需要执行四个命令。
我正在运行 Debian,并且想要一个类似于 Arch 的 Linux 的实用程序网络控制管理我的联系。 Debian 有哪些可用选项?
答案1
这两个选项是wicd-cli
(meuh 的评论中指出)和networkmanager
。使用哪一个取决于个人喜好。我使用它networkmanager
只是因为它有更好的手册(但这又是偏好问题)。
就像wpa_supplicant
将文件存储在/etc/wpa_supplicant/
每个接口一个,networkmanager
将文件存储在/etc/NetworkManager/system-connections/
每个 SSID 一个。的参数名称与 的参数名称networkmanager
没有太大区别wpa_supplicant
,例如 中的文件/etc/NetworkManager/system-connections/
可能如下所示:
[connection]
id=BluePenguin
uuid=799ce6af-b66c-4669-9319-8d9a029cb6ee
type=wifi
[wifi]
ssid=BluePenguin
[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=******
(这看起来类似于network={}
)wpa_supplicant
我的经验networkmanager
是在 Arch 上,而不是 Debian,因此我无法 100% 准确地判断 Debian 依赖链。但是,networkmanager
不需要 Xorg(或 GTK、或 KDE)。
此外,命令行工具networkmanager
:nmcli
在设计上与 非常相似iproute2
。本质上,正如您所做的那样:
ip addr help
要获取该addr
命令的帮助,您可以:
nmcli device wifi help
获取所有wifi
命令的帮助devices
。由于我ip
经常使用,我觉得nmcli
非常直观,但话又说回来,这是个人喜好的问题。
networkmanager
具有内置 DHCP 客户端,但可以配置为使用外部客户端。
至于减少命令数量,nmcli
将使用 on 命令执行断开一个 SSID(也关闭 DHCP)并连接到新的 SSID(并启动 DHCP)的工作(假设密码已保存):
nmcli device wifi connect <new SSID>
或者对于懒惰的打字者:
nmcli d w c <new SSID>
参考:
答案2
您可以通过以下方式从命令行管理网络:
1)wpa_cli
我假设它wpa_supplicant
已经在运行了。
类型:
nmcli
它会显示类似这样的提示:
wpa_cli v2.3
Copyright (c) 2004-2014, Jouni Malinen <[email protected]> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Selected interface 'wlan0'
Interactive mode
您可以使用以下命令扫描网络:
scan
和
scan_results
您将获得一些信息:bssid /频率/信号级别/标志/ssid
要连接,您需要创建一个网络:
add_network
这将输出一个数字,即网络 ID,例如:0
该命令add_network
将创建一个空网络,要配置它,您需要为网络设置SSID
和:PSK
set_network 0 ssid "your_Network_here"
set_network 0 psk "your_secret_passphrase_here"
启用并保存网络和设置:
enable network 0
save_config
连接后,运行dhclient
命令获取 IP。
使用q
或quit
退出交互模式。
2)使用wpa_supplicant
/etc/wpa_supplicant.conf
通过以下命令创建配置文件wpa_passphrase
:
wpa_passphrase Your_ssid Your_passphrase > /etc/wpa_supplicant.conf
连接运行:
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhclient wlan0