我安装了全新的 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
我也尝试了这个设置,因为它是在这个回答:
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
但它们都不起作用。
附言不知道这是否重要 - Ubuntu 16.04 服务器正在 Raspberry Pi 3 上运行。
已编辑
sudo ifdown wlan0 && sudo ifup -v wlan0
输出:
ping -c3 8.8.8.8
输出:
connect: Network is unreachable
答案1
我怀疑您wpa-psk
在 /etc/network/interfaces 中设置了无线网络的密码。这样是行不通的。
假设我的路由器的 SSID 是MYROUTER
,我将路由器上的 WPA/WPA2 密码设置为MySecretPassphrase
。乍一看,你会认为 /etc/network/interfaces 应该是这样的:
wpa-ssid MYROUTER
wpa-psk MySecretPassphrase
错了。几个月前我犯了这个错误,花了好一段时间才弄清楚为什么它不起作用。简而言之,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
输出:
network={
ssid="MYROUTER"
#psk="MySecretPassphrase"
psk=93763b13c803b7269956cb9bf584c75eb0fd0e99c51ecf49598a4016a29aa3f1
}
假设无线适配器标记为 wlan0,则上述示例的 /etc/network/interfaces 文件应如下所示:
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
wpa-ssid MYROUTER
wpa-psk 93763b13c803b7269956cb9bf584c75eb0fd0e99c51ecf49598a4016a29aa3f1
您无需输入这个长字符串或使用复制/粘贴,而是可以执行以下操作将相关行附加到 /etc/network/interfaces:
~$ wpa_passphrase MYROUTER MySecretPassphrase | grep -vE "{|#|}" | tr -d '\t' | sudo tee -a /etc/network/interfaces
然后编辑 /etc/network/interfaces 以确保一切正常。
最后,重新启动或者重启网络服务:
~$ sudo service networking restart
答案2
为我
auto an_usb_interface
iface an_usb_interface inet dhcp
wpa-ssid MYROUTER
wpa-psk MySecretPassphrase
就足够了。
我回答这个问题是因为这个问题的答案是说这是错误的,并且要为此 SSID 使用 256 位预共享密钥,但这是有效的(并且还不能在那里评论;wpasupplicant 在某些时候被使用/etc/init.d/networking start
)。