解决-笔记本安装CentOS 7 后无法连接Wi-Fi

本文详细记录了解决笔记本安装CentOS 7后无法连接Wi-Fi的问题。通过检查网卡配置、激活无线网卡、分配静态IP等步骤,成功解决了网络连接问题,并防止了重启后网络失效。此外,还介绍了如何设置合盖不睡眠。

  今天闲来无事,把一台5年前买的游戏本安装成了 CentOS 7 系统,准备把它当作一台测试服务器来使用,但是安装的过程真是一波三折… … 网络问题最让人头疼,于是我将我的解决过程记录了下来,以便大家参考。

问题现象

本来我在安装的时候在图形界面下选择了我使用的 Wi-Fi 并输入了密码成功链接上了,但是安装完成后我尝试 ping www.baidu.com 却发现没成功,提示如下:

ping www.baidu.com: Name or service not known

最开始我以为是我安装的时候选择了【最小化安装】没有安装上对应的附带组件造成的,于是我选择了重新安装,安装的时候选择了【基础设施服务器】进行安装,也勾选了一些组件,想着这次联网应该没问题,但是事实却是没啥变化,还是连不上网,ping www.baidu.com 依然提示上面的错误。于是开始在网页里遨游(寻找解决方案)~

解决方案

经过对多个网页内容的人眼👀扫描,最终选定了一组方案,进行测试后效果甚佳,具体步骤如下:

检查网卡配置

进入如下文件夹内:

[root@localhost /]# cd /etc/sysconfig/network-scripts

由于我这里链接的是 Wi-Fi ,且安装的时候链接过,所以有一个文件叫 ifcfg-ChinaNet-txgV,后面的 ChinaNet-txgV 就是我的 Wi-Fi 名称,我看了下里面的配置内容,基本上没啥大问题(该有的都有↖(ω)↗)。

这个目录下还有很多其他的以 ifcfg- 开头的文件,基本都是些配置文件,默认的配置文件叫 ifcfg-eth0 默认使用的就是这个,所以如果没看到其他和你所用网络一致的后缀名称的配置文件,多半是使用了 ifcfg-eth0 作为网卡配置文件了。主要是看看里面配置的 NAME 是否匹配,ONBOOT 是否等于 yes,这点儿比较关键哈。
(PS:网上有的教程说调整 ONBOOT=yes ,然后重启网络 service network restart 就可以了,那估计他电脑插着网线,和咋们情况不一致。我实际尝试了并没啥卵用。。。。)

激活无线网卡

1、查看无线网卡信息

执行命令:

[root@localhost /]# iw dev
phy#0
	Interface wlp2s0
		ifindex 3
		wdev 0x1
		addr 74:df:bf:bf:05:44
		type managed
[root@localhost /]# 

从上面的信息中可以得到 Interface 后面的网卡的口号标识是 wlp2s0 ,一定要记着这个口号,等会下面要使用哦~

2、激活无线网卡

执行命令:

[root@localhost /]# ip link set wlp2s0 up

3、查看激活状态

执行命令:

[root@localhost /]# ip link show wlp2s0
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 74:df:bf:bf:05:44 brd ff:ff:ff:ff:ff:ff

从返回的结果可以看到里面含有关键字 UP 可以看出是激活成功的。

4、检查是否有连接

执行命令:

[root@localhost /]# iw wlp2s0 link
not connect

通常来说是没有链接的。

5、扫描可连接的 WI-FI

执行命令:

[root@localhost /]# iw wlp2s0 scan | grep SSID

执行完成后会列出能被网卡搜索到的 Wi-Fi 信息,如果你一个也搜索不到,则说明你的无线网卡硬件有问题,或者你电脑附近没有无线网络可供你扫描到。

6、链接 Wi-Fi

从上面第五步中找到你要链接的 Wi-Fi ,记住它的【全名称】,输入如下命令进行连接:

[root@localhost /]# wpa_supplicant -B -i wlp2s0 -c &lt;(wpa_passphrase 'wifi-全名称' 'wifi密码')

如果你输入的 Wi-Fi 名称和密码没有错误的情况下,你应该已经连接上无线网络了。

7、分配 IP

执行如下命令,用于获得 ip 的分配:

[root@localhost /]# dhclient wlp2s0

8、查看是否成功分配 IP

执行如下命令:

[root@localhost /]# ip addr show wlp2s0

这一步执行完成后你将会看到你分配到的 IP 地址。至此,大功告成啦!

测试一下是否可以 ping 通外网:

[root@localhost /]# ping www.baidu.com
64 bytes from 220.181.38.150: icmp_seq=2 ttl=55 time=7.25 ms
64 bytes from 220.181.38.150: icmp_seq=2 ttl=55 time=6.99 ms
64 bytes from 220.181.38.150: icmp_seq=2 ttl=55 time=7.59 ms
64 bytes from 220.181.38.150: icmp_seq=2 ttl=55 time=7.81 ms

我终于 ping 通了,哈哈哈,可以愉快的玩耍啦~

解决重启后网络连接失效的问题

按照上面的步骤配置完成后成功链接上了 Wi-Fi 但是重启后发现又无法联网了,还得继续安装上述步骤又执行一遍,这谁能忍受,所以找了个法子,防止重启后网络无法自动连接,具体操作如下:

1、安装 NetworkManager-wifi

执行命令:

[root@localhost /]# yum -y install NetworkManager-wifi

2、开启wifi

执行命令:

[root@localhost /]# nmcli r wifi on

3、测试(扫描信号)

执行命令:

[root@localhost /]# nmcli dev wifi

4、查看网络连接

执行命令:

[root@localhost /]# nmcli connection
NAME           UUID                                  TYPE      DEVICE 
ChinaNet-txgV  24a2afc3-d111-4f13-9291-4c8bd1ee5712  wifi      wlp2s0 
virbr0         ddd1cb25-9568-4638-8d71-1a079e409f30  bridge    virbr0 
enp3s0f1       8f4e32c0-0d39-4037-99b0-072b6cdb081d  ethernet  --   

⚠️注意:如果你看到你的 DEVICE 这一列下面找不到你的网卡口号标识(我这里是 wlp2s0),那么你继续往下执行 Wi-Fi 链接的时候可能会报错:

Unknown parameter: wlp2s0
Error: No Wi-Fi device found.

如果出现了这些现象,那么建议你重启电脑,重新执行 Wi-Fi 链接即可。

5、删除上图所有的 TYPE=wifi 的连接(根据UUID删除)

执行命令:

[root@localhost /]# nmcli c delete 24a2afc3-d111-4f13-9291-4c8bd1ee5712

6、重新连接 Wi-Fi

执行命令:

# 例如链接 Wi-Fi 名为 ChinaNet-txgV,密码为 123456 的无线网
[root@localhost /]# nmcli d wifi connect "ChinaNet-txgV" password "123456" wlp2s0
Unknown parameter: wlp2s0
Device 'wlp2s0' successfully activated with '24a2afc3-d111-4f13-9291-4c8bd1ee5712'.

注意这里可能会失败,出现上述第 4 步中说的问题,请按照上述方式解决吧。

7、测试网络连接

执行命令:

[root@localhost /]# ping www.baidu.com
PING www.a.shifen.com (220.181.38.150) 56(84) bytes of data.
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=1 ttl=55 time=21.0 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=2 ttl=55 time=10.0 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=3 ttl=55 time=6.51 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=4 ttl=55 time=6.71 ms

可以 ping 成功,则网络连接成功了。
现在重启下电脑(reboot)查看网络是否自动连接上了吧。(PS:我这里成功自动连接上了)

将 Wi-Fi改为静态IP

从我的计划使用场景来看,我需要让系统保持一个固定的 IP ,这样我每次远程局域网登录的时候就不需要上主机上查看当前的 IP 地址了,而且其他服务也不用改 IP 就可以链接上,这样就会方便许多。

1、运行 ifconfig 查看 IPADDR 和 NETMASK,如下:

[root@localhost network-scripts]# ifconfig
enp3s0f1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 70:8b:cd:00:69:a9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 68  bytes 5908 (5.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 68  bytes 5908 (5.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:1b:d2:af  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.19  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 240e:304:2880:3433:234b:c95c:3c98:3618  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::ebd7:536d:d12:51aa  prefixlen 64  scopeid 0x20<link>
        ether 74:df:bf:b0:05:46  txqueuelen 1000  (Ethernet)
        RX packets 2323  bytes 163515 (159.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2091  bytes 190109 (185.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

其中 wlp2s0 后面的 inet 192.168.1.19 netmask 255.255.255.0 就是我们要记下的信息。
(PS: 如果执行 ifconfig 出现找不到命令的情况请安装net-tools,命令:yum -y install net-tools)

2、查看DNS,执行命令如下:

[root@localhost network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1
nameserver 240e:40:8000::10
nameserver 240e:40:8000::11

3、查看网关 GATEWAY,如下:

[root@localhost network-scripts]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlp2s0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp2s0
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

4、修改网络配置文件,如下:

编辑 /etc/sysconfig/network-scripts 目录下以 ifcfg-开头,后面是你 Wi-Fi 名称的配置文件,比如我的是:ifcfg-ChinaNet-txgV,如下:

ESSID=ChinaNet-txgV
MODE=Managed
KEY_MGMT=WPA-PSK
SECURITYMODE=open
MAC_ADDRESS_RANDOMIZATION=default
TYPE=Wireless
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp

# 将dhcp修改为 static
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ChinaNet-txgV
UUID=24a2afc3-d111-4f13-9291-4c8bd1ee5712
ONBOOT=yes

# 主要添加了如下配置内容
IPADDR=192.168.1.19
NETMASK=255.255.255.0
DNS1=192.168.1.1
DNS2=240e:40:8000::10
DNS3=240e:40:8000::11
GATEWAY=192.168.1.1

修改保存完毕,reboot 重启,查看网络是否连接。

我这里调整完重启后 Wi-Fi 自动连接正常,ping www.baidu.com 正常,执行 ifconfig 查看 IP 地址是我设定的静态 IP 地址。所以,一切正常!

后记

这次的 CentOS 系统安装到游戏本是第一次成功,颇有一番成就感,但是过程是非常波折的,一开始我选择 Install CentOS 7 进行安装时就遇到了 dracut:/# ... timeout 等一大堆问题。于是一路百度搜索,按照友友们的说法,是在用 【uitralso软碟通】制作完启动 U 盘后 U 盘名称和正常 CentOS 配置文件中的对应不上,正常的应该是 CentOS 7 x86_64,实际我看到是 CentOS 7 x8 原因是 Windows 对磁盘名称的限制,不能再输入更多的文字了,于是按照教程,我修改了启动目录,在进入选择 Install CentOS 7 目录后,键盘上按 E 键进行编辑,修改内容如下:

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet

把这段改成

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x8.check quiet

实际就是把 LABEL= 后面的值改成你 U 盘名称,因为默认制作完启动盘后的 U 盘名称就是 CentOS 7 x8 其中命令行中的空格是用 x20 代替,所以这里只需将 6_64 删除后就好了。

但是,绝望的是我修改这些后,进行安装的过程中出现了:

Not asking for VNC because we don't have a network

然后就一直卡死在那儿了,网上一顿狂找答案,看到各种答案都有,但是其中有一个说是镜像问题,我抱着试试看的想法,重新从官方找了 CentOS 7 的镜像,使用 aliyun 地址下载了下来,重新制作了启动盘,按上面的步骤修改了 CentOS 7 x86_64CentOS 7 x8 然后直接安装,就顺利进入了安装界面了,看到安装界面的那一刻真的非常幸福,哈哈哈哈。。。。 因为我3年前就曾尝试安装过,但是没安装成功,网上说是因为 N 卡显卡驱动问题,当时就放弃了,这次终于成功啦,耶✌️~

其他

笔记本安装 CentOS 7 后无法像 Windows 界面化操作设置合盖不睡眠(PS: 因为我打算将这台笔记本当作我平时使用的服务器),所以需要设置一下合盖不睡眠,说干就干:

[root@localhost /]# vi /etc/systemd/logind.conf
# 按 【i】键进入编辑模式,将 HandleLidSwitch 设置为 lock (默认是suspend,lock代表仅锁屏),如下:
HandleLidSwitch=lock

设置完后按【esc】键退出编辑模式,然后依次输入 :wq (注意英文字符) 退出并保存。
最后重置一下就好了,重置命令如下:

[root@localhost /]# systemctl restart systemd-logind

执行完命令就完事儿啦,完美~

相关地址

我下载 CentOS 7 镜像使用的官方地址:
http://isoredirect.centos.org/centos/7/isos/x86_64/

我选择了 aliyun 镜像 :
http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/

下载的是 DVD 版本:CentOS-7-x86_64-DVD-2009.iso

你们也可以下载 Everything 版本:CentOS-7-x86_64-Everything-2009.iso

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值