![为什么这个 CentOS 7 服务器看不到 wifi 连接?](https://linux22.com/image/73002/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AA%20CentOS%207%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9C%8B%E4%B8%8D%E5%88%B0%20wifi%20%E8%BF%9E%E6%8E%A5%EF%BC%9F.png)
我最近在 Acer Aspire T 上安装了 CentOS 7 作为唯一操作系统。没有 GUI,因为它是一个只有终端界面的服务器。
我需要做什么才能让 CentOS 7 能够查看并列出可用的 wifi 连接?
当我使用网络管理器命令行工具 nmcli 时,我得到以下信息,这表明 nmcli 已启用 wifi,但它看不到任何 wifi 连接:
[root@localhost ~]# nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
disconnected none enabled enabled enabled enabled
[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
[root@localhost ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
eno1 ethernet unmanaged --
lo loopback unmanaged --
wlp3s0 wifi unmanaged --
然后我检查了防火墙配置,显示ssh是唯一开放的服务,如下:
[root@localhost network-scripts]# firewall-cmd --list-all
public (default, active)
interfaces: eno1
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
我需要更改什么才能让 CentOS 能够看到 wifi 连接? 有可用的连接。防火墙需要更改吗?或者是其他东西?
编辑:
我无法做@TimS 的事情。建议的原因是计算机上未预装以下工具,并且未直接连接到互联网:
[root@localhost ~]# ifconfig -a
-bash: ifconfig: command not found
[root@localhost ~]# lspci -v
-bash: lspci: command not found
[root@localhost ~]# iw dev
-bash: iw: command not found
[root@localhost ~]# iwconfig
-bash: iwconfig: command not found
我可以打开nmtui
,但不确定要输入哪些参数来创建新连接。 [root@localhost ~]# iw dev -bash: iw: 未找到命令 [root@localhost ~]# iwconfig -bash: iwconfig: 未找到命令
答案1
当我使用网络管理器命令行工具 nmcli 时,我得到以下信息,这表明 nmcli 已启用 wifi,但它看不到任何 wifi 连接:
一点也不。他们只说你还没有配置任何无线网络连接。您需要使用其他命令来检查 wifi 连接并连接到 wifi。
确保 NetworkManager 支持 wifi 并管理无线设备
wlp3s0 wifi unmanaged --
这是个问题。如果 NetworkManager 不管理您的无线以太网控制器,那么您就不能指望它看到 wifi 网络并连接到它们。 NetworkManager 通常会在全新启动后自动管理所有设备。
您可能想检查 wifi 包是否存在。如果您没有安装该软件包,则 NetworkManager 中不支持 wifi。
rpm -q NetworkManager-wifi
在这种情况下,您必须暂时使用以太网连接或通过其他方式传输 RPM。
yum install NetworkManager-wifi
systemctl restart NetworkManager
使用 nmcli 连接
查看可用的 wifi 网络:
nmcli dev wifi list
要连接到名为 TestWifi 的 wifi 网络:
nmcli --ask dev wifi connect TestWifi
使用 nmtui 连接
nmtui
我也刚刚成功尝试在(不是在 CentOS 中,但它应该可以工作)中查看 wifi 网络。选择激活新连接足以查看可用的 wifi 网络列表。
答案2
即使您的系统可以识别无线接口,您仍然需要一个软件包来管理它。一般来说,对于 CentOS,我使用 WPA Supplicant。它包括您用来启用/禁用接口等的工具。
一篇文章是这里在 CentOS wiki 上。
您可以从不同位置下载 WPA 请求者软件包。我用了RPM查找网。
作为参考,以下是安装后配置 WPA 请求者的说明。 (摘自上述维基百科)
在没有 NetworkManager 的情况下启用 wpa_supplicant,更新版本
此更新是一种更简单的方法,可以在启动过程中自动连接 wifi 接口。原始版本如下,供参考。
为什么要更新版本?
- 实施起来更简单
- 更完整的说明
- 不更改被系统更新覆盖的文件
- 支持“服务网络重启”重新建立连接
编辑 /etc/sysconfig/network-scripts/ifcfg- 文件
运行 iwconfig 来查找 wifi 设备。在此示例输出中,wlan0 是唯一支持 wifi 的。
# iwconfig
lo no wireless extensions.
wlan0 IEEE 802.11bgn ESSID:"NETWORKSSID"
Mode:Managed Frequency:2.462 GHz Access Point: 68:7F:74:AD:F3:3C
Bit Rate=54 Mb/s Tx-Power=16 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=50/70 Signal level=-60 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:90 Missed beacon:0
eth0 no wireless extensions.
pan0 no wireless extensions.
virbr0 no wireless extensions.
virbr0-nic no wireless extensions.
#
编辑此接口的 ifcfg。例如,使用 wlan0。
/etc/sysconfig/网络脚本/ifcfg-wlan0
验证 ONBOOT 选择是否已启用。
ONBOOT="yes"
编辑/etc/sysconfig/wpa_supplicant
确保您的设备包含在此文件的 INTERFACES 行中。在此示例中,wlan0 是 wpasupplicant 支持的唯一设备。
# Use the flag "-i" before each of your interfaces, like so:
# INTERFACES="-ieth1 -iwlan0"
INTERFACES="-iwlan0"
编辑/etc/wpa_supplicant/wpa_supplicant.conf
大多数网络都需要 wpa_supplicant.conf 中的一个条目,如下所示。将 NETWORKSSID 和 NETWORKPSK 替换为每个网络的正确值。按照您希望使用的顺序放置它们。
network={
ssid="NETWORKSSID"
scan_ssid=1
key_mgmt=WPA-PSK
psk="NETWORKPSK"
}
以下是不需要预共享密钥的网络示例。如果它出现在“任何”网络之前,它将优先于其他开放网络。
network={
ssid="PUBLIC"
key_mgmt=NONE
}
最后一个选项(您可能不选择实施)将允许您连接到任何开放的网络。这在酒店中很有用,但可能会允许连接到不良网络。
network={
key_mgmt=NONE
}
创建/etc/rc5.d/S09prepnet
粘贴以下文本以创建一个新文件,该文件将为 wifi 连接准备正在运行的服务。
cat > /etc/init.d/prepnet <<EoT
#!/bin/sh
/etc/init.d/messagebus start
/etc/init.d/wpa_supplicant start
killall dhclient >/dev/null 2>&1
EoT
chmod a+rx /etc/init.d/prepnet
ln -s /etc/init.d/prepnet /etc/rc3.d/S09prepnet
ln -s /etc/init.d/prepnet /etc/rc5.d/S09prepnet
配置服务在启动时运行
粘贴以下命令来配置服务。
chkconfig messagebus off
chkconfig wpa_supplicant off
chkconfig NetworkManager off
chkconfig network on
重启即可启用
下次重新启动时,您的 wifi 连接将在网络服务启动时启用。
添加或编辑 wifi 网络
如果您需要添加或编辑 wifi 网络,请在 wpa_supplicant.conf 中进行所需的任何更改。
/etc/wpa_supplicant/wpa_supplicant.conf
接下来重新启动 wpa_supplicant 和网络服务。
service wpa_supplicant restart
service network restart
答案3
有时你需要安装驱动程序来检测它,因为centos默认只安装开源授权的驱动程序。寻找 rpm 或查看零件制造商的网站以获取 linux centos 驱动程序
答案4
以下是我的经验,原因如下:
如果您在安装 CentOS 7 后连接到 Wifi 网络。
CentOS 7 进入睡眠模式或因电量耗尽而意外关机或您已重新启动并登录 CentOS 7 后
如果你的无线网络不能用。
不要安装额外的内核模块/安装任何新软件包/进行任何调整。
只需在 CentOS 7 中关闭并重新启动即可。您的 wifi 将再次开始工作。
这是我经过 6 个小时的调整并尝试了所有方法后意识到的