💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老
导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
目录
一、查看网络配置(ifconfig、hostname、route、ss、netstat、lsof)
1.1 ifconfig:查看网络接口信息(网卡)
1.2 hostname:查看主机名称
1.2.1 主机名作用
1.2.2 相关命令
1.3 route:查看路由表条目
1.4 ss
1.4.1 简介
1.4.2 参数及含义
1.4.3 示例
1.5 netstat(查看当前操作系统的网络连接状态、路由表、接口统计等信息)
1.5.1 参数
1.5.2 示例
1.6 lsof(查看当前系统中打开的文件和进程的工具)
1.7 补充:time(测量 Linux 程序执行时间)
二、测试网络连接(ping、tracerute、nslookup)
2.1 ping:测试网络连通性
2.2 traceroute(跟踪数据包的路由途径)
2.2.1 简述
2.2.2 特点
2.3 nslookup
三、设置网络地址参数(临时、永久)3.1 临时配置3.2 永久配置
一、查看网络配置(ifconfig、hostname、route、ss、netstat、lsof)
1.1 ifconfig:查看网络接口信息(网卡)
- ens33:第一块以太网卡的名称
- “ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网
- “s”表示热插拔插槽上的设备(hot-plug Slot)
- 数字“33”表示插槽编号
- inet 192.17.20.68————ip地址
- netmask 255.255.255.0————子网掩码
- broadcast 192.17.20.255————广播地址
- ether 00:0c:29:5e:2c:85————mac地址
第一行:以太网卡的名字不是常见的eth0,变成了ens33。其中en代表以太网卡
ens33代表PCI接口的物理位置为(0,3), 其中横座标代表bus,纵座标代表slot
UP:代表此网络接口为启用状态(down为关闭状态)
RUNNING:代表网卡设备已连接
MULTICAST:表示支持组播
MTU:为数据包最大传输单元
第二行:网卡的IP地址、子网掩码、广播地址
第三行:IP v6地址
第四行:Ethernet(以太网)表示连接类型;
ether:表示为网卡的MAC地址
第五行:接受数据包个数、大小统计信息
第六行:异常接受包的个数、如丢包量、错误等
第七行:发送数据包个数、大小统计信息
第八行:发送包的个数、如丢包量、错误等
通用命令:
ifconfig ens33:只查看网卡 ens33 的配置信息
ifconfig -a:显示所有活动及非活动的连接
注意:
lo 是表示主机的回坏地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道
virbr0是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)
1.2 hostname:查看主机名称
1.2.1 主机名作用
在 Linux 操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障
1.2.2 相关命令
查看主机名
hostname
临时修改主机名(重启后失效):
hostname 666
永久修改主机名(永久有效):
hostnamectl set-hostname
vim /etc/hostname
查看本主机ip
1.3 route:查看路由表条目
路由表:Linux 操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向, 是排除网络故障的关键信息
- route:可以查看当前主机中的路由表信息(无法直接看出默认网关地址)
当目标网段为“default”时,表示此行是默认网关记录
当下一跳为“gateway”时,表示目标网段是与本机直接相连的
- route -n:查看路由,使用-n可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度
Destination是目的网络地址
Genmask是子网掩码
Gateway是下一跳地址
flags中作用表示
- U:该路由可以使用。
- G:该路由是到一个网关(路由器)。如果没有设置该标志,说明目的地是直接相连的。标志G是非常重要的,因为由它区分了间接路由和直接路由(对于直接路由来说是不设置标志G的)。其区别在于,发往直接路由的分组中不但具有指明目的端的I P地址,还具有其链路层地址。当分组被发往一个间接路由时,ip地址指明的是最终的目的地,但是链路层地址指明的是网关(即下一站路由器)。在这个路由表例子中,有一个间接路由(设置了标志G),因此采用这一项路由的分组其ip地址是最终的目的地(140.252.13.65),但是其链路层地址必须对应于路由器140.252.13.35。
- H:该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。没有设置H标志说明目的地址是一个网络地址(主机号部分为0)。当为某个目的IP地址搜索路由表时,主机地址项必须与目的地址完全匹配,而网络地址项只需要匹配目的地址的网络号和子网号就可以了。
- D:该路由是由重定向报文创建的。
- M:该路由已被重定向报文修改。
Iface是发送接口
- ip route show=ip route:查看路由配置
- route add -net …… gw ……表示可以通过某网关到某网段的网络
- route del -net 192.168.3.0/24 表示删除某网段的网络
注意:添加、删除默认网关记录,在同一个主机的路由表中只应有一条默认网关记录。若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障
添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标网段时只需简单地使用“default”表示即可
- route add default gw 网关ip
- route del default gw 网关ip
1.4 ss
1.4.1 简介
- 查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效
- ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
- ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装
- 1.4.2 参数及含义
-h:--help 通过该选项获取更多的使用帮助
-V:--version 显示软件的版本号
-t:--tcp 显示 TCP 协议的 sockets
-u:--udp 显示 UDP 协议的 sockets
-n:--numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"
-l:--listening 只显示处于监听状态的端口
-p:--processes 显示监听端口的进程
-a: --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称
1.4.3 示例
注:-o选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量
1.5 netstat(查看当前操作系统的网络连接状态、路由表、接口统计等信息)
1.5.1 参数
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-l | 显示处g)于监听(Listenin状态的网络连接及端口信息 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限) |
用法:
①通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的 进程信息
②配合管道符grep过滤出特定的记录
1.5.2 示例
1.6 lsof(查看当前系统中打开的文件和进程的工具)
1、列出所有打开的文件:lsof
2、列出指定进程的打开文件:lsof -p <PID>
3、列出指定用户打开的文件:lsof -u <username>
4、列出指定文件的打开进程:lsof /path/to/file(将 /path/to/file 替换为你希望查看的文件路径,这会列出当前打开该文件的进程)
5、列出网络连接:lsof -i
6、列出Unix域套接字:lsof -U
补充:
-c <command>: 指定进程名或命令的名称,列出该命令打开的所有文件。
-t: 仅列出进程ID(PID),而不显示其他信息
-i [protocol:][@hostname|hostaddr][:service|port]: 可以根据网络连接的具体条件进行过滤查看
-n: 不解析主机名,加快显示速度
注意事项
- lsof 命令通常需要 root 权限才能显示所有进程的信息,尤其是对于其他用户的进程和系统级资源
- lsof 的输出结果可以非常庞大和详细,特别是在系统负载较高或者进程数众多的情况下,建议根据需要结合适当的选项和过滤条件使用
- lsof 是系统管理员和开发人员调试和监视系统的有用工具,能够帮助定位和解决文件打开问题、网络连接问题以及资源占用情况等
1.7 补充:time(测量 Linux 程序执行时间)
- real:从进程 ls 开始执行到完成所耗费的 CPU 总时间。该时间包括 ls 进程执行时实际使用 的CPU 时间,ls 进程耗费在阻塞上的时间(如等待完成 I/O 操作)和其他进程所耗费 的时间(Linux 是多进程系统,ls 在执行过程中,可能会有别的进程抢占 CPU)
- user:进程 ls 执行用户态代码所耗费的 CPU 时间。该时间仅指 ls 进程执行时实际使用的 CPU 时间,而不包括其他进程所使用的时间和本进程阻塞的时间
- sys:进程 ls 在内核态运行所耗费的 CPU 时间,即执行内核系统调用所耗费的 CPU 时间
注:什么是用户态和内核态
简单来说内核态就是操作系统运行线程,用户态就是线程执行用户自己的程序
用户态:
- 不能直接使用系统资源,也不能改变 CPU 的工作状态,并且只能访问这个用户程序自己的存储空间
内核态:
- 系统中既有操作系统的程序,也有普通用户程序。为了安全性和稳定性,操作系统的程序不能随便访问,这就是内核态。即需要执行操作系统的程序就必须转换到内核态才能执行
- 内核态可以使用计算机所有的硬件资源
二、测试网络连接(ping、tracerute、nslookup)
2.1 ping:测试网络连通性
使用 ping 命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按 Ctrl +C 组合键后中止测试,并显示最终统计结果
-c表示指定ping的次数:
-i表示设定间隔几秒送一个网络封包给一台机器
-w表示超过多少秒结束ping
- 若看到“Destination Host Unreachable”的反馈信息, 则表示目的主机不可达,可能目标地址不存在或者主机已经关闭;
- 若看到“Network is unreachable”的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机 所在的网络。
- 当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到 “Request timeout”的反馈结果
2.2 traceroute(跟踪数据包的路由途径)
2.2.1 简述
- 若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包
- traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”
可以看到这台主机和201这台机器中间没有经过路由,是直连或连着交换机的状态
2.2.2 特点
- traceroute 命令能够比 ping 命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比 ping 命令稍慢。
- 在网络测试与排错过程中,通常会先使用 ping 命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用 traceroute 命令跟踪查看是在哪个中 间结点存在故障。
2.3 nslookup
软件包的名字就可以使用 yum install -y bind-utils
三、设置网络地址参数(临时、永久)
3.1 临时配置
定义:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。 这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做 的修改并没有固定地存放在静态的文件中,因此当重启 network 服务或重启主机后 将会失效
临时配置网卡的ip地址
ifconfig ens37:0 192.168.10.20 netmask 255.255.255.0
ifconfig ens37:0 192.168.10.20/24
3.2 永久配置
定义:通过配置文件来存放固定的各种网络地址,需要重启 network 服务或重 启主机后才会生效。这种方式操作上相对要复杂一些,但相当于“永久配置”,一般 在需要为服务器设置固定的网络地址时使用
永久配置网卡的ip地址
、TYPE=Ethernet 设置网卡类型,“Ethernet”表示以太网
BOOTPROTO=static 设置网络接口的配置方式,值为“static”时表示使用静态 指定的 IP 地址,为“dhcp”时表示通过 DHCP 的方式动 态获取地址
DEVICE=ens33 设置网络接口的名称
NAME=ens33 设置网络接口的名称
UUID=…… 设备ID
ONBOOT=yes 设置网络接口是否在 Linux 操作系统启动时激活。
IPADDR=192.17.20.68 设置网络接口的 IP 地址。
NETMASK=255.255.255.0 设置网络接口的子网掩码。
GATEWAY=192.17.20.2 设置网络接口的默认网关地址
DNS1=8.8.8.8 设置域名解析服务器