Linux运维工程师常见基础面试题

article/2025/8/22 15:56:34

1、tcp三次握手四次挥手详解

TCP是一种面向连接的协议,通信前需要建立连接,通信结束后需要释放连接。TCP通过三次握手建立连接,四次挥手释放连接。

三次握手:


1、客户端向服务器发送SYN包,表示请求建立连接。
2、服务器收到SYN包后,回复一个SYN+ACK包,表示确认收到请求,并准备好建立连接。
3、客户端收到服务器的SYN+ACK包后,回复一个ACK包,表示确认建立连接。

 四次挥手:

1、客户端发送一个FIN包,表示请求关闭连接。
2、服务器收到FIN包后,回复一个ACK包,表示确认收到请求。
3、服务器发送一个FIN包,表示准备关闭连接。
4、客户端收到服务器的FIN包后,回复一个ACK包,表示确认关闭连接。

以上就是TCP三次握手和四次挥手的示意图。


2、mysql主从同步详解

MySQL主从复制是一种常用的高可用架构,通过将数据从主库复制到从库,实现数据的备份和读写分离。

MySQL主从同步的过程如下:

1、在主库上开启二进制日志,并设置唯一的server_id。
2、在从库上设置唯一的server_id,并配置连接主库的信息。
3、在从库上执行CHANGE MASTER TO语句,指定要连接的主库的信息。
4、在主库上执行FLUSH TABLES WITH READ LOCK语句,锁定所有表,保证数据的一致性。
5、在主库上执行SHOW MASTER STATUS语句,获取当前二进制日志文件名和位置。
6、在从库上执行START SLAVE语句,开始同步数据。
7、从库连接主库,获取主库的二进制日志,并将其应用到从库上。

在主从同步过程中,需要注意以下几点:

1、主库和从库的MySQL版本应该一致。
2、主库和从库的字符集和校对规则应该一致。
3、主库和从库的表结构应该一致。
4、在主库上进行DDL操作时,需要在从库上执行相同的DDL操作,保证表结构的一致性。
5、主从同步过程中可能会出现延迟,需要通过监控和调优来保证数据的一致性。

3、iptables常用语句 

`iptables` 是一个用于 Linux 操作系统的防火墙工具,它可以用来过滤、修改和重定向网络数据包。下面是 `iptables` 的一些常用命令和用法:

- `iptables -L`:列出当前的防火墙规则。
- `iptables -F`:清空当前的防火墙规则。
- `iptables -A INPUT -p tcp --dport 22 -j ACCEPT`:允许来自任何 IP 地址的 SSH 连接。
- `iptables -A INPUT -p tcp --dport 80 -j DROP`:拒绝来自任何 IP 地址的 HTTP 连接。
- `iptables-save > /etc/iptables/rules.v4`:将当前的防火墙规则保存到文件中。
- `iptables-restore < /etc/iptables/rules.v4`:从文件中恢复防火墙规则。

在使用 `iptables` 时,需要注意以下几点:

- `iptables` 的规则是按照顺序执行的,因此需要注意规则的顺序。
- `iptables` 的规则是持久化的,意味着如果没有保存规则,重启服务器后规则将会丢失。
- `iptables` 只能过滤网络数据包,无法防止其他类型的攻击,如应用层攻击。

4、tcpdump常用的抓包命令

`tcpdump` 是一个常用的网络抓包工具,可以用于捕获网络数据包并进行分析。下面是 `tcpdump` 的一些常用命令和用法:

- `tcpdump -i eth0`:在 `eth0` 网卡上捕获数据包。
- `tcpdump -n`:以数字形式显示 IP 地址和端口号,而不是主机名和服务名。
- `tcpdump -c 10`:只捕获前 10 个数据包。
- `tcpdump -s 0`:捕获完整的数据包,而不是截断数据包。
- `tcpdump -A`:以 ASCII 码形式显示数据包的内容。
- `tcpdump host 192.168.1.1`:只捕获与主机 `192.168.1.1` 通信的数据包。
- `tcpdump port 80`:只捕获目标或源端口为 80 的数据包。
- `tcpdump tcp`:只捕获 TCP 协议的数据包。
- `tcpdump udp`:只捕获 UDP 协议的数据包。

在使用 `tcpdump` 时,需要注意以下几点:

- `tcpdump` 需要使用 root 权限运行,否则可能无法正常工作。
- `tcpdump` 命令可以使用多个选项组合使用,以满足不同的需求。
- `tcpdump` 可以将捕获的数据包保存到文件中,以便后续分析。

5、wireshark抓包常见的包状态

Wireshark 是一个常用的网络抓包和分析工具,可以用于捕获和分析网络数据包,以下是 Wireshark 中常见的包状态:

- `SYN`:表示建立一个新的 TCP 连接请求。
- `ACK`:表示确认收到对方发送的数据。
- `FIN`:表示要关闭一个 TCP 连接。
- `RST`:表示重置一个 TCP 连接。
- `PSH`:表示立即将数据发送给应用程序,而不是等待缓冲区填满。
- `URG`:表示该数据包包含紧急数据。
- `ECE`:表示支持 ECN(Explicit Congestion Notification)拥塞控制机制。
- `CWR`:表示 TCP 连接遇到拥塞,需要降低发送速率。

在 Wireshark 中,可以通过过滤器来筛选特定的包状态。例如,使用 `tcp.flags.syn==1` 过滤出所有的 SYN 包,使用 `tcp.flags.fin==1` 过滤出所有的 FIN 包等。此外,Wireshark 还提供了许多其他的过滤器选项,可以根据需要进行选择和组合。

Wireshark 可以用于捕获和分析网络数据包,以便发现链路异常场景。以下是 Wireshark 中常见的链路异常场景:

丢包:在 Wireshark 中可以通过检查数据包的序号和确认号来判断是否存在丢包现象。
重传:在 Wireshark 中可以通过检查数据包的序号和确认号来判断是否存在重传现象。
延迟:可以通过计算数据包的时间戳来判断延迟情况,例如,可以计算 SYN 包和 ACK 包之间的时间差。
乱序:可以通过检查数据包的序号来判断是否存在乱序现象。
拥塞:可以通过检查数据包的延迟时间和重传次数来判断是否存在拥塞现象。

在 Wireshark 中,可以使用过滤器来筛选出特定的异常场景,例如,使用 tcp.analysis.retransmission 过滤出所有的重传数据包,使用 tcp.analysis.ack_rtt 过滤出所有的延迟数据包等。此外,Wireshark 还提供了许多其他的过滤器选项,可以根据需要进行选择和组合。

Wireshark 可以使用过滤器来筛选出特定的异常数据包,例如重传、丢包、延迟等。以下是一些常用的过滤器:

重传数据包:tcp.analysis.retransmission
丢失数据包:tcp.analysis.lost_segment
延迟数据包:tcp.analysis.ack_rtt
拥塞数据包:tcp.analysis.flags,然后检查 Expert Info 栏目中的 Congestion Window Reduced 等信息。

使用过滤器可以将异常数据包筛选出来,以便进行进一步的分析和处理。在 Wireshark 中,可以通过菜单栏中的 Capture -> Options -> Capture Filter 或者 Display Filter 来设置过滤器。对于已经捕获的数据包,可以通过 Analyze -> Expert Information 或者 Statistics -> TCP Stream Graphs 等选项来进行分析和可视化。

要过滤异常的数据包,可以使用 Wireshark 的显示过滤器功能。可以通过输入特定的过滤器表达式来筛选出特定类型的数据包。例如,使用 tcp.analysis.retransmission 过滤出所有的重传数据包,使用 tcp.analysis.ack_rtt 过滤出所有的延迟数据包等。此外,还可以使用 expert.severity == error 过滤出所有的错误级别的数据包,以便查找潜在的问题。更多关于 Wireshark 过滤器的信息可以参考 [1]。

需要注意的是,过滤器表达式的语法比较复杂,需要一定的技巧和经验才能使用得当。可以参考 [2] 中的指南,学习如何使用 Wireshark 捕获、过滤和分析数据包。同时,还可以在 Wireshark 的官方网站上查找更多关于过滤器的文档和教程。

6、k8s的各个组件功能是什么

Kubernetes(简称 K8s)是一个开源的容器编排和管理平台,它包含多个组件,每个组件负责不同的功能。以下是 K8s 的各个组件及其功能:

- `kube-apiserver`:提供 Kubernetes API 的访问入口,是所有组件之间的通信枢纽。
- `kube-controller-manager`:负责控制器的管理,例如,节点控制器、副本控制器、服务控制器等。
- `kube-scheduler`:负责调度 Pod 到节点上运行。
- `kubelet`:运行在每个节点上,负责管理该节点上的 Pod,并与 `kube-apiserver` 通信。
- `kube-proxy`:负责实现 Kubernetes Service 的网络代理和负载均衡。
- `etcd`:存储 Kubernetes 集群的状态和元数据。

除了上述组件外,K8s 还有一些可选组件,例如:

- `CoreDNS`:用于提供 Kubernetes 集群内部的 DNS 服务。
- `Ingress Controller`:用于实现 Kubernetes 集群内部的 HTTP/HTTPS 负载均衡和路由。
- `Metrics Server`:用于收集和存储 Kubernetes 集群中的资源使用情况和指标数据。

每个组件都有特定的功能,它们共同协作,实现了 Kubernetes 的容器编排和管理功能。

7、常用的四层代理都有哪些 有什么区别

常用的四层代理有以下几种:

1. TCP代理:TCP代理是最常用的四层代理,它通过在客户端和服务器之间建立TCP连接,将数据包转发到服务器上。TCP代理可以实现负载均衡、高可用性和安全性等功能。2. UDP代理:UDP代理与TCP代理类似,也是通过在客户端和服务器之间建立UDP连接,将数据包转发到服务器上。UDP代理通常用于实现DNS服务器的负载均衡和高可用性。3. SSL代理:SSL代理也称为TLS代理,它可以在客户端和服务器之间建立安全的SSL/TLS连接,保护数据的安全性。SSL代理通常用于HTTP/HTTPS协议的加密通信。4. HTTP代理:HTTP代理是基于HTTP协议的四层代理,它可以实现HTTP请求的负载均衡、缓存和过滤等功能。HTTP代理通常用于Web应用程序的加速和安全性保护。

这些四层代理之间的主要区别在于它们所支持的协议不同,以及它们所提供的功能不同。TCP代理和UDP代理主要用于传输层协议,可以实现负载均衡和高可用性等功能;SSL代理主要用于应用层协议,可以实现安全通信;HTTP代理主要用于HTTP协议,可以实现Web应用程序的加速和安全性保护。


http://chatgpt.dhexx.cn/article/s6r7Q5uC.shtml

相关文章

运维工程师面试总结(含答案)

运维工程师面试总结 原文链接&#xff1a;https://www.cuiliangblog.cn/detail/article/2 一、linux 1. linux系统启动流程 第一步&#xff1a;开机自检&#xff0c;加载BIOS第二步&#xff1a;读取&#xff2d;&#xff22;&#xff32;第三步&#xff1a;Boot Loader grub…

Linux运维工程师面试题(1)

文章目录 Linux运维工程师面试题&#xff08;1&#xff09;1 别名、内部命令、外部命令的执行顺序2 linux 系统启动流程3 破解用户密码的方法4 忘记 grub 密码怎么解决5 硬盘空间满了怎么处理&#xff0c;怎么找到硬盘中的大文件6 硬盘明明有很多空间&#xff0c;为什么无法存储…

Linux运维工程师面试题整理

1.Nginx反向代理&#xff0c;负载均衡&#xff0c;动静分离&#xff0c;工作原理及优化 nginx配置反向代理。 vim Nginx.conf Server模块中配置 Listen 80 Server_name ip; 在server段里面的location加上proxy_pass http://ip:端口; Nginx配置完成后重启一下nginx。 配…

FastReport打印标签

1、选择标签向导 2、在这里可以选择自己想要的标签布局&#xff0c;也可以点击左下角的自定义标签 3、点击自定义标签后&#xff0c;可以自定义自己想要的标签 4、点击确定之后&#xff0c;可以在制造商找到自定义&#xff0c;选择自定义的标签1 5、然后可以在数据区自定义想要…

深度学习训练数据打标签过程

深度学习训练数据打标签过程 为了获取大量的图片训练数据&#xff0c;在采集数据的过程中常用视频的方式采集数据&#xff0c;但对于深度学习&#xff0c;训练的过程需要很多的有有标签的数据&#xff0c;这篇文章主要是解决视频文件转换成图片文件&#xff0c;并加标签&#…

k8s-节点打标签

node标签设置后&#xff0c;pod可以根据要求让pod调度到想要的节点上运行&#xff0c;或者不在某节点运行。或者确保pod调度到具有高性能&#xff08;比如ssd的机器&#xff09;的节点山上。 1.展示节点标签&#xff1a; kubectl get node --show-labelstrue2.添加节点标签 …

python 图片数据集批量打标签

1.数据集介绍 OutdoorScene数据集&#xff1a;http://people.csail.mit.edu/torralba/code/spatialenvelope/ This dataset contains 8 outdoor scene categories: coast, mountain, forest, open country, street, inside city, tall buildings and highways. There are 2688…

打印标签时如何解决打印偏移

我们在打印标签时&#xff0c;使用的纸张一般都是不干胶卷纸&#xff0c;这样的卷纸又有单排、双排、三排和四排的规格。这些不同规格的标签纸在条码打印中经常会出现打印偏移的问题&#xff0c;甚至会跳纸&#xff0c;遇到这样的情况该如何调整呢&#xff1f;小编下面详细介绍…

视频打标签算法探讨

随着内容时代的来临&#xff0c;多媒体信息&#xff0c;特别是视频信息的分析和理解需求&#xff0c;如图像分类、图像打标签、视频处理等等&#xff0c;变得越发迫切。目前图像分类已经发展了多年&#xff0c;在一定条件下已经取得了很好的效果。本文因实际产品需求&#xff0…

labelImg打标签教程

前言: 打标签的精度&#xff0c;会直接影响目标检测算法最终的识别准确率 安装: labelImg是图片标注软件&#xff0c;用于数据集的制作、标注等等。 在cmd中依次运行以下命令&#xff1a; pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install pyqt5-t…

Docker篇之镜像打标签tag

日常线上活动中&#xff0c;当我们对系统进行开发时&#xff0c;做容器化管理&#xff0c;因为每一个版本不同&#xff0c;可能随着业务量的产生&#xff0c;需求的迭代更新&#xff0c;不同版本所需要的环境不同。 因此&#xff0c;为了满足这样的问题&#xff0c;我们通常做的…

K8S给节点打标签和打污点

打标签 kubectl label node node名 key=value kubectl label node node1 env-role=prod查看标签 kubectl get nodes --show-labels打污点 kubectl taint node node名 key=value:污点三个可选值 NoSchedule : 一定不被调度 PreferNoSchedule : 尽量不被调度 NoExecute : 不…

机器学习 数据预处理之数据打标签

工作内容&#xff1a; 1.读取pdf文档内容 2.分页显示 3.每个数据后设置下拉框供手动打标签 4.数据录入txt文档 代码&#xff1a; import math import os import tkinter as tk from tkinter import * import tkinter.ttk as ttk from tkinter.messagebox import * import …

Excel中批量生成标签,批量打印标签。按指定模板批量打印标签

&#xff11;.问题概述 工作中经常需要将产品明细表转换成标签&#xff0c;贴在送货单上&#xff0c;或者将学生成绩转换成标签打印出来发送给学生。 例如在下图中有若干产品的送货信息&#xff0c;要求按图2的模板批量打印。 图1 送货信息 图2 标签模板 要实现此类需求&…

SVN打标签方法及在此过程中的问题处理

所谓的“打标签”&#xff0c;我个人的理解是&#xff1a;项目取得了阶段性成果&#xff0c;需要保存在标签&#xff08;tags文件夹&#xff09;中&#xff0c;以备不时之需。我采用的打标签的方法是&#xff1a; 1、在SVN客户端打标签。前提是本地项目与SVN Server上的项目无…

图片打标签labelimg

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Windows安装二、使用步骤1.在cmd命令行中创建一个新的环境2.对图片打标签3.保存打标签的图片4.如何打开已经安装的labelimg 总结 前言 对图片打标签是数据…

使用Labelimg打标签

1.下载Labelimg &#xff08;1&#xff09;打开cmd命令行 用Windowr打开命令行&#xff0c;输入cmd命令。 &#xff08;2&#xff09;输入命令 pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple -i的后半部分是清华镜像源地址。 &#xff08;3&#xff…

使用BarTender连接Excel打印标签

一、准备Excel内容 比如我这里设计的是产品信息表内容如下: 二、设计标签样式 详细的设计标签样式操作请参考:获取BarTender10.1和新建一个BarTender模板 三、连接Excel数据库 3.1、选中任意需要填充数据的组件,打开属性面板 3.2、选择属性面板中数据源下的组件名称,点…

使用labelme打标签,详细教程

做图像语义分割&#xff0c;打标签时需要用到labelme这个工具&#xff0c;我总结了它的详细使用教程。 目录 一、安装labelme工具二、文件位置关系三、labelme工具四、labelme工具的快捷键五、代码&#xff08;将标签文件转为统一固定格式&#xff09;六、总结 一、安装labelm…

深度学习中常见的打标签工具和数据集资源

深度学习中常见的打标签工具和数据集资源 一、打标签工具1. labelimg/labelme1.1 搭建图片标注环境&#xff08;win10)(1) 安装anaconda3(2) 在anaconda环境python3下搭建labelImg环境 1.2 打标签1.2 搭建图片标注环境&#xff08;ubuntu18.04)1.3 快捷键 一、打标签工具 1. l…