目录
一. 查看网络配置信息的相关命令
1.1 ifconfig 命令
作用 1:
查看网络接口(网卡)地址,信息
在不带任何选项和参数执行 ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息 如图所示:
图中信息详解:
ens33:第一块以太网卡的名称。
“ens33”中的所包含的信息:
-
“en”是“EtherNet”的缩写,表示网卡 类型为以太网,
-
“s” 表示热插拔插槽上的设备(hot-plug Slot),
-
数字“33”表示插槽 编号
注:centos6中网卡名称叫 eth0,第二块网卡为 eth1,以此类推。
lo:"回环" 网络接口,"lo" 是 "loopback" 的缩写,它并不代表真正的网络接口,而是一个虚拟的网络接口,其IP地址默认是 "127.0.0.1" 。回环地址通常是对本机的网络测试。
如果要查看所有网络接口信息,可以使用ifconfig命令的 -a 选项,可以显示所有网卡包括没有启动的网卡。
使用 -s 选项可以查看网卡的网络通讯情况,如图所示:
作用 2:
查看指定的网络接口信息
使用网络接口的名称作为ifconfig命令的参数(不论该网络接口是否处于激活状态),如图所示:
上图信息详解:
- ether:表示网络接口的物理地址(MAC地址)。网卡的物理地址通常不能更改,全球唯一的硬件地址。
- inet:表示网络接口的IP地址。
- broadcast:表示网络接口所在网络对的广播地址。
- netmask:表示网络接口的子网掩码。
TX,RX等信息可以了解到通过该网络接口发送和接收的数据包个数,流量等属性。
拓展:
1) 开启或关闭网卡
ifconfig 网卡名称 [up | down]
如图所示:
2)设置临时虚拟网卡
如图所示:
3) 修改网卡的IP地址,子网掩码
ifconfig 网络接口 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址[/子网掩码长度]
如图所示:
此时原有地址会失效。
1.2 ip/ethtool命令
与ifconfig命令一样,亦是查看网络接口(网卡)的命令。不过,和ifconfig命令相比较下,ip/ethtool命令的功能更加强大,其不仅仅可以查看网络接口的基本信息,还可以查看到更深层次的内容,如查看网路接口的数据链路层,网络层和网络接口的速率等信息。
常用的命令如下:
1.
2.
3.
1.3 hostname命令
作用:查看或设置当前主机名
hostname [主机名] 临时修改主机名
也可以通过修改/etc/hostname文件来永久修改主机名,永久生效,如图所示:
通过hostnamectl来修改主机名,永久生效。如图所示:
1.4 route 命令
作用:查看或设置主机中路由表信息
Linux系统中的路由表决定着从本机向其他主机,其他网络发送数据的去向,是排除网络故障的关键信息。直接使用route命令可以查看当前主机的路由表信息。如图所示:
上图信息详解:
- Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低
- Genmask:目标网络对应的netmask
- Iface: 到达对应网络,应该从当前主机哪个网卡发送出来
- Gateway: 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
- Metric: 开销cost,值越小,路由记录的优先级最高
目标网段为default时,此行是默认网关记录,下一跳为 "*" 时,表示目标网段是与本机直接相连的。
结合 -n 选项,可以将路由记录中的地址显示为数字形式,如此一来可以跳过解析主机名的过程,在路由表条目较多的时候加快执行速度。如图所示:
相关命令拓展:
1)临时添加指定网段的路由记录
命令格式:route add -net 网段地址 gw IP地址
-net 指定目标网段的地址
gw 指定下一跳路由器的IP地址
注意:默认网关的IP地址应该与本机其中一个接口的IP地址在同一个网段
应用效果如下:
2)删除指定网段的路由记录
命令格式:route del -net 网段地址
应用效果如下:
可见,原本的192.168.5.0/24的路由记录被删除
3)向路由表中添加默认网关记录
命令格式:route add default gw IP地址
删除路由表中默认的网关记录
命令格式:route del default gw IP地址
注:在同一台主机的路由表中只应有一条默认网关记录。若同时存在多条默认的网关记录,可能会导致该主机的网络连接出现故障。
4)路由文件的配置,/etc/sysconfig/network-scripts/route-IFACE该文件中添加路由可以达到永久添加路由的效果。
//在/etc/sysconfig/network-scripts/route-IFACE 文件中编辑加入以下格式内容
格式1:TARGET via GW
10.0.0.0/8 via 192.168.189.60
格式2:ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
//每次通过这三行定义一条路由
/etc/sysconfig/network-scripts/route-IFACE 文件 IFACE 指的是我们的网卡名。具体操作如图所示:
1.5 netstat 命令
作用:查看网络连接情况
netstat命令的选项
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听(Listening)状态的网络连接及端口信息 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)netstat |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听(Listening)状态的网络连接及端口信息 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限) |
通常使用 "natp|antp" 组合选项,表示以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。如图所示:
1.6 ss(socket statistics)命令
格式:ss [选项]
作用:ss 命令也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
优势:它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效。当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是cat/proc/net/tcp,执行速度都会很慢。而ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。
备注: ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
选项:
-t | tcp协议相关 |
-u | udp协议相关 |
-w | 裸套接字相关 |
-x | unix sock相关 |
-l: | listen状态的连接 |
-a | 所有 |
-n | 数字格式 |
-p | 相关的程序及PID |
-e | 扩展的信息 |
-m | 内存用量 |
-o | 计时器信息 |
-r | --resolve 把 IP 解释为域名,把端口号解释为协议名称。 |
1.7 ping 命令
作用:测试网络连通性 ,使用的是ICMP 协议
格式:ping [选项] 目标主机
选项:
1)选项 "-c" , 表示发送多少个ping包,通俗来说就是ping几次,如图所示:
2)选项 "-w" , 表示ping多长时间,如图所示:
1.8 traceroute命令
作用:路由追踪,检测发出数据包的主机到⽬标主机之间所经过的网关数量的工具。一般可以用来查看网络连接故障时哪个中间节点存在故障。
格式:traceroute IP地址
操作如图所示:
记录按序列号从1开始,每个纪录就是⼀跳 ,每跳表示一个⽹关,看到每行有三个时间,单位是ms,其实就是-q的默认参数。探测数据包向每个⽹关发送三个数据包后,网关响应后返回的时间。
对于无法响应的节点,连接状态将显示为 "*"。
1.9 nslookup命令
作用:域名解析
格式:nslook 域名
操作如图所示:
使用 dig 命令可以看到更多域名相关信息,如图:
1.10 scp 命令
作用:远程同步,是用于通过 SSH 协议安全地将文件或目录复制到远程系统和从远程系统复制文件到本地的命令。使用 SSH 意味着它享有与 SSH 相同级别的数据加密,因此被认为是跨两个远程主机传输文件的安全方式。
格式:scp [参数]本地文件 远程账户@远程 IP 地址:远程目录
1.11 tcpdump命令
作用:网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。
tcpdump命令的参数说明:
-a 尝试将网络和广播地址转换成名称。
-c <数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F <表达文件> 指定内含表达方式的文件。
-i <网络接口> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r <数据包文件> 从指定的文件读取数据包数据。
-s <数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T <数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w <数据包文件> 把数据包数据写入指定的文件。
二. 永久修改网络相关配置文件
2.1 网络接口配置文件
网络接口的配置文件默认位于 "/etc/sysconfig/network-scripts/" 中,文件名的格式为 "ifcfg-xxx",其中 "xxx" 是网络接口的名称。
文件内容如图所示:
注:如果修改了上述的配置文件,需要重新启动 network服务(systemctl restart network)或是重启主机,这样修改后的文件才会生效。
2.1.1 添加网卡
有时候一张网卡不够用,需要加上更多的网卡,此时应当如何操作?请参考下列步骤:
步骤一:在主机上添加硬件网卡
这时网卡添加完成
步骤二:虽然网卡在主机上加上了,但是并没有配置文件,也就是说,网卡虽然添加了但是并不能上网。所以,我们需要为新增的网卡增加配置文件,使其可以上网使用。如图所示:
修改的配置文件内容如下:
步骤三:测试ens36是否可以正常使用,连接网络。可以先将ens33网卡关闭,启用ens36这一张网卡,测试其是否可以ping通网络。如图所示:
此时去ping www.baidu.com ,如图所示:
可以ping通百度,证明ens36可以正常上网,双网卡设置成功。
2.2 域名解析配置文件
1)指定为本机提供DNS解析的服务器地址
/etc/resolv.conf文件中记录了本机默认使用的DNS服务器的地址信息,对该文件的修改将会立刻生效。Linux系统中最多可以指定3个不同的DNS服务器地址,第3个以后的将会被忽略,优先使用第一个DNS服务器。
操作如图所示:
vim /etc/resolv.conf
也可以在/etc/sysconfig/network-scripts/ifcfg-* 文件中新增,记得重启服务即可
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
2)本地主机映射文件
/etc/hosts文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机信息。当访问一个未知的域名的时候,会先查找该文件中是否有相对应的映射记录,如果找不到再去DNS服务器中查询。
如图所示:
这个文件的修改主要用于经常访问的一些网站,可以通过在这个文件中添加正确的映射记录,减少DNS查询过程,从而提高上网速度。
注:这个文件只保存在本地,其保存的映射记录只用于当前主机,无法作用于整个网络。