为什么这个 CentOS 7 服务器看不到 wifi 连接?

为什么这个 CentOS 7 服务器看不到 wifi 连接?

我最近在 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

以下是我的经验,原因如下:

  1. 如果您在安装 CentOS 7 后连接到 Wifi 网络。

  2. CentOS 7 进入睡眠模式或因电量耗尽而意外关机或您已重新启动并登录 CentOS 7 后

如果你的无线网络不能用。

不要安装额外的内核模块/安装任何新软件包/进行任何调整。

只需在 CentOS 7 中关闭并重新启动即可。您的 wifi 将再次开始工作。

这是我经过 6 个小时的调整并尝试了所有方法后意识到的

相关内容