如何从命令行启动 wi-fi 接口?

如何从命令行启动 wi-fi 接口?

我不知道如何在笔记本电脑上正确启动 Wi-Fi 卡。当我打开它并发出

$ sudo iwconfig wlan0 txpower auto
$ sudo iwlist wlan0 scan
wlan0     Interface doesn't support scanning : Network is down

它报告网络已关闭。尝试提出它也失败了:

$ sudo ifup wlan0
wlan0     no private ioctls.

Failed to bring up wlan0.

显然我缺少一些基本的低级iw...命令。

当我dhclient在界面上发出:

$ sudo dhclient -v wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

^C$

并中断它,它会以某种方式启动设备,然后扫描等工作。我想避免这个明显多余的步骤。

答案1

sudo ip link set wlan0 up或者sudo ifconfig wlan0 up


2017 年 4 月 13 日回复:

详细说明马丁的答案:

ifup命令ifdown是的一部分ifupdown 包,现在被认为是网络配置的传统前端,与较新的相比,例如network manager.

读取ifup ifupdown配置设置后/etc/network/interfaces;它运行pre-uppost-up来自post-down的脚本/etc/network,其中包括启动/etc/wpasupplicant/ifupdown.sh处理wpa-*wpa wifi 的其他配置选项/etc/network/interfaces (参见zcat /usr/share/doc/wpasupplicant/README.Debian.gz参考资料 文档)。对于WEPwireless-tools包起着类似的作用wpa-supplicant。也iwconfig来自wireless-tools

ifconfig同时是一个较低级别的工具,它被使用ifupdown并允许更大的灵活性。例如,wifi 适配器有 6 种工作模式,IIRCifupdown仅涵盖托管模式(+ 漫游模式,正式不是模式?)。与iwconfigifconfig可以启用例如监控模式您的无线卡,而ifupdown您将无法直接执行此操作。

ip命令是一个较新的工具,可以在网络链接套接字,一种从用户空间配置内核网络堆栈的新方法(类似的工具ifconfig构建在读写控制系统调用)。

答案2

尝试ifconfig wlan0 up代替ifup.

答案3

从 Ubuntu 18.04(以及相应的 Debian 版本)开始,ifconfig/ifupifdown被弃用,建议使用以下命令打开界面ip

ip link set dev <interface> up
ip link set dev <interface> down

您可以通过以下方式检查可用的接口:

ip link

您可以使用以下命令显示接口分配的 IP 地址:

ip addr show

或者更具体地说:

ip addr show scope global | grep inet

答案4

我在 Lubuntu 上后台运行的网络管理器遇到问题,所以我必须先将其关闭。

sudo su  # switch to root user
/etc/init.d/network-manager stop  # stop the network-manager 
iw dev # find name of wifi interface, I stick to wlan0
ip link set  wlan0 up # switch on wlan
# ip link show wlan0 # check result of previous step
iw wlan0 scan # find your wifi router
# iw wlan0 scan |grep SSID # find just names of wifis around you
iw dev wlan0 connect -w WifiWithoutPassword # do not forget -w wait parameter 
iw wlan0 link 
# ping 8.8.8.8 # this should work
dhclient wlan0 # add dhcp detection
# ip link show wlan0 # check connection
# ping unix.stackexchange.com # this should work 
# wpa_cli status # check it all 

密码页面需要wpa_passphrase和wpa_supplicant,但这是另一个问题。

这些页面对我有帮助: https://www.blackmoreops.com/2014/09/18/connect-to-wifi-network-from-command-line-in-linux/

https://wiki.archlinux.org/index.php/Network_configuration/无线

嗯,这是低级解决方案。当然可以通过 nmcli 命令在网络管理器中优雅地完成此操作,但我的 PC 中需要更多 RAM 空间,因此我努力尽可能地摆脱所有驻留守护进程。

相关内容