[Linux实用命令]-12-网络配置浅析

引言

这篇文章使用CentOS7和Ubuntu16.04两个发行版介绍Linux中比较常用的与网络相关的几个命令和配置文件,着重介绍如何在纯终端环境下配置WiFi连接。

文章目录

0×1.如何在纯终端界面配置有线连接

这一部分CentOS和Ubuntu的配置命令是一样,下面分别介绍两种环境下的配置方法。

第一种,终端设备连接在一个开启了DHCP服务的路由上:

					#1.查看自己的有线网卡设备号,确保有线网卡已经启用
					# 在CentOS7以及Ubuntu16.04往后的版本中,网卡设备号不再使用eth(有线)或wlan(无线)作为前缀来标识网卡,而改用新的命名方式
					# en 前缀代表以太网,也就是此小节介绍的有线网卡
					# wl 前缀代表无线网卡
					# lo 前缀代表本地回环接口
					# vir 前缀代表虚拟接口
					qing@qingsword.com~$ ifconfig

					#如果有线网卡没有启用将不会出现在ifconfig列表中,ifconfig仅显示已经启用的网络设备,使用ifconfig -a命令可以查看包含被禁用的网络设备,如果网卡被禁用,可以使用下面的命令开启,ens33是网络设备号,每台机器都可能不一样,请使用自己的设备号替换
					qing@qingsword.com~$ sudo ifconfig ens33 up

					#反之,如果想关闭某个有线网卡,例如ens33
					qing@qingsword.com~$ sudo ifconfig ens33 down


					#2.让这块有线网卡自动获取IP地址
					qing@qingsword.com~$ sudo dhclient ens33

					#如果ens33网卡在之前获取过其他的IP,请先使用下面的命令释放
					qing@qingsword.com~$ sudo dhclient -r ens33

					#3.如果没有报错,再次ifconfig就能看到获取的IP,此时就已经接入互联网
					

第二种,手动配置IP地址及其网关,用上面的ens33网卡举例:

					#1.配置IP地址与子网掩码
					qing@qingsword.com~$ sudo ifconfig ens33 192.168.1.222 netmask 255.255.255.0

					#2.配置默认网关
					qing@qingsword.com~$ sudo route add default gw 192.168.1.1
					

0×2.如何在纯终端界面配置WiFi连接

CentOS以及Ubuntu下有一种终端界面通用的WiFi连接组件wpasupplicant,在CentOS7以及Ubuntu14.04往后版本中默认都安装了这个组件,但这个组件和图形界面下的NetworkManager管理器有冲突,如果想在图形界面下测试这种连接方式,请先关闭NetworkManager服务,请看下面的演示:

					#1.确保NetworkManager服务已经关闭,没有运行图形界面的,可以跳过这一步
					# CentOS关闭NetworkManager服务命令(请使用管理员权限执行)
					qing@qingsword.com~# systemctl stop NetworkManager

					#Ubuntu关闭NetworkManager服务命令
					qing@qingsword.com~$ sudo systemctl stop NetworkManager

					#2.查询本机无线网卡编号(wls35u1),本例仅一块无线网卡,如果有多块也会罗列在这里
					qing@qingsword.com~$ iw dev
					phy#0
					Interface wls35u1 
					#Interface后面就是我们需要的编号
					
					#3.选择一块无线网卡进行扫描,查看周边可以连接的无线网络SSID,请使用自己的无线网卡号替换本例的wls35u1
					qing@qingsword.com~$ sudo iw wls35u1 scan | grep SSID
					#会将周边可以搜索到的无线网络SSID都枚举出来
					SSID: TP-LINK_333
					SSID: qingsword.com
					SSID: Xiaomi_888
					SSID: Tenda_666
					
					#4.假设我要连接到qingsword.com,并且我知道这个路由的密码,切换到root权限运行下面的命令,将SSID号以及密码写入wpa_supplicant.conf配置文件中,请使用自己无线路由的SSID号替换qingsword.com,使用连接密码替换123456
					qing@qingsword.com~$ su root
					root@qingsword.com~$ wpa_passphrase qingsword.com 123456 >> /etc/wpa_supplicant/wpa_supplicant.conf

					#5.在后台启用这个配置文件,连接到对应的WiFi,-i后面是使用本地哪个无线网卡去连接,-c后面是我们刚才配置文件的路径,末尾的&代表这条命令在后台运行,如果配置无误,会在命令反馈中看到completed字样,代表连接成功
					qing@qingsword.com~$ sudo wpa_supplicant -i wls35u1 -c /etc/wpa_supplicant/wpa_supplicant.conf &

					#6.使用DHCP获取IP地址,如果路由需要手动配置IP,请参考本文第一小节
					qing@qingsword.com~$ sudo dhclient wls35u1

					#如果wls35u1网卡在之前获取过其他的IP,请先使用下面的命令释放
					qing@qingsword.com~$ sudo dhclient -r wls35u1
					

0×3.图形界面网络管理器配置文件

在CentOS以及Ubuntu系统图形界面环境中,Linux提供了一个NetworkManager网络管理器,gnome桌面环境启动后一般在右上方,Ubuntu有线连接是一个上下箭头图标,无线是一个扇形图标,CentOS7可能需要点击关机那个按钮,在里面有个无线和有线的连接配置,都比较简单,不过多介绍,下面主要介绍通过图形界面连接到有线或无线后,这些配置文件都存放在哪:

CentOS中NetworkManager网络管理器配置文件位置:

					#在这个目录下,保存了有线网卡或无线网卡的配置文件,一般以ifcfg-作为前缀,后面跟着有线网卡号(en或eth),如果是无线连接,就跟着无线网卡SSID号,对应SSID的连接密码以明文的形式保存在keys文件中
					qing@qingsword.com~$ ls /etc/sysconfig/network-scripts/
					ifcfg-ens33 
					#有线配置文件(不同机器en后面的字符可能不同)
					ifcfg-lo #回环接口配置文件
					ifcfg-qingsword.com
					#无线配置文件,SSID号是qingsword.com
					keys-qingsword.com
					#对应SSID号的连接密码保存在这个文件中
					

Ubuntu中NetworkManager网络管理器配置文件位置:

					#与CentOS一样,Ubuntu图形界面下配置的无线或有线都保存在下面这个目录中,无线的配置文件直接是无线网络的SSID号,里面保存了明文连接密码,有兴趣的朋友可以逐个查看一下
					qing@qingsword.com~$ ls /etc/NetworkManager/system-connections/
					

0×4.本地DNS解析文件hosts

在我们浏览一个网页的时候,系统并不是首先通过网络去查询域名对应的DNS地址,而是先查询本地的hosts文件中有没有这个域名对应的IP地址,如果有,优先使用这条DNS记录,Windows和Linux中都有这个文件:

					#Windows系统中hosts文件位置(假设系统装在C盘)
					C:\Windows\System32\drivers\etc\hosts

					#Linux系统中hosts文件位置
					/etc/hosts

					#使用vim在末尾添加一条静态解析规则
					qing@qingsword.com~$ sudo vim /etc/hosts
					#添加下面这条并保存
					127.0.0.1  www.QingSword.COM 

					#添加条目后尝试ping这个域名,发现解析的IP地址是本地回环地址,清除缓存后在浏览器中也打不开这个网站了,hosts文件的作用就是将指定的域名与对应的IP地址建立静态DNS解析表,默认情况下,系统首先使用这个静态解析表来解析域名到对应IP
					qing@qingsword.com~$ ping www.QingSword.COM
					PING www.QingSword.COM (127.0.0.1)

					#删除/etc/hosts中的"127.0.0.1  www.QingSword.COM"即可恢复访问