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


9

我最近在Acer Aspire T上安装了CentOS 7作为唯一的OS。没有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的操作。建议使用此工具,因为计算机上尚未预装以下工具,并且未直接连接到Internet:

[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
尝试使用nmtui配置无线连接。
Michael Hampton

1
服务器上的Wifi,是否适合家庭实验室?

@ yagmoth555开发服务器。
CodeMed

2
yum install NetworkManager-wifi *
Scott B

如果您打开nmtui却看不到连接,则该工具无法为您做更多的事情。您必须检查无线网络的安装和实际可用性。看到我更新的答案。
帕维尔·希默达(PavelŠimerda)

Answers:


8

当我使用网络管理器命令行工具nmcli时,得到以下信息,这表明nmcli启用了wifi,但是看不到任何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连接

我也刚刚成功尝试查看wifi网络nmtui(不是在CentOS中,但是应该可以)。选择激活新连接足以查看可用的wifi网络列表。


在GUI安装过程中可能还会受到手动选择的影响。如果在运行安装之前在GUI中选择WiFi,则可能会受到影响。我相信我记得可以避免这个问题。这同样可能是其他的安装方法,如踢启动文件真实的virt安装
CodeMed

2

即使您的系统可以识别无线接口,您仍然需要一个软件包才能对其进行管理。通常对于CentOS,我使用WPA请求者。它包括您用于启用/禁用/等界面的工具。

书面记录是在这里对CentOS的维基。

您可以从各个位置下载WPA请求者软件包。我使用了RPMfind.net

作为参考,以下是安装后配置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 / network-scripts / 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

谢谢,但是在这种情况下,这似乎不是一个选择。请参阅编辑我的OP。如果我要尝试使用这种方法,则必须说明rpm要下载到其他PC上的文件,然后手动将其SCP从另一台PC 传输到此分离的服务器中。但我想知道为什么我们不能只使用CentOS 7预先安装的工具?您是否建议采用CentOS 6的方法,其工具已被CentOS 7中的其他工具取代?
CodeMed

CentOS与RHEL二进制兼容(从相同的源代码构建)。这是一个主要为服务器级系统设计的企业级操作系统,因此他们不希望人们在笔记本电脑和wifi上使用它。这就是为什么像Fedora这样的发行版要容易得多的原因-它们已经包含了所需的那些类型的软件包。如果CentOS 7包含这些软件包,这对我来说是个新闻(我们尚未在此处部署它),但出于与您提到的相同的原因,人们可能会使用它的需求很大。
蒂姆·S.

1
完整的答案将列出我需要下载到其他PC上的文件,然后手动将其传输到此devbox。它们是rpm文件吗?如果是这样,我应该从哪里得到它们?有什么名字?
CodeMed

尽管从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
slm

使用配置说明和下载链接以及原始URL更新了我的答案。
蒂姆·S.

1

有时您需要安装驱动程序以进行检测,因为默认情况下,centos仅安装开源授权的驱动程序。寻找rpm或查看零件制造商的网站以获取Linux centos驱动程序


0

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

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

  2. CentOS 7进入睡眠模式或由于断电而意外关闭后,或者您已经重新启动并登录到CentOS 7

如果您的wifi无法正常工作。

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

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

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


0

嗨,我昨天晚上整晚都在阅读技术文档后试图让WIFI工作,我终于遇到了一个文档,其中提到在cent os 7中存在一个错误,默认情况下不包含NetworkManager-wifi插件...昨晚我做的最后一件事就是进行一个完全干净的安装(以前已经进行过,但是我一直在窜改,以至于我迷失了方向)所以今天早上我重新安装了Cent OS 7作为网络服务器,我从摇杆上安装了NetworkManager-WIFI rpm,然后重新启动了,这与我在安装中设置的连接相同。它立即连接。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.