Linux防火墙体系中的预设保护区域有哪些,各自的作用是什么
1、public:仅允许访问本机的sshd等少数几个服务
2、trusted:允许任何访问
3、block:阻塞任何来访请求
4、drop:丢弃任何来访的数据包
防火墙设置策略时,如何实现永久策略
1、添加--permanent选项
2、利用firewall-cmd --reload进行重新加载防火墙配置
简述HTTP、HTML的含义及作用
1、HTTP指的是Hyper Text Transfer Protocol,超文本传输协议,主要为网站服务器程序与浏览器
之间传输网页定义相关的标准
2、HTML指的是Hyper Text Markup Language,超文本标记语言,是静态网页文件的标记规范。
简述DNS地址记录中类型NS、A的含义
1、NS记录为域名服务器记录(本域权威DNS的FQDN);
2、A记录为正向解析记录(FQDN --> IP地址)。
NS常见的资源类型
- A记录
- MX记录
- CNAME记录
- NS记录
A记录为正向解析记录,MX记录为邮件服务器记录,CNAME记录为别名记录,NS记录为域名服 务器记录
关于LVM逻辑卷的管理,基本概念及应用如下
- PV表示物理卷
- VG表示卷组
- LV表示逻辑卷
- 创建及使用逻辑卷的主要过程:
- PV物理卷-->VG卷组-->LV逻辑卷-->格式化-->挂载使用
LVM常用命令
- 扫描物理卷 pvscan 查看物理卷 pvdisplay 创建物理卷 pvcreate 删除物理卷 pvremove
- 扫描卷组 vgscan 查看卷组 vgdisplay 创建卷组 vgcreate 删除卷组 vgremove
- 扫描逻辑卷 lvscan 查看逻辑卷 lvdisplay 创建逻辑卷 lvcreate 删除逻辑卷 lvremove
- 扩展逻辑卷 lvextend 扩展卷组 lvextend
简述RAID的含义以及特点
1、RAID:廉价冗余磁盘阵列,指通过硬件/软件技术将多个较小/低速的磁盘整合成一个大磁盘使用的一种存储技术,其不仅可存储数据,还可以实现一定程度的冗余保障,具有“速度快、安全性高”的优势。
2、RAID0、RAID1、RAID5的含义及特点如下:
- RAID0:条带模式,由两个或两个以上的磁盘组成,同一份文档分散在不同的磁盘中,并行写入,提高写效率
- RAID1:镜像模事,由至少两个磁盘组成,同一份文件被分别写入不同的磁盘中,每份磁盘数据一样,实现容错,提高读效率
- RAID5:分布式奇偶校验的独立磁盘模式,结合RAID0和RAID1的好处,同时避免它们的缺点。由至少3块以上大小相同的磁盘组成,实现冗余。
- RAID 0 + 1/RAID 1+0 整合RAID0、RAID1的优势,并行纯取提高效率、镜像写入提高可靠性,至少需要四块磁盘组成,磁盘利用率50%
利用systemd管理服务时,服务文件默认路径在哪里?
- /usr/lib/systemd/system/
如何生成容器的服务启动配置文件
- podman generate systemd --name 容器名 --files
请描述计算机网络的功能
- 资源共享
- 信息传递
- 增加可靠性
- 提高系统处理能力
计算机网络发展过程中,70-80年代诞生了什么标志性技术
- TCP/IP
常见的网络拓扑结构
- 星型
- 网状
OSI的七层与TCP/IP的五层参考模型分别是
- 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
- 物理层、数据链路层、网络层、传输层、应用层
华为路由交换设备常见的命令行视图有哪些?
- 用户视图、系统视图、接口视图、协议视图
交换机工作原理是哪几个步骤?
- 学习、广播、转发、更新
VLAN的作用是什么?
- 广播控制、增加安全性、提高带宽利用、降低延迟
TRUNK的作用是什么?
- 为数据帧打上VLAN标识,使不同VLAN数据可以用一条链路传递
链路聚合的作用是什么?
- 链路聚合为交换机提供了接口捆绑的技术,允许两个交换机之间通过两个或者多个接口并行连接,同时传输数据,以提供更高的带宽和可靠性。
网络层的功能有哪些?
- 定义了基于IP协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径
Ping工具与那个协议有关?
- ICMP协议
获取路由表的方式有那些?
- 直连路由、静态路由、动态路由
传输层有那些协议,各有什么特点?
- TCP(传输控制协议):可靠的,面向连接的协议,传输效率低
- UDP(用户数据报协议):不可靠的,无连接的服务,传输效率高
描述TCP三次握手以及四次断开的过程
SMTP、DNS、Telnet、TFTP、NTP分别是什么协议,使用了什么端口?
- SMTP(简单邮件传输协议):默认端口号:25
- DNS(域名系统):默认端口号:53
- Telnet(远程登录):默认端口号:23
- TFTP(简单文件传输协议):默认端口号:69
- NTP(网络时间协议):默认端口号:123
ACL常见类型有那些,各有什么区别?
- 基本ACL
- 基于源IP地址过滤数据包
- 基本访问控制列表号是2000-2999
- 高级ACL
- 基于源IP地址、目的IP地址、指定协议、端口来过滤数据包
- 高级访问控制列表的列表号是3000-3999
VRRP的作用是什么?
网关的冗余备份,可以保障网关设备出现故障的情况下不会对网络照成重大影响。
VRRP中路由器身份有那些?
- 主路由器
- 备份路由器
- 虚拟路由器
NAT的作用是什么?
- 通过将内部网络的私有IP地址翻译成全球唯一的公网IP地址,使内部网络可以连接到互联网等外部网络上。
私有IP地址分类:
- A类10.0.0.0-10.255.255.255
- B类172.16.0.0-172.31.255.255
- C类192.168.0.0-192.168.255.255
NAT常用实现方式有那些?
- 静态转换
- Easy IP
计算机常用的数制有那些?
- 二进制、十进制、十六进制
一个4GB大小的文件,如果利用200Mb带宽的网络传递,大约需要多久完成?
- 使用200/8计算出该网络每秒可以传递25MB的数据
- 4GBx4=4096MB,4096MB÷25=163.84秒约等3分钟
子网划分的原因
- 满足不同网络对IP地址的需求
- 节约IP地址
IPV4和IPV6的地址长度分别是多少?
- IPV4:32位二进制,点分十进制
- IPV6:128位二进制,冒号十六进制
在组建企业级网络过程中,除了实现基本功能以外,还需要注意什么问题?
- 还需要提高网络的可靠性,尽量多使用冗余设备或技术让网络处于高可用状态,如链路聚合,vrrp。另外还要提高网络的安全性,可以使用acl对数据进行清洗,防止非法用户对网络的破坏。
在企业网络出口使用默认路由是为了让内部设备访问海量的外部设备,如何让默认路由传递到内部网络的所有三层设备?
- 首先所有三层设备开启ospf动态路由协议,并宣告设备之间互联的网段用来实现正常路由表同步,然后在出口设备配置默认路由会后使用以下命令:
ospf
default-route-advertise
如果终端设备(服务器或者PC)在进行数据通信的过程中无法ping通外部设备,应从哪些方面考虑?
- 首先检查自身的IP地址、子网掩码、网关地址
- 在检查当前终端设备所在vlan是否正确配置,比如交换机是否创建对应vlan,交换机接口是否加入对应vlan,以及交换机上层链路是否配置为trunk
- 然后使用ping命令测试与网关的链路是否正常,按照从内到外逐一节点的测试方法,即可“顺藤摸瓜”的找到故障节点。
如何执行一个未设置x权限的shell脚本
- sh 脚本文件路径
- source 脚本文件路径
- ./脚本文件路径
自定义Shell变量时,变量名有什么规则?
- 可以包含数字、字母、下划线,不能以数字开头
- 变量名区分大小写
- 赋值的时候等号两边不要有空格
- 不要使用关键字和特殊符字符
- 给同一个变量多次赋值时,最后一次的赋值生效
简述预定义变量$$、0、*、$!的作用
- $$ 保存当前运行进程的PID号
- $? 保存命令执行结果的返回状态
- $0 保存当前运行的进程名或脚本名
- $# 保存位置变量的个数
- $* 保存所有位置变量的值
- $! 保存后台(最后一个进程)的PID号
简述三种界定符在变量赋值操作中的特点
- 双引号"":允许扩展,以$引用其他变量
- 单引号'':禁止扩展,即使$也视为普通符号
- 饭撇号``:将命令的执行输出作为变量值
列出常见的整数值比较操作,并说明各自作用
- -eq(等于equal)
- -ne(不等于not equal)
- -ge(大于或等于greater or equal)
- -le (小于或等于less or equal)
- -gt(大于greater than)
-
-lt (小于less than)
简述Linux服务脚本中的case分支结构
简述定义一个Shell函数的两种方法
简述Shell环境常见的中断及退出控制指令
- break:跳出当前所在的循环体,执行循环体后的雨具
- continue:跳过当前循环,重新判断条件以便执行下一次循环。
- exit:退出脚本,默认返回值是0
简述egrep工具的-q选项的含义,并验证其在脚本当中的价值
-
选项 -q的作用是静默、无任何输出,效果类似与正常egrep操作添加了 &> /dev/null 来屏蔽输出。在脚本中需要检测文本内是否存在指定的关键词时,可以利用egrep -q的返回状态值来作为判断依据,从而简化 &>输出的操作。
正则表达式中+、?、*分别表示什么含义?
- +:最少匹配一次,比如a+可匹配a、aa、aaa等
- ?:最多匹配一次,比如a?可匹配零个或一个a
- 星号: 匹配任意多次,比如a*可匹配零个或任意多个连续的a
简述sed定址符的作用及表示方式
- 作用:地址符(执行指令的条件)控制sed需要处理文本范围;不加定址符逐行处理所有行
- 表示方式:地址符可以使用行号或正则表达式
简述AWK工具的基本语法格式
- 格式1:awk[选项] '条件{处理动作}' 文件列表
- 格式2:命令 | awk [选项] '[条件]{处理动作}'
简述awk工具常用的内置变量、各自的作用
- 1,3……,表示指定分隔的第几个字段
- $0:保存当前读入的整行文本内容
- NF:记录当前处理的字段数(列数)
- NR:记录当前以读入的行数
AWK处理文本时,读文件前、读取文件内容中、读取文件后,这三个环节是如何表示的?
- BEGIN{} 文件处理前:awk没有读入行前 要执行的动作;一般对数据做初始化处理,可以单独使用
- {} 行处理:对awk读入的每一行进行处理,可以单独使用
- END{}读取文件后执行:awk把所有的行都处理完之后要执行的动作,一般输出数据的处理结果,可以单独使用。
在AWK中是否可以使用数组,分别以什么构成
- 可以使用数组、分别以数组名、下标、值构成
在linux中对文本的排序如何实现?
- 使用sort命令,比如abc.txt文本,另外还可以使用选项-n按数字升序排列 -k:针对指定的列进行排序 -r:反向排序,例如:
[root@svr5 ~]# sort -n abc.txt
常见的Web服务有那些
- Apache Nginx Lighttpd Tomcat IBM WebSphere IIS
简述什么是LNMP
- L:操作系统(linux)
- N:网站服务软件(Nginx)
- M:数据库服务软件(MariaDB,mysql)
- P:网站开发语言(PHP,Java,Python)
地址重写的好处
- 缩短URL,隐藏实际路径,提高安全性
- 易于用户记忆和写入
- 易于被搜索引擎收录
使用Nginx实现域名跳转
- 要求:访问www.tarena.com时,自动跳转bbs.tarena.com
Nginx代理缓存原理
流程说明:
- 1、客户端1访问代理服务器;
- 2、代理服务器没有网页资源,代理服务器找后端的源站服务器获取资源;
- 3、后端源站服务器从硬盘搜索资源,返回资源给代理服务器;
- 4、代理服务器拿到源站服务器返回的资源,将资源返回给客户端1;
- 5、当客户端2再次访问代理服务器,访问相同的网页资源;
- 6、代理服务器没有缓存,就没有网页资源,此时,代理服务器依然找后端源站服务器获取网页资源;
- 7、后端源站服务器从硬盘搜索资源,返回资源给代理服务器;
-
8、代理服务器拿到源站服务器返回的资源,将资源返回给客户端2;
流程说明:
- 1、客户端1访问代理服务器;
- 2、代理服务器没有网页资源,代理服务器找后端源站服务器获取网页资源;
- 3、后端源站服务器从硬盘搜索资源,返回资源给代理服务器;
- 4、代理服务器将后端源站返回的资料在自己服务器硬盘中缓存一份;
- 5、代理服务将对应的网站资源返回客户端1;
- 6、客户端2访问代理服务器,访问相同的网页资源;
- 7、代理服务器已经缓存了网页资源,此时就不需要找源站获取,直接返回给客户端2;
备注:如果PHP动态网页被缓存,就不需要返回源站,反复调用CUP执行代码。
对于有些段时间不会变化的动态网页,我们可以利用Nginx的缓存功能,就代码临时缓存在代理服务器,缓存时间更具自己需求定义。
Nginx反向代理如何设置后端服务器组的状态
- Nginx可以设置后台服务器组的状态:
- down:表示当前server暂不参与负载;
- max_fails:允许请求失败的次数(默认为1);
- fail_timeout:max_fails次失败之后,暂停提供服务的时间;
- backup:备份服务器;
Nginx实现TCP/UDP代理需要什么模块;
- TCP/UDP也叫四层代理,应为nginx有负载均衡调度功能,也有叫TCP/UDP调度器,
- Nginx开启四层代理之后,需要ngx_stream_core_module模块,使用--with-stream可以开启该模块。
如何优化提升Nginx并发数量
- 调整 Worker 进程数: Nginx 使用 Worker 进程来处理请求。你可以通过修改 Nginx 配置文件中的 worker_processes 参数来增加 Worker 进程数,以适应更多的并发请求。然而,不要设置过多的 Worker 进程,因为过多的进程可能会消耗过多的内存
- 使用事件驱动模型: Nginx 使用事件驱动的模型来处理并发连接。你可以在配置文件中选择不同的事件驱动模型,如 epoll(Linux)、kqueue(BSD/Mac)或 select。选择适合你操作系统的事件驱动模型有助于提升并发性能。
- 调整 Worker 连接数: 通过修改 Nginx 配置文件中的 worker_connections 参数,你可以增加单个 Worker 进程能够处理的最大并发连接数。
- 开启 Keep-Alive: 开启 HTTP Keep-Alive 可以让客户端与服务器复用单个连接来处理多个请求,从而减少连接建立和断开的开销,提升性能。
- 使用缓存: 使用 Nginx 的缓存功能,可以将静态资源(如图片、CSS、JavaScript)缓存在内存中,从而减轻后端服务器的负载。
- Gzip 压缩: 启用 Gzip 压缩可以减小传输数据的大小,从而减少网络传输时间。
- 负载均衡: 使用 Nginx 的负载均衡功能将请求分发到多个后端服务器,以实现负载均衡和提高并发处理能力。
- 优化 Keep-Alive 超时: 适当调整 Keep-Alive 的超时时间,避免长时间占用连接资源
- 优化 TCP 参数: 根据实际情况调整 TCP 的参数,如 TCP 连接超时、TCP 窗口大小等。
- 使用异步 I/O: 在 Nginx 配置中启用异步 I/O,可以在处理非阻塞 I/O 时提升性能。
- 优化服务器硬件和网络: 使用更快的硬件和优化网络配置,如高性能网卡、高速硬盘、适当的网卡绑定等。
-
监控和调优: 使用监控工具来分析服务器的性能瓶颈,根据监控数据进行调优。
注意,在进行这些优化时,请仔细测试和评估性能变化,以确保每个优化措施都能够产生实际的性能提升。不同的应用场景可能需要不同的优化策略。
如何使用Nginx自定义404错误页面?
简述Nginx状态页面各个返回值的含义
- Active connections:当前活动的链接数量
- Accepts:已经接受客户端的链接总数
- Handled:已经处理客户端的链接总数(一般与accepts一致,除非限制了链接数量)
- Requests:客户端发送的请求数量
- Reading:当前服务器正在读取客户端 请求头的数量。
- Writing:当前服务器正在写响应信息的数量。
- Waiting:当前有多少客户端正在等待服务器响应的数量。
简述什么是memcached
- memcached是高性能的分布式缓存服务器,是一个垮平台的、开源的实现分布式缓存服务的软件
- 用来集中缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用响应速度
- memcached支持许多平台:Linux、FreeBSD、Solaris(memcached1.2.5以上版本)、MacOSX、Windows
PHP的Session会话共享
有那些参数影响了Tomcat部署网站时的路径
- appBase
- docBase
- path
使用keytool生成密钥文件的命令是什么
keytool -genkeypair -alias tomcat -keyalg RSA > -keystore /usr/local/tomcatkeystore
Tomcat配置虚拟主机的关键词是什么?
在Apache Tomcat中配置虚拟主机的关键词是 <Host> 元素。虚拟主机允许在同一个Tomcat实例上托管多个不同域名或主机名的应用程序。
在Tomcat的配置文件server.xml中,您可以使用 <Host> 元素来定义虚拟主机。以下是一个简单的虚拟主机配置示例:
<Engine name="Catalina" defaultHost="localhost">
<!-- ...其他配置... -->
<Host name="example.com" appBase="webapps/example">
<Context path="" docBase="."/>
</Host>
<Host name="anotherexample.com" appBase="webapps/anotherexample">
<Context path="" docBase="."/>
</Host>
</Engine>
在上面的示例中,<Host> 元素用于配置两个不同的虚拟主机:example.com 和 anotherexample.com。每个 <Host> 元素内部可以配置<Context> 元素来指定应用程序的上下文路径和文档基准目录。
请确保根据您的实际需求进行配置,并将其适当地集成到您的Tomcat服务器配置文件中。在配置更复杂的虚拟主机方案时,您可能还需要考虑网络设置、DNS解析以及SSL证书等因素。
Maven的功能是什么?
Apache Maven是一个用于构建和管理项目的工具。它主要用于Java项目,但也可以用于其他类型的项目。Maven的功能涵盖了项目的整个生命周期,包括构建、测试、文档生成、依赖管理等方面。
以下是Maven的主要功能:
项目结构管理: Maven通过约定俗成的目录结构(例如
src/main/java
用于源代码,src/test/java
用于测试代码)来管理项目结构,使得项目组织更加清晰和一致。依赖管理: Maven能够自动下载和管理项目所需的第三方库(也称为依赖)。您只需要在项目的配置文件中(
pom.xml
)指定所需的依赖,Maven会自动从中央仓库或其他配置的仓库中下载这些依赖。构建自动化: Maven提供了一组标准的构建生命周期阶段,包括编译、测试、打包、部署等。您可以通过命令行或集成开发环境(IDE)来触发这些构建操作。
插件支持: Maven支持丰富的插件生态系统,允许您扩展构建过程,添加额外的功能,如生成文档、代码质量检查、发布到仓库等。
生命周期管理: Maven定义了三个标准的构建生命周期:clean、default(或build)、site。每个生命周期包含一组阶段,可以在构建过程中执行不同的任务。
版本管理: Maven通过
pom.xml
文件来描述项目和其依赖的配置信息。这包括项目版本、依赖版本、插件配置等。这有助于确保项目的一致性和可重复构建。文档生成: Maven可以自动生成项目的文档,如API文档和站点文档。通过插件,您可以使用标记语言(如Markdown)编写文档,并将其转换为HTML等格式。
仓库管理: Maven提供了中央仓库作为默认的依赖存储库。您还可以配置私有仓库来管理内部使用的依赖。
多模块支持: Maven支持多模块项目,允许您将相关的子项目组织在一起,共享依赖和配置。
总之,Maven简化了项目的构建和管理过程,使开发人员能够更专注于编写代码而不是繁琐的配置和构建任务。
常见的VPN技术有那些?
- GRE、PPTP、L2TP+IPSEc、SSl、VPN
PPTP和L2TP工作在网络协议的第几层,IPSec属于哪层协议?
- PPTP和L2TP都是网络二层协议,IPSec属于应用层协议
PPTP使用什么进行数据加密?
- MPPEP支持MPPE(Microsoft Point-to-Point Encryption)加密
systemd的Unit文件那些语句可以控制进程启动顺序?
- After
- Before
Ansible是基于什么语言开发的软件?
- Python语言
Ansible哪个模块可以将其他主机的文件拷贝到本地?
- fetch模块
Ansible的shell模块执行命令安装软件和yum模块安装软件的区别?
- Shell模块没有幂等性,yum模块包含幂等性
什么是幂等性
在计算机科学和系统管理领域,"幂等性" 是一个重要的概念。它描述了一个操作、函数或操作的性质,即无论执行多少次,结果都是一样的。
换句话说,一个幂等操作是一个可以多次执行而不会对结果产生不同影响的操作。无论你执行这个操作一次还是多次,最终状态都会保持一致。
在实际应用中,幂等性非常重要,特别是在自动化、编程和系统管理方面。以下是一些幂等性的应用和优势:
系统管理和自动化: 在系统管理和自动化工具中,比如 Ansible、Chef 和 Puppet,幂等性确保了操作的可预测性。即使操作在失败后需要重新尝试,也不会导致意外或不一致的结果。
API 调用: 在 Web 开发中,API 调用通常应该是幂等的。这意味着无论客户端发送相同请求多少次,服务器的状态都会保持一致,不会导致重复的资源创建或不一致的状态。
数据库操作: 在数据库操作中,如插入、更新或删除记录,幂等性确保了数据库的一致性。如果一个操作是幂等的,那么重复执行相同的操作不会引起数据重复或冲突。
网络通信: 在网络通信中,幂等性可以防止消息的重复发送或重复处理。这对于确保消息不会意外触发不必要的操作非常重要。
事务处理: 在分布式系统中,幂等性可以确保在事务处理中不会发生重复提交或不一致的状态。
总之,幂等性是一种设计原则,可以增加系统的可靠性、一致性和可预测性。对于需要多次执行的操作,尤其是在自动化和分布式系统中,确保幂等性是非常重要的。
哪些功能是command模块所不支持的?
- 管道
- 重定向
- &后台进程
在YAML文件中使用什么符号支持跨行文本
- 大于> 或者竖线 |
YAML文件中用什么代表数组,什么代表kv数据?
- -代表数组
- :代表kv数据
描述ansible_facts的作用?
- ansible_facts用于采集被管理设备的系统信息
- 所有收集的信息都被保存在变量中
- 每次执行playbook默认第一个任务就是Gathering Facts
- 使用setup模块可以查看收集到的facts信息
Ansible剧本中使用when进行条件判断时,变量不使用{{}}引用
哪些是ansible role的标准目录
- tasks/存放角色的主要任务文件。这些任务定义了角色的主要功能。
- defaults/ 存放默认变量。这些变量在角色中用于提供默认配置选项。它们可以在角色的其他部分被覆盖。
- vars/ 存放变量文件,这些变量用于定义角色的配置选项。这些变量可以在角色的其他部分被覆盖。
- files/存放要在目标主机上复制的文件。这些文件通常是配置文件、脚本或其他资源。
- handlers/存放角色中的事件处理程序,这些处理程序在任务中触发时执行。通常用于重启服务或执行其他操作。
- templates/存放要在目标主机上渲染的模板文件。模板通常用于生成配置文件。
- meta/存放角色的元数据文件,如依赖关系和支持的平台。这些信息可供其他人理解和使用此角色。
- README.md 文件: 通常在角色的根目录中,提供关于角色的描述、用法示例和其他相关信息。