一、前言
二、确认系统有没有识别到无线网卡驱动
三、配置无线网卡的文件
四、扫描WIFI、连接WIFI
五、配置服务启动
一、前言
家里有一台台式机,由于不想拉线,一直是用的无线网卡,以前都是用的Windows系统,现在准备安装Linux系统,再装KVM虚拟机做实验用。
以前Linux用WIFI,都是在有图形桌面的情况下用的,在命令模式中连接WIFI还是第一次配置,发现还是有不少需要注意的地方。
有问题可添加vx:IT了么
二、确认系统有没有识别到无线网卡驱动
系统版本
# cat/etc/redhat-releaseCentOS Linux release7.9.2009 (Core)
其实有没有识别到无线网卡很容易确认,只要执行ip a或者ifconfig -a看看有没有无线网卡接口的信息
# ip a1: lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN groupdefault qlen 1000link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc mq state UP group default qlen 1000link/ether bc:30:5b:bb:19:6d brdff:ff:ff:ff:ff:ffinet 192.168.3.254/24 brd 192.168.3.255scope global noprefixroute enp2s0valid_lft forever preferred_lft foreverinet6 fe80::d5aa:2801:c051:ec1f/64 scopelink noprefixroutevalid_lft forever preferred_lft forever3: wlp0s29f7u3:<NO-CARRIER,BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN groupdefault qlen 1000link/ether 0c:82:68:2f:ea:0f brdff:ff:ff:ff:ff:ff
或者
#ifconfig -aenp2s0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.3.254 netmask 255.255.255.0 broadcast 192.168.3.255inet6 fe80::d5aa:2801:c051:ec1f prefixlen 64 scopeid 0x20<link>ether bc:30:5b:bb:19:6d txqueuelen 1000 (Ethernet)RX packets 5794 bytes 498749 (487.0 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 3709 bytes 779077 (760.8 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0device interrupt 16lo:flags=73<UP,LOOPBACK,RUNNING> mtu65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 2290 bytes 199192 (194.5 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 2290 bytes 199192 (194.5 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0wlp0s29f7u3:flags=4099<BROADCAST,MULTICAST> mtu 1500ether 0c:82:68:2f:ea:0f txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
可以看到,有两个网卡接口信息。
enp2s0是主板自带的网卡接口
wlp0s29f7u3就是无线网卡接口,一般都是以w开头,可能更多的是叫wlan0。
有问题可添加vx:IT了么
也可以查看网卡的硬件信息
# lsusb........Bus 001 Device 004:ID 0dd8:3200 Netac Technology Co., LtdBus 001 Device 003:ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter........
可以看到型号Realtek RTL8192CU 802.11n WLAN
可以带上-vvv查看更详细的硬件信息
#lsusb -vvv
还可以看加载的模块
# lsmod|grep -i 802rtl8192cu 75626 0rtl_usb 22543 1 rtl8192curtl8192c_common 57380 1 rtl8192curtlwifi 84374 3 rtl_usb,rtl8192c_common,rtl8192cumac80211 770617 3 rtl_usb,rtlwifi,rtl8192cu
有问题可添加vx:IT了么
还可以查看开机的硬件检测
# dmesg......[ 1.966035] usb 1-3: new high-speed USBdevice number 3 using ehci-pci[ 2.002805] fbcon: inteldrmfb (fb0) isprimary device[ 2.022958] Console: switching to colourframe buffer device 160x64[ 2.043145] i915 0000:00:02.0: fb0:inteldrmfb frame buffer device[ 2.091517] usb 1-3: New USB device found,idVendor=0bda, idProduct=8178, bcdDevice= 2.00[ 2.091521] usb 1-3: New USB device strings:Mfr=1, Product=2, SerialNumber=3[ 2.091524] usb 1-3: Product: USB WLAN[ 2.091527] usb 1-3: Manufacturer: 802.11n[ 2.091530] usb 1-3: SerialNumber:00e04c000001..........[ 13.205629] rtl8192cu: Chip version 0x11[ 13.286275] rtl8192cu: Board Type 0[ 13.286499] rtl_usb: rx_max_size 15360,rx_urb_num 8, in_ep 1[ 13.286539] rtl8192cu: Loading firmwarertlwifi/rtl8192cufw_TMSC.bin[ 13.354540] ieee80211 phy0: Selected ratecontrol algorithm 'rtl_rc'[ 13.354928] usbcore: registered new interfacedriver rtl8192cu..........
如果没识别到无线网卡驱动,就需要去安装驱动了,那就会麻烦一点了。
有问题可添加vx:IT了么
三、配置无线网卡的文件
虽然一般都能识别到无线网卡,但一开始可能是无法正常启动的,因为没有相应的接口配置文件。
可以自己创建跟无线接口对应的配置文件。
复制另一个接口的配置文件制作出无线接口的配置文件,也可以直接新建文件,配置文件名格式:ifcfg-接口名称
# cp ifcfg-enp2s0 ifcfg-wlp0s29f7u3
编辑ifcfg-wlp0s29f7u3文件。
修改接口名称,去掉一些不用的信息,最后只要保留以下内容即可:
DEVICE="wlp0s29f7u3"
ONBOOT="yes"
BOOTPROTO=dhcp
在配置文件中,设置网卡接口开机自启动,自动获取IP(也可以设置静态IP)。
启动无线网卡接口:
# ifup wlp0s29f7u3
确认网卡有没有启动
# ifconfig wlp0s29f7u3wlp0s29f7u3:flags=4099<UP,BROADCAST,MULTICAST> mtu 1500ether 0c:82:68:2f:ea:0f txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
看第一行信息,<UP,BROADCAST,MULTICAST>如果有UP的话,说明网卡启动成功。
但这里只是启动成功,无线网卡还需要连接到WIFI才能正常使用。
四、扫描WIFI、连接WIFI
这里需要用到两个命令工具iw和wpa_supplicant,如果没有的话,需要先安装。
# yum install iw wpa_supplicant
用iw命令扫描WIF信号
# iw dev 接口名称 scan
由于信息很多,我们可以结合grep只查看WIFI的SSID
# iw dev wlp0s29f7u3 scan|grep -i ssidSSID: yjfgSSID: HiWiFi203SSID: yj2.4GSSID: TP-LINK_73E0SSID: arubaSSID: TP-LINK_5374SSID: meimeiSSID: \x00\x00\x00\x00\x00\x00SSID: arubaSSID: ChinaNet-vVjNSSID: @PHICOMM_BDSSID: 505SSID:SSID: TP-LINK_\xe4\xbc\x98\xe8\xb4\x9d\xe4\xb9\x90SSID: 7798ab4dSSID: TP-LINK_580DSSID: @PHICOMM_C6SSID: 603
可以看到,扫描出不少WIFI信号。
扫描出WIFI后,连接自己想连接的WIFI。
这里有几种连接情况:
-
WIFI没有加密
这种直接连接就可以
# iw dev wlp0s29f7u3 connect [网络 SSID]
-
WIFI是用 WEP 加密的
这种需要填密码连接
# iw dev wlp0s29f7u3 connect [网络 SSID] key 0:[WEP 密钥]
-
WIFI是用WPA/WPA2加密的
前面的两种连接方式,由于安全原因,基本上都没用了。现在都是用WPA/WPA2协议连接的,这种连接稍微复杂一点,需要用wpasupplicant工具来进行连接。
先用wpa_passphrase命令来生成配置文件。
#wpa_passphrase ChinaNet-vVjN unyv4zru >/etc/wpa_supplicant/wpa_supplicant.confChinaNet-vVjN:WIFI的SSIDunyv4zru:WIFI的密码
生成的文件内容:
# cat/etc/wpa_supplicant/wpa_supplicant.confnetwork={ssid="ChinaNet-vVjN"#psk="unyv4zru"psk=a608dbc2bf4a440b2c8a77bb9cb5dc5955b33126349f223e2f7ffeab24a97777}
一旦配置文件生成后,就可以使用wpa_supplicant来连接WIFI了。
#wpa_supplicant -i wlp0s29f7u3 -c /etc/wpa_supplicant/wpa_supplicant.confSuccessfullyinitialized wpa_supplicantwlp0s29f7u3:SME: Trying to authenticate with a8:e2:c3:a6:47:8e (SSID='ChinaNet-vVjN'freq=2462 MHz)wlp0s29f7u3:Trying to associate with a8:e2:c3:a6:47:8e (SSID='ChinaNet-vVjN' freq=2462 MHz)wlp0s29f7u3:Associated with a8:e2:c3:a6:47:8ewlp0s29f7u3:CTRL-EVENT-SUBNET-STATUS-UPDATE status=0wlp0s29f7u3:WPA: Key negotiation completed with a8:e2:c3:a6:47:8e [PTK=CCMP GTK=TKIP]wlp0s29f7u3:CTRL-EVENT-CONNECTED - Connection to a8:e2:c3:a6:47:8e completed [id=0 id_str=]
-i 接口名称
-c 配置文件
-B 可以加这个,在后台运行(第一次还是先不要加,看看输出信息)
五、配置服务启动
如果想每次开机自启动的话,可以启用wpa_supplicant服务,但需要稍微改一下。
修改服务文件,主要是加上网口名称
# vim /usr/lib/systemd/system/wpa_supplicant.service[Unit]Description=WPASupplicant daemonBefore=network.targetAfter=syslog.target[Service]Type=dbusBusName=fi.w1.wpa_supplicant1EnvironmentFile=-/etc/sysconfig/wpa_supplicantExecStart=/usr/sbin/wpa_supplicant-u -f /var/log/wpa_supplicant.log -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp0s29f7u3[Install]WantedBy=multi-user.target
只是修改了ExecStart这一句内容:
删除后面的几个变量,加上了网口名称 -i wlp0s29f7u3
ExecStart=/usr/sbin/wpa_supplicant-u -f /var/log/wpa_supplicant.log -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp0s29f7u3
启用服务
# systemctl daemon-reload# systemctl enable wpa_supplicant# systemctl restart wpa_supplicant
这样,每次开机就会自动连接上WIFI了。
有问题可添加vx:IT了么
755

被折叠的 条评论
为什么被折叠?



