Ubuntu 服务器 16.04 没有无线互联网连接

lom*_*boo 1 server wireless networking internet

我安装了一个全新的 Ubuntu 16.04 服务器,但无法使用 WIFI。我的/etc/network/interfaces文件看起来像这样:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet dhcp
wpa-ssid lomboboo
wpa-psk password
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个设置,因为它在这个答案中建议:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
address 192.168.1.150
netmask 255.255.255.0
gateway 192.168.1.1
wpa-ssid lomboboo
wpa-psk password
dns-nameservers 8.8.8.8 192.168.1.1
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用。

这也是来自ifconfig 的信息 在此处输入图片说明

PS不知道这是否重要 - Ubuntu 16.04 服务器在 Raspberry Pi 3 上运行。

编辑 sudo ifdown wlan0 && sudo ifup -v wlan0输出: 在此处输入图片说明

ping -c3 8.8.8.8 输出:

connect: Network is unreachable
Run Code Online (Sandbox Code Playgroud)

Too*_*ets 6

我怀疑您wpa-psk在 /etc/network/interfaces 中设置了无线网络的密码。那不管用。

假设我的路由器的 SSID 是MYROUTER,我将路由器上的 WPA/WPA2 密码设置为MySecretPassphrase. 乍一看,您会认为 /etc/network/interfaces 应该是这样的:

wpa-ssid MYROUTER
wpa-psk MySecretPassphrase
Run Code Online (Sandbox Code Playgroud)

错误的。几个月前我犯了这个错误,我花了一段时间才弄清楚为什么它不起作用。总之,wpa-psk应该为这个SSID设置256位的预共享密钥。不要设置wpa-psk密码。

你怎么看?通过使用wpa_passphrase命令(如果未安装,可以使用 安装sudo apt install wpasupplicant)。从手册页:

wpa_passphrase 预先计算 wpa_supplicant.conf 文件的网络配置块的 PSK 条目。ASCII 密码和 SSID 用于生成 256 位 PSK。

试一试吧:

~$ wpa_passphrase MYROUTER MySecretPassphrase
Run Code Online (Sandbox Code Playgroud)

输出:

network={
    ssid="MYROUTER"
    #psk="MySecretPassphrase"
    psk=93763b13c803b7269956cb9bf584c75eb0fd0e99c51ecf49598a4016a29aa3f1
}
Run Code Online (Sandbox Code Playgroud)

假设无线适配器标记为 wlan0,则上面示例的 /etc/network/interfaces 文件应如下所示:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet dhcp
wpa-ssid MYROUTER
wpa-psk 93763b13c803b7269956cb9bf584c75eb0fd0e99c51ecf49598a4016a29aa3f1
Run Code Online (Sandbox Code Playgroud)

您可以执行此操作将相关行附加到 /etc/network/interfaces,而不是键入这个长字符串或使用复制/粘贴:

~$ wpa_passphrase MYROUTER MySecretPassphrase | grep -vE "{|#|}" | tr -d '\t' | sudo tee -a /etc/network/interfaces
Run Code Online (Sandbox Code Playgroud)

然后编辑 /etc/network/interfaces 以确保一切正常。

最后,重新启动或重新启动网络服务:

~$ sudo service networking restart
Run Code Online (Sandbox Code Playgroud)