Skip to content

DNS工作原理

域名解析分为正向解析(域名解析IP)和反向解析(IP解析域名),通过递归查询和迭代查询解析出IP地址

  • 递归查询
    1. 浏览器检测域名解析缓存
    2. 本地hosts映射和缓存
    3. 路由器解析和缓存
  • 迭代查询
    1. 递归DNS服务器向根服务器请求,返回一级域名地址(.com)
    2. 递归DNS服务器向一级域名服务器发起请求,返回二级域名(权威)地址(.example.com)
    3. 递归DNS服务器向二级权威服务器发起请求,返回三级域名解析IP地址

FTP主动/被动传输原理

  • 主动模式:服务器主动从20端口连接客户端的数据端口(客户端告知端口号20),服务端通过20端口数据传输。
  • 被动模式:服务器开放随机端口并告知客户端,由客户端发起数据连接。

NFS工作原理

  • 基于RPC(远程过程调用)实现文件共享,客户端通过挂载服务器共享目录直接访问文件,依赖portmap/rpcbind服务。

对称加密 vs 非对称加密

  • 对称加密:加解密使用同一密钥(如AES),速度快但密钥分发不安全。
  • 非对称加密:使用公钥(加密)和私钥(解密,如RSA),安全性高但速度慢。

HTTPS加密实现

  • 三次握手建立连接
  • 非对称加密认证
    1. 服务端向客户端发送公钥
    2. 客户端保存公钥,生成对话对称秘钥
    3. 将对称秘钥用服务端的公钥加密发送给服务端
    4. 服务端收到用私钥解密获得对称秘钥
  • 对称秘钥加密双方进行数据通信

rsync传输模式

  • 本地传输
  • 远程传输
  • 守护进程模式

Linux系统优化

  1. 时间与本地时间同步,每天凌晨1:00同步一次

  2. 禁用selinux

  3. 关闭防火墙

  4. 历史命令显示操作时间

  5. SSH远程超时限制在600s以内

  6. 禁止超户远程登录

  7. 禁止定时任务发送邮件

  8. 内核参数按需优化

  9. 减少swap使用

用户类型

  • 普通用户:权限受限,家目录在/home/下。
  • 超级用户(root):UID=0,拥有系统最高权限。
  • 系统用户:用于运行服务,无登录权限(如nginx)。

用户管理文件

  • /etc/passwd:用户基本信息(UID、GID、家目录等)。
  • /etc/shadow:加密密码及有效期。
  • /etc/group:用户组信息。

用户创建

bash
useradd -m username  # 创建用户及家目录

不创建家目录,指定登录脚本

bash
useradd -M -s /path/to/script username  # -M不创建家目录,-s指定登录Shell或脚本

用户删除

bash
userdel -r username  # -r删除用户及家目录

创建有效期30天的用户

bash
useradd -e $(date -d "+30 days" +%Y-%m-%d) tom

MBR结构

  • 引导部分:前446字节(含引导代码)。
  • 分区表:随后64字节(4个主分区,每项16字节)。
  • 结束标志:最后2字节(0x55AA)。
  • 前512字节内容 = 引导代码(446B) + 分区表(64B) + 结束标志(2B)。

“No space left on device”可能原因

  • 磁盘空间耗尽df -h查看空间使用。
  • inode耗尽df -i检查inode使用(常见于小文件过多)。
  • 配额限制:用户或目录达到磁盘配额限制。