选择题10*2分,填空题10*2分,判断题10*1分,简答题4*5分,程序设计6 6 8 10
1.云计算是什么 定义和本质
- 定义:是一种按量付费的服务
- 本质:通过云的方式提供算力
2.Linux发行版:(shell核、图形化界面、第三方库等构成)
rhel8/centos/ubuntu/fredora
3.rhel8/centos区别,rhel8/7新特征
1. 区别:
1. Rhel8需付费,centos免费
2. Rhle8闭源,centos开源
3. Rhle8提供商业的问题解决方案,centos不提供,所以对技术人员的要求高
4. Centos是基于rhle的开放源代码所编译的,所以它们之间使用着相同的源代码,但centos的发行版通常会修改rhel中所存在的一些bug,并提供一个yum源以便用户更新操作系统
2. Rhel8的新特征:
1. rhel8和rhel7都采用了XFS作为默认的文件系统,但rhle8的XFS有着极大的增强,单个文件系统的最大容量从500TB增加为1024TB
2. Rhel8采用的内核版本为:4.18.0-x,Rhel7:3.10.0-x
3. Rhel8最大支持内存为24TB,64位架构,rhel7只支持12TB
4. rhel8改进了OpenSSH:
不再支持SSH version 1.
默认不开启DNS支持.
最小可接受RSA密钥大小设置为1024位.
移除 'Blowfish', 'CAST', 'RC4' ciphers.
默认关闭DSA 公钥算法.
5. 网络管理工具Ifconfig在rhel8中被弃用,提供了新版本的ifup和ifdown命令
4. 网络模式:桥接、nat、主机(区别)
桥接模式(bridgedbriged):VMnet0: 在桥接模式下,会且仅虚拟出一台虚拟交换VMnet0,通过虚拟网桥将主机网卡和虚拟交换机VMnet0连接到一起,虚拟机的虚拟网卡也和虚拟交换机连接在一起,所以桥接模式的虚拟机IP地址必须和主机在同一网段内且子网掩码、网关、DNS也要与主机保持一致。
以上可以看出,host的ip为192.168.1.238,ubuntu的ip为192.168.1.140,处于同一网段下。
此时,虚拟机可以连接外网,可以和同网段的其他真实物理主机之间相互访问呢,可以和相同模式的虚拟机之间相互访问。此模式用于ip地址资源比较充足的情况。
NAT模式:在nat模式下,会虚拟出一块虚拟交换机VMnet8、虚拟NAT设备,虚拟DHCP服务器、虚拟网卡VMware Network Adepter VMnet8(在主机上),在NAT模式中,host网卡直接和NAT设备相连,然后NAT设备和虚拟DHCP一起连接在虚拟交换机VMnet8上,虚拟机通过NAT设备进行地址转换和DHCP服务器分配得到IP地址,从而通过host网卡实现连接外网,而虚拟网卡仅是为了实现虚拟机和host主机之间的通信只是一个接口,在接入外网时其不是必须的。
此时,虚拟机可以连接外网(NAT实现),可以和相同模式的虚拟机之间相互访问(同一交换机下),但不可以和同网段的其他真实物理主机之间相互访问(不同子网,且没有第三层路由器)。此模式用于ip地址资源比较稀缺的情况。
主机模式(Host-Only):主机模式可以看成NAT模式去除了虚拟NAT设备,然后使用VMware Network Adepter VMnet1虚拟网卡连接虚拟交换机VMnet1与其通信,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机互相通信。
- 因为仅主机模式的隔离,虚拟机无法与外网和其他物理主机进行通信。但主机可以ping通虚拟机。
- 此时,虚拟机不可以连接外网(无NAT),不可以和同网段的其他真实物理主机之间相互访问(不同子网,且没有第三层路由器),可以和相同模式的虚拟机之间相互访问(同一交换机下)。此模式用于i构建网络隔离环境
5.分区:挂载点(根路径引导分区、交换分区)
分区类型:
1. 主分区:最多只能有四个。
2. 扩展分区:每块硬盘最多只能有一个;主分区加扩展分区最多有四个;不能写入数据,不能格式化,只能包含逻辑分区。
3. 逻辑分区:为什么除了主分区之外,还要增加扩展分区和逻辑分区呢?本质上是因为,如果只有主分区的话,那么MBR最多只能分四个区,如果我们需要更多分区的话,就需要进行改进。扩展分区以及逻辑分区的组合即可以实现增加分区的效果,虽然扩展分区加主分区最多只能有四个,但是扩展分区内部可以分成若干个逻辑分区,这就实现了超过四个的分区数量。
6. 用哪些已经存在的空目录作为挂载点?
首先,有三个必须存在的分区:
1)/:根分区。根分区是Linux的最高级别的目录,如果未分配根分区,就无法存储数据。
2)swap:交换分区。可以将其与虚拟内存进行类比,即当真实内存不够时,使用这部分分区来顶替内存,提升计算机性能。此分区是给内核使用的,普通用户是无法向其写入数据的。分配swap分区时:如果真实内存小于4GB,swap为内存的两倍;如果真实内存大于4GB,swap应和内存一致;实验环境(无客户端访问,服务器压力很小的情况),swap应不大于2GB。
3)/boot:启动分区。如果没有增加/boot分区的话,系统有可能出现开不开机的情况。首先明确,系统在启动时需要释放一部分文件,占用几十兆的空间才能启动成功。当系统只有/和swap两个分区的话,系统写入数据时会只向/分区内写入数据,当/分区写满数据时,由于系统在启动时无法释放文件,因此就会出现无法开机的情况。因此,一定需要增加/boot分区。
其次,根据服务器的不同需求,可以增加不同的分区:
1)/home:用于文件服务器。
2)/www:用于Web服务器。
理论上,所有的空目录,包括新建的目录都可以作为挂载点。但是/bin、/etc、/lib等目录不能作为挂载点。
7. 网络配置-方式:
1. 直接修改网卡配置文件
cd /etc/sysconfig/network-scripts
vim ifcfg-eth5
//设置网络配置方式. 静态:static, 自动:dhcp
BOOTPROTO=static
ONBOOT=yes //设置开机激活此网卡
IPADDR=192.168.xxx.xxx //设置自己的IP地址
PREFIX=24 //子网掩码
//其他配置按需配置
2. nmtui命令工具
[root@localhost 桌面]# nmtui
3. nm-connection-editor命令工具
[root@localhost 桌面] # nm-connection-editor
4. 终端nmcli命令
[root@localhost 桌面]# nmcli connection add con-name stati(连接名) type ethernet ifname eno16777736(网卡)
[root@localhost 桌面]# nmcli connection modify stati ipv4.addresses "192.168.1.1/24 192.168.1.254"(IP/子网掩码网关)
[root@localhost 桌面]# nmcli connection modify stati ipv4.dns 192.168.1.1(DNS)
8. Nmcli:添加/编辑/删除/启用
1. 添加:nmcli connection add con-name <网络接口名称> type <接口类型> ifname <网卡名称>
2. 编辑:nmcli connection modify <网络接口名称> [选项] [参数]
3. 删除:nmcli connection delete
4. 启用:nmcli connection up ifname<网卡名称>
9. DHCP:定义/工作原理(动态主机配置协议 )
DHCP的定义:位于应用层,DHCP( 动态主机配置协议)是一个使用UDP(User Datagram Protocol,用户数据报协议)协议工作的一个局域网的网络协议,指的是由服务器控制一段 IP 地址范围,客户机登录服务器时可以自动获取服务器分配的 IP 地址和子网掩码,即给客户端网络快速自动地分配IP地址的协议。
工作原理:
1、客户机请求IP地
当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过 DHCP获取一个合法的地址,此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器
2、服务器响应
DHCP服务器接收到来自客户机请求lP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机,如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息
3、客户机选择IP地址
DHCP客户机从接收到的第一个DHCP Offer 消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机。之后 DHCP 客户机会向服务器发送 DHCP Request 消息。
4、服务器确定租约
DHCP服务器接收到DHCP Request 消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP 的初始化
重新登陆:DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
更新租约:当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
10.DNS:定义和常用地址
常用服务:goole、阿里、腾讯
DNS ( Domain Name System ,域名系统) ,因特网上作为域名和IP地址相互映射的一个分布式数据库系统,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
通俗的讲,我们更习惯于记住一个网站的名字,比如www.baidu.com,而不是记住它的ip地址,比如:167.23.10.2。
11.网络管理:
1. 测试网络的联通性:ping命令
Ping -c 3 -i 0.2 www.baidu.com
发送三次数据包,每一次间隔0.2秒
2. 配置网络或显示当前网络接口状态:ifconfig
3. curl:测试某一个url地址能否访问
4. 下载文件:wget
5. 查看地址信息:ip
6. 查看端口号:netstat
12. 软件包的分类:源码包、二进制包的区别和特点(优缺点)
源码包:c语言文件,要经过编译才能使用,优点:源码包包含源代码,可以根据自己的需要更改源代码,可以自由选择安装的所需功能和路径等,卸载移除也较方便;缺点:安装过程步骤多,添加参数容易出问题,编译时间较长,手动编译安装涉及系统环境复杂,容易出现新手难以解决的问题。
二进制包:经过编译的可以马上运行的程序软件包(源码包),优点:安装简单,包管理系统简单,下载速度比源码包快;缺点:经过编译,看不到源代码,功能被固定,无法新增自己想要的功能,依赖性强,顺利安装可能要下多个依赖包。
13. Rpm:命名规范
name-version-release.os.arch.rpm
name:程序名称
version:程序的版本号
release:软件包本身的发布次数
os:RPM包所支持的操作系统版本
arch:主机平台
14. Rpm命令:安装/卸载/更新/查找
1. 安装:rpm -ivh
2. 卸载:rpm -e
3. 更新:rpm -Uvh
4. 查找:rpm -qa
15. yum命令(从指定的服务器下载):配置文件、路径、内容;安装/卸载/查询/本地安装
1. 配置文件:yum 的配置文件分为两部分:main 和repository
1. main 部分定义了全局配置选项,整个yum - 配置文件应该只有一个main。常位于/etc/yum.conf 中。
[main] cachedir=/var/cache/yum //yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum keepcache=0 //安装完成后是否保留软件包,0为不保留(默认为0),1为保留 debuglevel=2 //Debug 信息输出等级,范围为0-10,缺省为2 logfile=/var/log/yum.log //yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。 pkgpolicy=newest //包的策略。一共有两个选项,newest 和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository 中同时存在,yum 应该安装哪一个,如果是newest,则yum 会安装最新的那个版本。如果是last,则yum 会将服务器id 以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。 distroverpkg=redhat-release //指定一个软件包,yum 会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm 包。 tolerant=1 //有1和0两个选项,表示yum 是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum 不会出现错误信息。默认是0。 exactarch=1 //有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。 retries=6 //网络连接发生错误后的重试次数,如果设为0,则会无限重试。默认值为6. obsoletes=1 //这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。 plugins=1 //是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum # Note: yum-RHN-plugin doesn't honor this. metadata_expire=1h installonly_limit = 5 # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d |
2. repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。
2. 安装:yum install 软件的名称
3. 卸载:yum remove
4. 查询:yum repolist
5. 本地安装:yum localintsall
6. 上传:rz
7.下载:sz
16.源码包安装:流程(可能大题)
17. Web服务
web服务器:提供web服务(http/https/smtp/ftp)
18. Nginx:安装/卸载/启动/相关的配置文件的路径/配置文件的内容
安装:yum install nginx
卸载:yum remove nginx
启动:systemctl start nginx
相关配置文件路径:etc/nginx/nginx.conf
19. Nginx 启动中常见的错误
404/502:网管错误(被代理的服务器,代理目标服务器超时)/403/完全无响应(防火墙没关)
1. 404 - 请求的网页不存在
2. 403-没有index.html文件,Nginx没有web目录的操作权限
3. 501 - 服务器不具备完成请求的功能
4. 502 - Bad Gateway fpm进程挂掉或者后端程序过长时间未返回。
5. 503 - Service Unavailable 当遇到这个状态码的时候表示服务临时不可用,比如nginx配置了频率限制,而client端又超过了配置的限制后就会收到503的响应。
6. 504 - Gateway Time-out nginx的fastcgi模块有一个fastcgi_read_timeout配置,它表示从FastCGI server获取数据的超时时间。如果超过这个配置客户端就是收到504的响应。
20. LNMP实验
1. Windows hosts文件路径
C:\Windows\System32\drivers\etc\hosts
2. Mac hosts文件路径
Sudo vim /etc/hosts
21.nfs服务端:(涉及两个服务)服务名称/配置文件路径、内容
两个服务:Rpcbind和nfs服务
配置文件路径:vim /etc/exports
22. Nfs客户端:如何挂载/自动挂载
Mount -t nfs服务器的IP地址:共享目录 /客户端目录
Mount -t nfs 192.168.211.134:/nfs_data /www02
自动挂载:vim /etc/fstab
修改 nfs服务器的IP地址:共享目录 本地的挂载点 nfs defaults 0 0
192.168.211.134:/nfs_data /www02 nfs defaults 0 0
23. 防火墙操作/selinux
Systemtcl enable firewalld.service
Disable
Start
Stop
Status
25. tcp三次握手四次挥手
三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。
三次握手的原理:
第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端;
第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了;
第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。
其中:SYN标志位数置1,表示建立TCP连接;ACK标志表示验证字段。
建立一个连接需要三次握手,而终止一个连接要经过四次挥手(也有将四次挥手叫做四次握手的)。这由TCP的半关闭(half-close)造成的。所谓的半关闭,其实就是TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。TCP 连接的拆除需要发送四个包,因此称为四次挥手(Four-way handshake),客户端或服务端均可主动发起挥手动作。
四次挥手原理:
第1次挥手:客户端发送一个FIN,用来关闭客户端到服务端的数据传送,客户端进入FIN_WAIT_1状态;
第2次挥手:服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入CLOSE_WAIT状态;
第3次挥手:服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态;
第4次挥手:客户端收到FIN后,客户端t进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,服务端进入CLOSED状态,完成四次挥手。
其中:FIN标志位数置1,表示断开TCP连接。
26. 反向代理/负载均衡
正向代理客户端、隐藏客户端IP、绕过防火墙
反向带理服务端、隐藏服务端IP,可以负载均衡
负载均衡配置:服务器组upstream backend