Linux服务器的一些基本原理讲解

Linux服务器的一些基本原理讲解

    • 系统的启动过程
    • web工作原理
    • dhcp工作原理
    • dns解析原理
    • nfs的作用
    • ftp的主动模式和被动模式
      • 主动模式:
      • 被动模式:
    • pxe+kickstart安装系统原理

系统的启动过程

Linux系统启动流程:

POST --> BIOS(Boot Sequence引导次序) --> MBR(bootloader,446byte) --> Kernel --> initrd(initramfs) --> (ROOTFS) --> /sbin/init(/etc/inittab)
大概流程:
1)开机BIOS自检,加载硬盘。
2)读取MBR,进行MBR引导。
3)grub引导菜单(Boot Loader)。
4)加载内核kernel。
5)启动init进程,依据inittab文件设定运行级别
6)init进程,执行rc.sysinit文件。
7)启动内核模块,执行不同级别的脚本程序。
8)执行/etc/rc.d/rc.local
9)启动mingetty,进入系统登陆界面。
详细过程:
1、内核的引用——电脑开机后,首先BIOS开机自检,按照BIOS中的设置的启动设备(硬盘)来启动。读入/boot目录下的内核文件。然后运行第一个程序 /sbin/init.
2、运行init
3、系统初始化——激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行的任务。
4、建立终端
5、用户登录系统
用户的登录方式有三种:
(1)命令行登录
(2)ssh登录
(3)图形界面登录

web工作原理

客户端和Web服务器通过HTTP协议进行通信。Web服务器也叫HTTP服务器。HTTP协议采用的是请求/响应模式。即客户端发起HTTP请求,web服务器接收并解析处理HTTP请求,然后将HTTP响应发送给客户端。
URL(Uniform Resource Location 统一资源定位器)
当客户端(浏览器)输入一个URL地址,就能接收到Web服务器发送过来的数据。这个过程就是在使用HTTP协议通信。
http协议运行原理:
1、Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求。
2、若该服务器在特定端口(通常是TCP 80端口)处接收到Web页面请求后,就发送一个应答并在客户和服务器之间建立连接。
3、服务器Web查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。
4、Web浏览器接收到文档后,就将它显示出来。
5、当客户端浏览完成后,就断开与服务器的连接。

状态码:
状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
1xx:指示信息 —— 表示请求已接收,继续处理。
2xx:成功 —— 表示请求已被成功接收、理解、接受。
3xx:重定向 —— 要完成请求必须进行更进一步的操作。
4xx:客户端错误 —— 请求有语法错误或请求无法实现。
5xx:服务器端错误 —— 服务器未能实现合法的请求。
常见状态代码、状态描述的说明如下。
200 OK:客户端请求成功。
400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用。
403 Forbidden:服务器收到请求,但是拒绝提供服务。
404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
500 Internal Server Error:服务器发生不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

dhcp工作原理

DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的67号端口,DHCP服务器回应应答消息给主机的68号端口。详细的交互过程如下图。
Linux服务器的一些基本原理讲解_第1张图片
(1)客户端:利用广播数据包发送搜索DHCP服务器
(2)服务器端:提供客户端网络相关的租约以供选择。(dhcp offer)
(3)客户端:决定选择DHCP服务器提供的网络参数租约并向服务器确认。
(4)服务器端:记录该次租约行为后并向客户端发送响应数据包信息以确认客户端的使用。

dns解析原理

1、客户机提出域名解析请求,首先在本地计算机的缓存中查找。
2、如果有该项记录,则本地的域名服务器直接把查询结果返回。如果在本地无法获得查询信息,则将查询请求发给本地DNS服务器。
3、如果本地服务器不能在本地找到客户机查询的信息,将客户机请求发送到根域名DNS服务器。
4、根域名服务器负责解析客户机请求的根域部分,它将顶级域名服务器的地址返回给客户机的DNS服务器地址。
5、客户机的DNS服务器利用根域名服务器解析的地址访问下一级DNS服务器,得到再下一级域的DNS服务器地址。
6、按照上述递归方法逐级接近查询目标,最后在有目标域名的DNS服务器上找到相应IP地址信息。
7、客户机的本地DNS服务器将递归查询结果返回客户机。
8、客户机利用从本地DNS服务器查询得到的IP访问目标主机,就完成了解析。

nfs的作用

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。

nfs客户端和nfs服务端通讯的过程
1)首先服务器端启动RPC服务,并开启111端口
2)服务器端启动NFS服务,并向RPC注册端口信息
3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

ftp的主动模式和被动模式

主动模式:

服务器开放一个端口,通知客户端连接。服务器接收连接,建立一条命令链路。
当需要传输数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了
一个1024+的随机端口,你过来连接我”。于是服务器从20端口向客户端的1024+
随机端口发送连接请求,建立一条数据链路来传输数据。

主动模式是指服务器主动连接客户端的数据端口在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,
然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
工作过程:
客户端以随机非特权端口N,就是大于1024的端口,对server端21端口发起连接
客户端开始监听 N+1端口;
服务端会主动以20端口连接到客户端的N+1端口。

优点:
服务端配置简单,利于服务器安全管理,服务器只需要开放21端口
缺点:
如果客户端开启了防火墙,或客户端处于内网(NAT网关之后), 那么服务器对客户端端口发起的连接可能会失败

被动模式:

客户端向服务器的FTP端口(默认是21发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了一个1024+的随机端口,你过来连接我”。于是客户端向服务器的1024+端口发送连接请求,建立一条数据链路来传送数据。
被动模式是指服务器被动地等待客户端连接自己的数据端口
在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORTP命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
工作过程:
客户端以随机非特权端口连接服务端的21端口
服务端开启一个非特权端口为被动端口,并返回给客户端
客户端以非特权端口+1的端口主动连接服务端的被动端口

缺点:
服务器配置管理稍显复杂,不利于安全,服务器需要开放随机高位端口以便客户端可以连接,因此大多数FTP服务软件都可以手动配置被动端口的范围
优点:
对客户端网络环境没有要求

pxe+kickstart安装系统原理

PXE简介:
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
1、PXE不是一种安装方式,而是一种引导方式
2、PXE(Pre-boot Execution Environment)协议可以使计算机通过网络启动
3、采用C/S结构
Linux服务器的一些基本原理讲解_第2张图片

PXE的工作过程:
(1)PXE Client向DHCP发送请求
PXE Client从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP协议发送一个广播请求,向本网络中的DHCP服务器索取IP。
(2)DHCP服务器提供信息
DHCP服务器收到客户端的请求,验证是否是合法的PXE Client的请求,验证通过它将给客户端一个提供相应,
这个提供相应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。
(3)PXE客户端请求下载启动文件
客户端收到服务器的回应后,会回应一个帧,以请求传送启动所需文件。这些文件包括:pxelinux.0、pxelinux.cfg/default、initrd.img等文件。
(4)Boot Server响应客户端请求并传送文件
当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答,用以决定启动参数。
BootROM由TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。
default文件下载完成后,会根据该文件中定义的引导顺序,启动Liunx安装程序的引导内核。
(5)请求下载自动应答文件
客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么介质来安装linux
如果通过网络安装(NFS.FTP.HTTP),则会在这个时候初始化网络,并定位安装源位置。
接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
(6)将ks.cfg文件下载回来后,通过该文件找到OS Server,并安装该文件的配置请求下载安装过程需要的软件包。
OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。

你可能感兴趣的:(网络安全运维Linux)