大厂linux面试题攻略四之Linux网络服务(一)

news2024/9/17 9:19:57

一、Linux网络服务-SSH服务

1.哪些设置能够提升SSH远程管理的安全等级?

ssh的登录验证方式


ssh的登录端口和监听设置:

配置文件: /etc/ssh/sshd_config
#Port 22                                #ssh服务默认监听端口
#ListenAddress 0.0.0.0         #ssh服务默认监听IP地址

监听IP地址和默认监听端口可以改为不常用的地址,可以提升安全

ssh的登录用户限制

配置文件: /etc/ssh/sshd_config
#PermitRootLogin yes                #是否允许root用户使用ssh登录

ssh的登录超时设置

配置文件: /etc/profile
export TMOUT=300                #设置客户端5分钟无操作自动断开连接

ssh登录失败尝试次数

配置文件: /etc/ssh/sshd_config
#MaxAuthTries 6                #设置客户端登录失败尝试次数为6次

参考答案:
登录验证模式修改为密钥登录
登录端口修改为非22端口以及指定监听IP
禁止root用户远程登录
设置无操作时自动断开连接
设置登录失败后登录尝试次数为6次
编写防火墙规则,使用白名单机制放行ssh服务的监听端口

2.ssh连接时认证时间过长如何解决?

配置文件: /etc/ssh/sshd config
#UseDns yes                                #取消ssh登录时的dns反向解析请求功能

注意事项:在/etc/ssh/sshd_config配置文件中注释掉的选项不代表不生效,反而代表默认生效,想关闭某功能,一定要取消注释然后修改为no才可以

3.scp和rsync进行远程文件复制有什么区别?

二、Linux网络服务-DHCP+FTP

1.请描述通过DHCP服务器获取IP地址的过程

通过DHCP(动态主机配置协议)服务器获取IP地址的过程是一个自动化的网络配置过程,它允许网络中的设备(如计算机、手机等)自动获取IP地址、子网掩码、默认网关等网络配置信息。这个过程通常可以概括为以下几个阶段:

一、发现阶段(DHCP Discover)

  1. 客户机请求IP地址
    • 当一个DHCP客户机启动或重新连接到网络时,它还没有IP地址,因此需要通过DHCP获取一个合法的IP地址。
    • 客户机会以广播方式发送一个DHCP Discover消息(也称为DHCP-DISCOVER报文),该消息包含客户机的MAC地址和其他一些识别信息,如客户端标识符等。
    • 由于客户机此时还不知道DHCP服务器的地址,因此它使用全F(即255.255.255.255)作为目标地址进行广播。

二、提供阶段(DHCP Offer)

  1. 服务器响应
    • 当网络中的DHCP服务器接收到DHCP Discover消息后,它会根据自身的配置(如IP地址池的范围、租期等)为客户机选择一个可用的IP地址。
    • DHCP服务器会构造一个DHCP Offer消息(也称为DHCP-OFFER报文),其中包含为客户机分配的IP地址、子网掩码、默认网关、DNS服务器地址以及服务器的IP地址等信息。
    • DHCP服务器同样以广播方式发送DHCP Offer消息,以便客户机能够接收到。

三、选择阶段(DHCP Request)

  1. 客户机选择IP地址
    • 如果网络中存在多台DHCP服务器,客户机可能会收到多个DHCP Offer消息。
    • 客户机通常会选择第一个收到的DHCP Offer消息,并向提供该IP地址的DHCP服务器发送一个DHCP Request消息(也称为DHCP-REQUEST报文),以确认选择该IP地址。
    • DHCP Request消息中包含客户机选择的IP地址和服务器标识符,以便服务器能够识别出是哪个请求被确认。

四、确认阶段(DHCP ACK)

  1. 服务器确定租约
    • DHCP服务器在接收到DHCP Request消息后,会检查请求中的IP地址是否仍然可用(即没有被其他设备占用)。
    • 如果IP地址可用,DHCP服务器会向客户机发送一个DHCP ACK消息(也称为DHCP-ACK报文),确认IP地址的分配。
    • DHCP ACK消息中包含IP地址的租期以及其他相关的网络配置信息。
    • 客户机在接收到DHCP ACK消息后,会配置其网络接口,使用分配的IP地址进行网络通信。

五、续租过程(可选)

  • 当IP地址的租期即将到期时,客户机会自动向DHCP服务器发送续租请求,以延长IP地址的使用期限。
  • DHCP服务器根据当前的网络状况和客户机的请求,可能会同意续租并发送DHCP ACK消息确认,或者拒绝续租并发送DHCP NAK消息。

通过以上过程,DHCP客户机能够自动从DHCP服务器获取IP地址和其他必要的网络配置信息,从而简化了网络管理的复杂性。

DHCP租约:

DHCP续租:

DHCP租用失败
如果DHCP客户机无法找到DHCP服务器,它将从TCP/IP的B类网段169.254.0.0/16中挑选一个IP地址作为自己的临时IP地址,继续每隔5分钟尝试与DHCP服务器进行通讯,一旦与DHCP服务器取得联系,则客户机放弃自动配置的临时IP地址,而使用DHCP服务器分配的IP地址。
DHCP客户机收到DHCP服务器回应的ACK报文后,通过地址冲突检测 (arp)发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送DECLINE报文,通知服务器所分配的IP地址不用。

参考答案:
DHCP租约简要过程分为4步:
        客户机请求IP(客户机发DHCPDISCOVER广播包)
        服务器响应(服务器发DHCPOFFER广播包)
        客户机选择IP(客户机发DHCPREQUEST广播包)
        服务器确定租约(服务器发DHCPACK/DHCPNAK广播包)

2.简单描述FTP的主动模式和被动模式的区别?

FTP(File Transfer Protocol,文件传输协议)是一种基于TCP的协议,主要用于在客户端和服务器之间传输文件。FTP协议支持两种工作模式:主动模式(PORT模式)和被动模式(PASV模式)。以下是这两种模式的简单描述及区别:

主动模式(PORT模式)

工作原理

  • 客户端随机开启一个大于1024的端口N,向服务器的21号端口(命令端口)发起连接,发送FTP用户名和密码进行登录。
  • 登录成功后,客户端会开放另一个端口N+1进行监听,并向服务器发出PORT N+1命令,告诉服务器客户端采用主动模式并开放了端口N+1。
  • 服务器收到PORT命令后,会从其本地的数据端口(通常是20号端口)主动连接到客户端指定的端口N+1,进行数据传输。

特点

  • 数据传输的主动权在服务器一方。
  • 客户端需要开放端口给服务器,这在很多情况下(尤其是客户端位于防火墙内时)可能会遇到困难。
  • 服务器需要开启21端口的“准入”和20端口的“准出”。

被动模式(PASV模式)

工作原理

  • 客户端同样随机开启一个大于1024的端口N,向服务器的21号端口发起连接,发送FTP用户名和密码进行登录。
  • 登录成功后,客户端向服务器发送PASV命令,通知服务器采用被动模式。
  • 服务器收到PASV命令后,会在本地随机开放一个大于1024的端口P进行监听,并通过PORT命令将P端口号告知客户端。
  • 客户端收到端口号后,通过其开放的端口N+1连接到服务器的端口P,建立数据连接进行数据传输。

特点

  • 数据传输的主动权在客户端一方。
  • 客户端不需要开放任何端口给服务器,只需等待服务器告知数据端口号后主动连接即可。
  • 服务器需要开放一个随机端口给客户端连接,这个端口号范围通常是可以设置的,以避免与防火墙冲突。

区别总结

主动模式(PORT模式)被动模式(PASV模式)
数据传输主动权服务器客户端
客户端端口状态需要开放端口给服务器无需开放端口,只需等待连接
服务器端口状态使用固定数据端口(通常是20号端口)主动连接客户端随机开放端口等待客户端连接
防火墙配置客户端可能需要配置防火墙以允许服务器连接服务器可能需要配置防火墙以允许客户端连接随机端口
应用场景适用于客户端防火墙配置灵活,允许外部连接的情况适用于客户端位于防火墙内,难以开放端口给外部连接的情况

在实际应用中,由于大多数客户端都位于防火墙或NAT(网络地址转换)之后,被动模式因其灵活性而更受欢迎。然而,在选择使用哪种模式时,还需要考虑服务器和客户端的具体网络环境及防火墙配置。

3.集群环境中,如何保证所有服务器之间的时间误差较小?

在集群环境中,保证所有服务器之间的时间误差较小是至关重要的,因为这直接影响到集群中各项操作的协调性和数据的准确性。以下是几种实现这一目标的方法:

1. 使用网络时间协议(NTP)

NTP(Network Time Protocol)是一种广泛使用的网络时间同步协议,通过它可以实现计算机时间的精确同步。

  • 选择NTP服务器:选择一个或多个高精度和高可靠性的NTP服务器作为时间源。这些服务器可以是公共NTP服务器,如pool.ntp.org,或者是由专门机构(如国家授时中心)提供的时间服务器。
  • 配置NTP客户端:在集群中的每台服务器上安装NTP客户端,并配置它们连接到选定的NTP服务器。NTP客户端会定期从服务器获取时间信息,并调整本地系统时间,以保持与服务器时间的同步。
  • 监控与调整:定期检查NTP同步状态,确保所有服务器都与NTP服务器保持同步。如果发现同步问题,及时进行调整。

2. 使用外部时钟源

如果集群中的服务器无法接入互联网,或者对时间同步的精度要求极高,可以考虑使用外部时钟源,如GPS设备或原子钟。

  • 连接外部时钟源:将GPS设备或原子钟连接到集群中的一台或多台服务器上。这些设备可以提供非常准确的时间信号。
  • 同步时间:通过软件或协议将服务器与外部时钟源进行连接,并同步时间。这样,即使在没有互联网连接的情况下,服务器也能保持时间的一致性。

3. 定期检查和维护

  • 硬件检查:定期检查服务器中的时钟芯片和电池是否正常工作。如果发现故障或老化现象,及时更换硬件。
  • 软件更新:保持操作系统和NTP客户端软件的更新,以修复已知的时钟问题和漏洞。
  • 时区设置:确保集群中所有服务器的时区设置一致,避免因时区不一致导致的时间误差。

4. 使用时间同步软件

除了NTP之外,还有一些专门的时间同步软件可以用于集群环境。这些软件通常提供了更丰富的功能和更灵活的配置选项。

  • 选择适合的软件:根据集群的具体需求和操作系统环境,选择适合的时间同步软件。
  • 配置和部署:在集群中部署时间同步软件,并按照软件文档进行配置。确保所有服务器都能正确连接到时间同步服务。

5. 考虑网络延迟和单点故障

  • 优化网络:使用高速网络设备和低延迟的网络连接,以减少时间同步过程中的网络延迟。
  • 备份时间服务器:配置多个NTP服务器作为备份,以减少单点故障对时间同步的影响。当主NTP服务器不可用时,客户端可以自动切换到备份服务器进行时间同步。

6. 同步频率和策略

  • 配置同步频率:根据集群的具体需求和网络环境,配置合适的时间同步频率。一般情况下,保持较小的时间间隔进行同步可以更精确地保持服务器时间的一致性。
  • 设置时间漂移修正:由于硬件或操作系统的影响,服务器时钟可能会出现时间漂移。在同步过程中设置时间漂移修正策略可以纠正这种偏差。

综上所述,通过综合运用NTP协议、外部时钟源、定期检查和维护、时间同步软件以及考虑网络延迟和单点故障等因素,可以有效地保证集群环境中所有服务器之间的时间误差较小。

三、Linux网络服务-DNS服务

 1.请描述用户访问网站时DNS的解析过程

参考答案
客户机首先查看本地hosts文件是否有解析记录,有则直接用来访问web server
没有则向网卡中记录的首选DNS (本地DNS) 发起查询请求
本地DNS若有记录则返回给客户端,客户端接收到后直接访问web server
若没有,则本地DNS向根域服务器发起请求,请求解析对应顶级域的IP地址
本地DNS得到顶级域服务器IP后,再向顶级域服务器发起请求,请求解析权威DNS
服务器的IP地址
本地DNS服务器获取到权威DNS服务器IP地址后,再向其查询具体的完整域名的对
应解析记录
最终本地DNS将查询到的对应域名的解析记录发送给客户端,并在本地记录一份

2.解释权威DNS和递归DNS的含义,并描述智能DNS的实现原理

参考答案
权威DNS是经上一级授权对域名进行解析的DNS服务器,同时它可以把解析授权转授给其他服务器
递归DNS负责接受用户对任何域名的查询,并返回结果给用户,它可以缓存结果避免用户再向上查询

智能DNS就是将对用户发起的查询进行判断出是哪个运营商的用户查询,然后将请求转发给相应的运营商IP处理,减少跨运营访问的时间,提高访问速度。

四、Linux网络服务-Apache配置

1.公司里有一台服务器,需要在上面跑两个网站,并且其中一个网站需要更换新域名,请问如何处理?
网站1: www.a.com
网站2:www.b.com(旧)               www.d.com(新)

考查虚拟主机、rewrite地址重写

虚拟主机:
基于IP的虚拟主机:

基于IP的虚拟主机是一种在共享服务器上托管多个网站的网络托管服务。每个虚拟主机都有一个独立的IP地址,这使得每个虚拟主机在网络上具有独立的身份。基于IP的虚拟主机可以通过将不同的域名与不同的IP地址关联来实现多个网站的托管。

基于IP的虚拟主机的工作原理是通过使用虚拟化技术将一台物理服务器分割成多个虚拟环境。每个虚拟环境都有自己的操作系统、文件系统和网络配置。通过使用专门的软件,每个虚拟主机可以独立地管理和运行其分配的资源,包括处理器、内存和存储空间

基于IP+端口的虚拟主机:

基于IP+端口的虚拟主机是一种虚拟化技术,它允许在单个物理服务器上运行多个虚拟主机。每个虚拟主机通过不同的IP地址和端口号来区分,从而实现独立的运行环境。

在这种虚拟主机环境下,每个虚拟主机都有自己独立的操作系统、应用程序和数据库。这样可以将多个网站或应用程序分别部署在不同的虚拟主机上,实现隔离和资源的有效利用。

基于域名的虚拟主机:

基于域名的虚拟主机是一种共享服务器资源的托管服务,它允许多个不同域名的网站共享同一台服务器的硬件和软件资源。每个域名都被分配一个独立的虚拟主机空间,可以独立管理自己的网站内容、数据库和邮件服务等。

rewrite地址重写:

2.简述Apache的三种工作模式?

Apache服务器有三种工作模式:prefork、worker和event。

  1. Prefork模式:这是Apache最常用的工作模式。在这种模式下,Apache会在启动时创建多个独立的进程(也称为子进程),每个进程都有自己的内存空间,可以独立处理客户端的请求。每个进程都会预先分配一部分内存用于接受和处理连接请求。每个连接会由一个独立的进程处理,这个进程会处理完整个请求后再释放资源。这种模式的好处是每个进程都是独立的,不受其他进程的影响,但同时也会占用较多的内存和系统资源。

  2. Worker模式:这种模式是通过多线程实现的。在启动时,Apache会创建一些子进程,每个子进程会创建多个线程,每个线程都可以处理一个客户端的请求。不同于prefork模式,worker模式中的线程是共享内存空间的。这样可以减少内存的消耗并提高服务器的性能。同时,线程之间的切换比进程之间的切换要快,可以更高效地处理请求。

  3. Event模式:这是一种更高级的工作模式,结合了prefork和worker的优点。在event模式下,Apache同样会创建一些子进程,每个子进程中会创建多个线程。与worker模式不同的是,event模式中的进程不会一直等待连接,而是通过事件驱动的方式来处理请求。当有一个新的请求到达时,会触发一个事件,然后由合适的线程来处理。这样可以更高效地利用系统资源,并提高服务器的吞吐量。event模式需要操作系统支持epoll(Linux)、kqueue(BSD)或者IOCP(Windows)等高级事件通知机制。

  4. 查看Apache的三种工作模式的方式:
    # httpd -V | grep -i "server mpm"
    指定方式:
    在编译时,在选项中指定模式,--with-mpm=xxx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1963770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

配置静态IP,解决在虚拟机装Linux没有网络的问题

配置静态IP,解决在虚拟机装Linux没有网络的问题 问题 VMware中的虚拟机有时会随着外部宿主机的IP变化而变化,导致使用起来很麻烦。最直接的就是XShell连接不上,其次就是项目中的配置文件中写了关于虚拟机的ip地址,比如redis mys…

编程小白如何成为大神?大学新生的最佳入门攻略

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

【视频讲解】Python用LSTM、Wavenet神经网络、LightGBM预测股价

原文链接:https://tecdat.cn/?p37184 原文出处:拓端数据部落公众号 分析师:Yuyan Ye 在金融科技的浪潮中,量化投资方法以其数据驱动和模型导向的特性,日益成为资本市场分析的重要工具。 特别是,长短期…

2024最全的软件测试面试八股文【附答案+文档】

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 前言 最近有很多粉丝问我,有什么方法能够快速提升自己,通过阿里、腾讯、字节跳动、京东等互联网大厂的面试,我觉得短时间提升…

美容院会员管理系统|美业收银系统源码-已注册的客户,如何异店添加?

情景举例说明: 客户“张三”在A店已注册、消费,然后又到B店去消费。如何通过APP端和PAD端添加客户? ▶▶▶ • 在“客户管理”或“收银台”添加客户区域 • 搜索客户注册手机的完整手机号找到该客户 • 将其添加到本店即可

JavaScript 和 HTML5 Canvas实现图像绘制与处理

前言 JavaScript 和 HTML5 的 canvas 元素提供了强大的图形和图像处理功能,使得开发者能够在网页上创建动态和交互式的视觉体验。这里我们将探讨如何使用 canvas 和 JavaScript 来处理图像加载,并在其上进行图像绘制。我们将实现一个简单的示例&#xf…

揭秘住宅IP代理:原理、用途以及应用分析

在大数据时代,互联网成为我们生活与工作中不可或缺的一部分。然而,随着网络环境的日益复杂,隐私保护、网络访问限制等问题也逐渐凸显;以及跨境业务蓬勃发展。在这样的背景下,住宅IP代理作为一种技术解决方案&#xff0…

6、指针

6 指针 6.1 指针的本质(间接访问的原理) 指针:变量的地址 指针变量:用一个变量来存放另一个变量的地址,该变量即为指针变量 指针变量占内存大小,32位程序占4字节,64位占8字节 取地址操作符、取…

数据结构_study(三)

栈 先进后出,LIFO(last in first out),只能在表尾做插入删除操作的线性表 栈顶:允许插入和删除的一端 栈底:最先进栈 空栈:没有数据元素 压栈、入栈:插入操作 弹栈、出栈&#xf…

ubuntu20复现NBV探索

官网代码 后退地平线下一个最佳景观规划师 这个代码有些久远,issue里面有人已经在ubuntu20里面使用了3dmr,但是他那个代码我也运行不成功,docker网络一直也不佳,所以还是自己重新修改源码靠谱。 最终实现的代码等有时间上传到gi…

Day26 | 贪心算法 134. 加油站 135. 分发糖果 860.柠檬水找零 406.根据身高重建队列

语言 Java 134. 加油站 题目链接:加油站 题目 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发…

【每日一题】【map和set】RC-v7 熊猫血 C++

2024 睿抗机器人开发者大赛CAIP-编程技能赛-高职组(省赛) RC-v7 熊猫血 题目描述 在“一年一度喜剧大赛”上有一部作品《少爷和我》,讲的是霸道管家龙傲天和憨厚少爷刘波的故事。管家有着霸总文学主人公所有的毛病,包括会咳出熊…

服务运营 | NRL:疫苗供应链优化建模:综述与未来机遇(上)

编者按: 本次推文将解读近期发表在Naval Research Logistics中的Optimization modeling for pandemic vaccine supply chain management: A review and future research opportunities一文。这篇文章总结与反思了大流行时期的疫苗供应链管理,具体包括疫…

C#基于SkiaSharp实现印章管理(5)

印章中最常见的特殊形状通常是五角星,空心、实心的都可能存在,本文学习并实现在印章内部绘制五角星形状。   百度五角星的绘制方法,主要分为三种:   1)五角星各点坐标固定,直接调用编程语言的绘制线条或…

线性结构、线性表、顺序表、链表、头插法、尾插法、中间插入或删除一个节点

梳理几个名词: 逻辑地址:就是说是第几个元素。 物理地址:也就是存储地址,在计算机里具体存放的位置。 线性表的存储结构分为: (1)顺序存储结构:将数据依次存储在连续的整块物理空…

综合项目部署——eleme前端部署(eighteen day)

显示没有空格没有注释的内容: [rootstatic-server ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf 1、多虚拟主机的配置 [rootstatic-server ~]# vim /usr/local/nginx/conf/nginx.conf [rootstatic-server ~]# /usr/local/nginx/sbin/nginx #启…

如何破解绩效管理的难题?

绩效管理的核心问题 💼 在现代企业运营中,绩效管理一直被视为提升工作效率和实现公司战略目标的重要手段。然而,实际操作中,我们经常会遇到一系列棘手的问题,这些问题不仅影响了绩效管理的有效性,还常常让…

winform程序中拷贝文件夹最快速方法

1、先将一个项目的文件夹拷贝到另一个项目的目录下 下图将ParameterSetting文件夹拷贝到Datalib文件夹下 2、直接复制该文件,然后到vs界面去粘贴 复制ParameterSetting文件夹,然后在Datalib项目这里鼠标右键单击,然后点击“粘贴”&#xff0…

机器学习(五) -- 无监督学习(2) --降维2

系列文章目录及链接 上篇:机器学习(五) -- 无监督学习(2) --降维1 下篇: 前言 tips:标题前有“***”的内容为补充内容,是给好奇心重的宝宝看的,可自行跳过。文章内容被…

《动手做科研》06. 如何产生新的研究想法

地址链接:《动手做科研》06. 如何产生新的研究想法 欢迎加入我的知识星球,定期分享AI论文干货知识! 导读: 提出好的研究想法是相当困难的,特别是当你刚接触一个领域时——这需要对文献中的空白有所了解。然而,产生研究想法的过程可…