应该用于在命令行中连接到 wifi 的所有命令

MAR*_*ien 7 command-line networking wifi dhcp

我想从 gnome 切换到 awesome,我想在命令行中连接我的 wifi 网络(而不是使用 gnome 工具)。

所以,我在互联网上搜索并找到了大致相同的方法:

ifconfig wlan0 up
iwconfig wlan0 essid "MyNetwork" key THEHEXAKEY
dhclient wlan0
Run Code Online (Sandbox Code Playgroud)

当我独自运行 awesome 并执行这些命令时,我会被困在第三个。看起来 DHCP 无法解析(命令继续无休止地运行)。

但是当我在 Xephyr 中运行 awesome 并执行相同的命令时,dhclient wlan0效果很好。

所以我想 Gnome 做了一些我不做但我找不到的事情。

有人可以帮助我吗?

roz*_*acz 5

我建议对所有连接和 AP 关联过程使用wpa_supplicant。虽然名称暗示与 WPA 一起使用,但它实际上是配置任何类型的无线连接的通用工具。

这是连接到无线网络的完整过程,使用wpa_supplicant(我假设wlan0是您的无线设备的名称):

  1. 启动设备:ifconfig wlan0 up

  2. 列出无线网络iwlist wlan0 scan | less并找到您要连接的网络。

  3. 使用wpa_supplicant关联和连接到网络。

    a) 创建一个配置文件wpa_supplicant,包含有关网络的加密信息。参见man wpa_supplicant.conf示例。首先尝试使用最简单的条目。

    b) 运行wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf(以 root 身份运行;假设/etc/wpa_supplicant.conf是配置文件的名称)。如果它有效,在后台运行它并将输出重定向到某个地方(我只是将它转储到/dev/null.)

  4. 使用dhclient wlan0 dhcpcd wlan0获取IP。

  5. 利润!


小智 3

看来您可能没有设置频道和“模式”。我使用一个简单的脚本来执行这些 shell 命令:

ifconfig wlan0 down
iwconfig wlan0 mode managed
ifconfig wlan0 up
iwconfig wlan0 channel 3
iwconfig wlan0 key xxxxxxxxxx
iwconfig wlan0 key restricted
iwconfig wlan0 essid "Blah Blah Foo Bar"
iwconfig wlan0 ap xx:yy:zz:aa:bb:cc
sleep 5
dhcpcd -d wlan0
Run Code Online (Sandbox Code Playgroud)

您必须输入密钥和接入点 MAC 地址。这是在 Slackware 13.1 下,我使用的是运行 DD-WRT 的 WRT54GL。令我羞愧的是,我使用的是 WEP 加密。我必须做一些实验,了解何时使用“ifconfig”、何时使用“iwconfig”以及以什么顺序设置 ESSID 和 AP。