如何从Ubuntu 16.04上的终端连接WiFi
现在是互联网连接的最受欢迎的方式,在办公室,家庭,餐馆等是最受欢迎的。
本教程旨在帮助那些希望从Ubuntu 16.04的终端连接WiFi的人。
无论我们是使用桌面版还是Ubuntu的服务器版本无关紧要。
唯一的要求是:
- 工作无线卡
- 互联网连接安装一些包
- 互动shell会话
我们可以从终端连接无线网络有两种常见方式。
这些都是:
- 使用iwconfig命令
- 使用WPasupplicant方法
方法1:使用iwconfig命令
我们可以通过以下步骤配置Ubuntu来连接到WiFi。
如果我们不知道WiFi设备的名称,请使用:
$ip link sho | grep w 2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
打开终端并键入ifconfig接口,然后按Enter键。
$sudo ifconfig wlan0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.16 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::557e:6563:6f86:f8b2 prefixlen 64 scopeid 0x20<link> ether e4:a7:a0:ef:27:d9 txqueuelen 1000 (Ethernet) RX packets 4025786 bytes 5253861542 (4.8 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2997242 bytes 563513781 (537.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
默认情况下,此命令将无线卡打开。
如果无线卡有不同的名称,则用正确的名称替换WLAN0。
既然该卡已打开,我们可以通过指定essid名称来连接到WiFi网络:
$iwconfig wlan0 essid <name> key <password>
将<name>替换为访问点的实际名称,以及无线网络的实际安全密钥的密码。
如果无线网络不需要安全密钥,请不要输入密钥密码。
只需使用:
$iwconfig wlan0 essid <name>
对于ASCII密码,请使用:
$iwconfig wlan0 essid <name> key s:<password>
现在确认我们已连接。
我们可以手动请求IPv4地址。
$dhclient wlan0
然后尝试检查IP并尝试在外面弯曲。
$ip addr $ping 8.8.8.8
方法2:使用wpasupplicant
WPA_Supplicant是一个支持WEP,WPA和WPA2的跨平台请求者(IEEE 802.11i/RSN(鲁棒安全网络))。
它适用于台式机,笔记本电脑和嵌入式系统。
对于此方法,我们首先需要安装WPASupplicant包,其中包括主程序WPA_Supplicant,密码工具WPA_PASPHRASE和文本前端WPA_CLI
$sudo apt-get install wpasupplicant
此程序包将提供WPA_Supplicant命令,我们将用于管理我们的无线网络。
配置文件是/etc/wpa_supplicant.conf。
# cat /etc/wpa_supplicant.conf network={ ssid="ssid_name" psk="password" }
我们可以从CLI生成基本配置:
# wpa_passphrase MYSSID passphrase > /etc/wpa_supplicant.conf
现在重新扫描可用设备:
# iwlist scan
确保我们可以看到我们打算连接的无线网络。
现在开始wpa_supplicant:
# wpa_supplicant -B -i interface -c /etc/wpa_supplicant.conf Successfully initialized wpa_supplicant ....
常用的参数是:
-b叉入背景。
-c文件名到配置文件的路径。
-i interface界面侦听。
-D驱动程序可选地指定要使用的驱动程序。
有关支持的驱动程序列表,请参阅WPA_Supplicant-H的输出。
NL80211是当前标准,但并非所有无线芯片的模块都支持它。
使用WPA_CLI.
此时运行:
# wpa_cli
这将呈现一个交互式提示(>),其具有标签完成和完成命令的描述。
在WPA_CLI工作时要注意的一些重要命令包括:
- 扫描可用接入点
> scan <3>CTRL-EVENT-SCAN-STARTED <3>CTRL-EVENT-SCAN-RESULTS ...
- 列出可用的访问点
> scan_results bssid/frequency/signal level/flags/ssid 11:22:33:44:55:66 2462 -33 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] MYSSID1 00:11:22:33:44:55 2412 -73 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] MYSSID2 ...
要与MySSID关联,请添加网络,设置凭据并启用它:
> add_network 0 > set_network 0 ssid "MYSSID1" > set_network 0 psk "passphrase" > enable_network 0 <2>CTRL-EVENT-CONNECTED - Connection to 11:22:33:44:55:66 completed (reauth) [id=0 id_str=]
对于没有身份验证的访问点,使用:
> set_network 0 key_mgmt NONE
最后,在配置文件中保存此网络:
> save_config OK
为了获得DHCP租约,首先释放我们仍然持有的租约(如root):
# dhclient -r
并要求新地址
# dhclient interface
我们现在应该通过从CLI连接的接入点进行工作互联网连接。
该方法适用于使用无线卡的Ubuntu分布或者服务器的最小安装。
这些方法易于脚本,努力,我们可以在重新启动时编写一个Cron作业,它连接到它。