环境

Linux版本为Centos7.8

查看网卡状态

1
2
#查看网卡状态
ip addr

如果没有出现 UP 说明你的网卡没有激活

激活网卡

1
ip link set 网卡名称 up

例如,我上面要激活wlp4s0 这个网卡

那我的命令就是:

1
ip link set wlp4s0 up

一定要看到UP才算激活成功!

连接Wifi

由于我们现在的wifi是使用WPA和WPA2加密的,因此我们需要使用wpa_supplicant来连接。

1
2
3
4
5
#生成wpa_passphrase配置文件
wpa_passphrase wifiName password > /etc/wpa_supplicant.conf

#连接Wifi
/usr/sbin/wpa_supplicant -B -Dwext -iwlp4s0 -c/etc/wpa_supplicant.conf

分配IP

连接好Wifi之后并不能访问网络,因为还没有分配ip,所以需要我们手动分配ip

1
dhclient 网卡名称 &

固定IP

如果要使用固定IP就不能用dhclient命令了

1
2
3
4
#指定ip和子网掩码
ifconfig $networkCardName ip netmask 子网掩码
#指定网关
route add default gw 网关地址

如果不知道网关等的信息可以先查看dhclient分配的网络信息

1
vi /var/lib/dhclient/dhclient.leases 

经过以上步骤我们就可以联网啦!

添加开机自启动脚本

自启动脚本也有很多种方式添加,我这里采用init.d的方式

首先需要创建脚本:wifiBoot.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
#chkconfig: 2345 80 90
#description:auto_run
networkCardName='wlp4s0'
wifiName='wifiName'
wifiPassword='password'

ip link set $wifiname up

sleep 1

wpa_passphrase $wifiName $wifiPassword > /etc/wpa_supplicant.conf

/usr/sbin/wpa_supplicant -B -Dwext -i$networkCardName -c/etc/wpa_supplicant.conf &

sleep 3

dhclient $networkCardName &


添加到自启动项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#脚本移动到init.d目录下
mv /opt/wifiBoot.sh /etc/rc.d/init.d

#修改权限
chmod +x /etc/rc.d/init.d/wifiBoot.sh

#进入init.d目录
cd /etc/rc.d/init.d

#加入启动管理列表
chkconfig --add wifiBoot.sh

#开机自启动
chkconfig wifiBoot.sh on

添加启动项报错:服务不支持 chkconfig

脚本开头要添加这三行:

1
2
3
#!/bin/sh
#chkconfig: 2345 80 90
#description:auto_run

第一行,告诉系统使用的shell脚本

第 二行,chkconfig后面有三个参数2345,80和90告诉chkconfig程序,需要在rc2.d~rc5.d目录下,创建名字为 S80auto_run的文件连接,连接到/etc/rc.d/init.d目录下的的auto_run脚本