Linux运维面试题(四)之Linux服务管理

  • 网络服务分为:经验类;服务优化类;程序优化;架构优化。

4.1 SSH

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

SSH的登录验证方式

  • 口令登陆,密钥对登陆

SSH的登陆端口(默认22)和监听设置(/etc/ssh/sshd_config)

  • 在这里插入图片描述
  • (生产中绝大部分,防止敌手通过暴力破解登陆服务器)
    在这里插入图片描述
  • 质疑码
  • 在这里插入图片描述
  • 修改为上万的端口;只允许内网的远程登录,而不允许公网的。

SSH的登录用户限制(/etc/ssh/sshd_config PermitRootLogin)

在这里插入图片描述

  • 普通用户对服务器的权限是有限的。
  • 默认是允许,改为no。
  • 在这里插入图片描述

SSH的登录超时设置(/etc/profile export TMOUT=300 设置客户端无操作5分钟 unset TMOUT)

  • 在这里插入图片描述

SSH登录失败尝试次数(/etc/ssh/sshd_config MaxAuthTries 6)

  • 在这里插入图片描述

答案

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

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

  • 在这里插入图片描述
    /etc/ssh/sshd_config UseDns no
    取消ssh登录时的dns反向解析请求功能

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

  • scp借助ssh服务进行操作
    在这里插入图片描述

4.2DHCP+FTP

  • (1)请简述通过DHCP服务器获取IP地址的过程
    在这里插入图片描述
  • 实现搭建服务和资源池。位于局域网内的服务。
  • /etc/dhcp/dhcpd.conf在这里插入图片描述
  • 资源池范围,DNS地址,网关地址。
    在这里插入图片描述

DHCP租约过程

  • 首先,客户端无IP,而是进行广播(自身MAC地址);
  • 是DHCP的服务器响应,找合理可用的IP地址将OFFER包发送出去,再次在局域网内进行广播(通过指定MAC地址);
  • 广播回复Request包,声明服务器,告知其要用资源。
  • 服务器回复ACK、NAK(资源已分配)、NACK。

DCHP续租

-在这里插入图片描述

  • 直连而不是广播
    租约是广播,续租是直连

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

  • 答:
    1.客户机请求IP(客户机发DHCPDISCOVER广播包)
    2.服务器响应(服务器发DHCPOFFER广播包)
    3.客户机选择IP(客户机发DHCPEQUEST广播包)
    4.服务器确定租约(服务器发DHCPACK/DHCPNAK广播包)

FTP的主被动模式

  • 在这里插入图片描述

主动模式

  • 在这里插入图片描述
  • 先建立登陆请求,再建立数据传输请求。
  • 21一直监听,20默认关闭(只有数据传输时才开启)

被动模式

  • 在这里插入图片描述
  • 只有指定的服务器才知道该开放端口是多少。(客户端给每个服务器建立的端口不一样)

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

  • 手动测试同步:
    ntpdate 时间服务器IP地址
  • 自动同步:
    可以将命令写入计划任务

4.3DNS服务(域名解析服务)

域名

  • 在这里插入图片描述
  • 二级域(又称注册域)
  • 三级域(二级域的子域)
  • 在这里插入图片描述
  • 个人电脑并不知道网站的IP

DNS原理及解析流程

  • 1、/etc/hosts 用来做解析 保存即生效
    在这里插入图片描述
  • 只有IPV4和IPV6的地址。
  • 在这里插入图片描述
    ping通来验证。
  • 2、网卡配置文件 /etc/sysconfig/network-script/ifcfg-eth0
  • 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负责接受用户对任何域名的查询,并返回结果给用户,它可以缓存结果避免用户再向上查询
  • (3)智能DNS
    将对用户发起的查询进行判断出是哪个运营商的用户查询,然后将请求转发给相应的运营商IP处理,减少跨运营商访问的时间,提高访问速度。

4.4Apache配置及优化

问题

  • 公司里有一台服务器,需要在上面跑两个网站(虚拟主机的功能),并且其中一个网站需要更换新域名(生产环境中,新旧域名同时用,旧域名向新域名跳转),请问如何处理?
    网站1:www.a.com
    网站2:www.b.com > www.d.com
  • 在这里插入图片描述

考查知识点1——虚拟主机:解决同一主机部署多个服务器(网站)

  • 基于IP的虚拟主机
    基于IP+端口的虚拟主机
    基于域名的虚拟主机
  • 1、用IP区分网站
    ifconfig eth0:0 设置网卡子接口 临时生效;永久:扩展插头/虚拟机 新增网卡接口+配置文件
    httpd.conf:
  • 临时生效,重启后不存在
    在这里插入图片描述
  • 关机并添加网卡,添加配置文件
    在这里插入图片描述
  • 域名配置文件
    在这里插入图片描述
  • 安装apache软件,修改配置文件
    在这里插入图片描述
  • 备份
    在这里插入图片描述
  • 拷贝,删除日志和管理员信息
  • 在标签的标签里面去声明IP,作为两个网站的IP
    在这里插入图片描述
    在这里插入图片描述
  • 为网站创建目录和文件
    在这里插入图片描述
    在这里插入图片描述
    重启服务
    在这里插入图片描述
  • 测试访问
    在这里插入图片描述
  • 2、用端口区分网站
    httpd.conf LISTEN要监听新增的端口
  • 解析成相同IP
    在这里插入图片描述
  • 重启网卡服务,取消21端口IP地址
    在这里插入图片描述
  • 使apache既监听80又监听8080(同时修改设置)
    在这里插入图片描述
    在这里插入图片描述
  • 重启服务
    在这里插入图片描述
  • 3、数据包的关键词
  • 拆分数据包
    在这里插入图片描述
  • b和d新旧域名跳转
  • host1
    在这里插入图片描述
  • apache
  • b和d网页目录一样
    在这里插入图片描述
  • 开启基于域名的开关,否则可能出现报错
    在这里插入图片描述
    -跳转规则:.*任意内容,当有用户访问b则跳转到d
    在这里插入图片描述

考查知识点2——地址重写

在这里插入图片描述
在这里插入图片描述

  • apache将所有功能模块化
    httpd.conf :
    NameVirtualHost *:80 开关

apache的工作模式

  • 1、prefork模式:事先开启子进程,单进程单线程处理单个请求
  • 成熟稳定
    在这里插入图片描述
    2、worker模式:一对多线程,并发能力强点,但不安全(线程安全问题)
  • 在这里插入图片描述
    3、event模式:+分配管理线程 更擅长高并发
  • 查看工作模式:httpd -V | grep -i “server mpm”
  • 在这里插入图片描述
  • 线程频繁与客户端建立连接,额外消耗系统资源
  • 不需要建立新的三次握手,直接发送页面。——》处理更多用户的请求。
  • 有部分线程处理完了但是在等待,出现新问题
    在这里插入图片描述
  • 在这里插入图片描述
  • 管理用户和线程的连接(新增管理线程的模式)
  • 在这里插入图片描述

Apache优化

请写出工作中常见的Apache优化策略

  • Apache服务器的安全、效率
  • (1)日志的轮替(防止日志过大)
    access.log(访问日志)/error.log(报错信息)(/var/log)
    利用apache自带的rotatelogs工具进行日志切割,保证单个日志文件不过大
  • 分割日志文件名,用年月日命名保存
  • CustomLog “| /bin/rotatelogs -l /wwwlogs/access_%Y%m%d.log 86400” combined
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 将apache日志保存到指定位置
    在这里插入图片描述
  • 对应秒数24小时,保留当天
    在这里插入图片描述
  • (2)美化错误页面
    可以将404 500等错误信息页面重定向到网站首页或其他页面,提升用户体验。
    vim httpd.conf
    ErrorDocument 404 http://www.a.com
    在这里插入图片描述
  • (3)屏蔽apache版本等敏感信息
    在这里插入图片描述
  • 修改版本信息,以免版本对应漏洞
  • (4)配置静态缓存(特定文件,减少服务器的访问压力)
    在这里插入图片描述
  • 缓存周期可以人为修改和调整
  • (5)禁止解析PHP
  • 如:uploads目录 上传了非法代码 禁止它的解析
    在这里插入图片描述
  • 最后一条,禁止php解析该目录,利用上传漏洞上传但仍无法解析与提权。
    在这里插入图片描述

有哪些技术可以提高网站的安全和效率?

CDN内容分发网络

在这里插入图片描述

  • 所有的客户请求都扔给了当地的CDN机房,资源同步的大规模缓存,减轻压力,且保护了真正的服务器(身份)
  • 中间:CDN服务器集合
  • 服务器把相对变化频率较低如图片,通过Control Server分发到各个城市的网站服务器上。各个城市对网站访问时,首先会通过自身途径找到DNS服务器或者自己的Hosts文件找到对应服务器的域名解析答案,智能DNS首先把用户请求解析到另一个DNS服务器上,交由另一个DNS服务器来进行二次处理。
  • 新DNS(CDN内部的DNS)将深圳用户请求解析成深圳DNS(机房IP)
    在这里插入图片描述
  • 保证不同城市的用户访问的网络资源都是就近从自己本地城市的CDN机房里拿到的资源,而不是直接找的web服务器取到的资源。
  • 不同城市访问同一个网络资源时都很快,在各个城市部署了CDN,CDN资源都是一样的。
  • 提高效率和用户体验度。保护服务器,即使受到攻击也是CDN机房,不是web服务器。

4.5Nginx配置和进阶

Apache和nginx(web服务器)的优缺点,怎么选择?

apache的优缺点

优点:
Apache的rewrite功能比nginx的要强大
模块非常多,基本想要的功能都能找到模块
存在时间较长,文献较全,bug也相对较少
动静态解析都超稳定(静态解析:html+css,动态解析:解析需要连接数据库的页面:PHP-》sql)
缺点:
由于工作模式是同步阻塞型,导致资源消耗较高,并发能力较差(相较于其他web服务器)

Nginx(高性能、轻量级、反向代理服务器)的优缺点:

优点:
轻量级服务,比Apache占用更少的内存及资源
并发能力强,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗(远高)高性能
高度模块化的设计,编写模块相对简单
社区活跃,各种高性能模块产出迅速
缺点:
动态处理上需要使用fastcgi连接PHP的FPM服务,相比Apache不占优势

apache和nginx的选择

nginx适合做静态处理,简单,效率高
apache适合做动态处理,稳定,功能强
并发较高的情况下优先选择nginx,并发要求不高的时候两者都可以,规模稍大的可以使用nginx作为反向代理,然后将动态请求 负载均衡到后端apache上

nginx处理过程

  • 接受动态请求时,交付给fastcgi
    在这里插入图片描述

nginx反向代理和负载均衡

在这里插入图片描述

  • 当用户量非常大,既有静态又有动态请求的时候,让Nginx充当所有用户的请求服务器(提供一个80端口),动态请求是不会做请求处理的,而是通过自身的反向代理模块代理到后端的Apache服务器。如轮询算法:来一个分一个。
  • 并发性高,页面处理效率和稳定性也很强。

为什么nginx的并发能力强,资源消耗低?

  • 同步/异步 + 阻塞/非阻塞 nginx以异步非阻塞方式工作
    客户端发送request,服务器分配work进程来处理
    能立即处理完的,处理后work进程释放资源,进行下一个request的处理
    不能立即处理完的work进程注册返回事件,然后接着去处理其他request
    当之前的request结束返回后,触发返回事件,由空闲work进程接着
    通过这种快速处理,快速释放请求的方式,达到同样的配置可以处理更大并发量的目的

同步与异步

  • 在这里插入图片描述

阻塞和非阻塞

  • 在这里插入图片描述
  • 同步阻塞,当Apache工作之后,有用户请求过来,Apache会分配一个线程处理请求,Apache会等待请求处理完毕,才会断开连接请求。用户请求等待,进程什么都不干。
    在这里插入图片描述
  • 异步非阻塞,nginx:有用户请求发送过来时,nginx发送一个线程来处理,如果该线程需要等待,则nginx这个线程会临时将事务挂起,接收新用户请求。

Nginx常用模块及功能

  • 在这里插入图片描述
  • https:443,http:80(默认);要求用户rewrite。nginx虚拟主机
    在这里插入图片描述
  • 图片裁剪模块
    在这里插入图片描述
  • 地址重写模块
    在这里插入图片描述
  • 反向代理功能
    在这里插入图片描述
  • 默认开启,需要编写规则
  • 借助另外的模块对后台服务器进行任务的分配和管理
    在这里插入图片描述
  • RR算法,轮询算法
  • php环境下高并发、java环境下
    在这里插入图片描述
  • LAMP
    在这里插入图片描述
  • Apache和php模块直连
  • 而LNMP,动态请求时
    在这里插入图片描述
  • 静态无区别,中间。
  • L(N)TMJ:nginx并发能力强。动态找Tomcat,静态不找。
    在这里插入图片描述
  • 重要的是nginx做反向代理。
  • 这里既可以是一堆Apache服务器,也可以是一堆tomcat服务器。
    在这里插入图片描述

Nginx如何连接PHP进行页面解析的

  • php无服务,是一个解析翻译器,被调用。(默认不安装)中间连接点——连接端、接口——9000;

在这里插入图片描述

  • CGI(Common Gateway Interface)公共网关接口,是外部扩展应用程序与 Web 服务器交互的一个标准接口。服务器端与客户端进行交互的常见方式多,CGI 技术就是其中之一。根据CGI标准,编写外部扩展应用程序,可以对客户端浏览器输入的数据进行处理,完成客户端与服务器的交互操作。
    FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要 行为是将CGI解释器进程保持在内存中并因此获得较高的性能。

Nginx和Tomcat之间的数据传输过程

在这里插入图片描述

  • 由nginx代为处理静态页面请求,直接返回。动态请求由nginx代理到tomcat(两个负载均衡),处理后返回用户。

4.6http状态码

1**:信息,服务器收到请求,需要请求者继续执行操作
2**:成功,操作被成功接收并处理
3**:重定向,需要进一步的操作已完成请求
4**:客户端错误,请求包含语法错误或无法完成请求
5**:服务器错误,服务器在处理请求的过程中发生了错误

  • 在这里插入图片描述
  • 1.2.3客户端看不到,服务器端日志。
  • 在这里插入图片描述
    http1.0->http2.0
  • 在这里插入图片描述
  • 203副本信息、204网页无更新、205用户重置展现新页面——页面更新、206用户处理资源只有某些成功。
  • 在这里插入图片描述
  • 301用于选择用户客户端浏览器、R=301永久重定向、302临时替换、303与上面不一样、304用户请求到的是缓存信息而不是服务器上的资源、305用户被迫使用代理、307和302类似
  • 在这里插入图片描述
  • 400请求的url地址错误或者内容错误、401提示客户端身份认证才能对对应资源进行访问、402暂停对应信息、403(特别常见)服务器理解请求但拒绝解析、404服务器找不到对应资源、405请求方法被禁用(POST、GET)、406服务器无法对客户端不合理的请求进行处理、407请求代理服务器进行授权或身份认证
  • 在这里插入图片描述
  • 相对常见的状态码
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值