一、七层网络和四层网络分层及常见协议
1.1 OSI 七层参考模型
| 层级 | 层级名称 | 层级功能 | 常见协议 | 传输数据名称 | 应用 |
|---|---|---|---|---|---|
| 7 | 应用层 | 为应用程序提供网络服务接口,直接与用户程序交互 | HTTP、HTTPS、FTP、Telnet、SSH、SMTP、POP3、DNS、DHCP、TFTP、SNMP、MySQL、SSH、TLS/SSL | 数据/报文 | 七层负载均衡、应用网关、WAF防火墙 |
| 6 | 表示层 | 数据格式转换、加密解密、压缩解压、编码转换 | SSL/TLS、ASCII、JPEG、MPEG、加密协议 | 数据 | 加密设备、格式转换器 |
| 5 | 会话层 | 建立、管理和终止通信会话,会话同步与恢复 | NetBIOS、RPC、PPTP、SDP、SQL会话 | 数据 | 会话控制器、会话网关 |
| 4 | 传输层 | 端口寻址与端到端连接,首部包含源/目的端口,决定由哪个程序处理数据 | TCP、UDP | 数据段(Segment) | 四层负载均衡、传输层防火墙 |
| 3 | 网络层 | 跨网段路由与IP寻址,首部包含源IP和目的IP地址 | IP、ICMP、OSPF、BGP、RIP、IGMP、ICMP | 数据包/分组(Packet) | 三层交换机、路由器 |
| 2 | 数据链路层 | 同一局域网内点到点传输,首部包含源MAC和下一跳MAC地址 | LLC、MAC、PPP、以太网协议、Wi-Fi协议 | 数据帧(Frame) | 二层交换机、网桥、网卡 |
| 1 | 物理层 | 传输原始比特流,定义物理介质与电气/机械特性 | RS-232、RJ45规范、光纤、双绞线、蓝牙物理层 | 比特流(Bit) | 网线、光纤、集线器、中继器 |
1.2 TCP/IP 四层参考模型
TCP/IP参考四层模型将OSI七层模型的应用层,表示层,会话层合并为应用层,数据链路层和物理层合并为链路层
TCP/IP协议栈常见协议
| 层级名称 | 常见协议 | 运维关注点 |
|---|---|---|
| 应用层 | HTTP、HTTPS、FTP、Telnet、SSH、SMTP、POP3、DNS、DHCP、TFTP、SNMP | 服务配置、日志、应用协议 |
| 传输层 | TCP、UDP | 端口监听、连接状态、防火墙 |
| 网络层 | IP、ICMP、IGMP | IP地址、路由表、网关 |
| 链路层 | MAC、PPPoE、PPP、以太网协议、Wi-Fi协议 | 网卡状态、MAC地址、网线 |
二、TCP三次握手和四次挥手
2.1 TCP 的建立 - 三次握手
基于TCP的应用,在发送数据之前,都需要由 TCP 进行“三次握手”建立连接
- 客户端发送第一个 SYN(同步) 标志的 TCP 报文给服务端
- 服务端接收报文后回复一个 SYN 和 ACK(确认) 标志的TCP报文给客户端
- 客户端接收报文后回复一个 ACK 标志的 TCP 报文给服务端,服务端收到报文后,TCP 双向连接建立
TCP 使用 序列号 和 确认序列号 字段实现数据的可靠和有序传输
2.2 TCP 的关闭 - 四次挥手
客户端和服务器端都可以发起连接断开
客户端发起断开原因: 页面关闭、APP 退出、传输完成、客户端超时
服务端发起断开原因: 空闲超时、服务重启、连接超限、非法请求、保活失效
Web 服务器大部分时候主动发起断开
当数据传输完成,TCP需要通过“四次挥手”机制断开 TCP 连接
- 数据传输完成后主动断开端发送一个 FIN(完成) 标志的 TCP 报文给被动断开端
- 被动断开端接收报文后回复一 个 ACK 标志的 TCP 报文给主动断开端
- 被动断开端数据传输完成后再发送一个 FIN 和 ACK 标志的 TCP 报文给主动断开端
- 主动断开端接收报文后回复一个 ACK 标志的 TCP 报文给被动断开端,TCP 双向连接断开
2.3 服务端常见连接状态
| 状态 | 含义 | 说明 |
|---|---|---|
LISTEN | 服务正在监听 | 正常,服务已启动,等待连接 |
SYN_RCVD | 连接建立等待 | 如果大量出现,说明服务端被攻击,例如使用大量伪造地址建立连接 |
ESTABLISHED | 连接已建立 | 正常,正在通信 |
TIME_WAIT | 连接关闭等待 | 主动关闭方出现,等待2MSL;高并发场景常见 |
CLOSE_WAIT | 对方已关闭,本机未关闭 | 程序 BUG ,应用层代码没调用 close () 关闭 socket |
三、tcpdump 和 wireshark 抓包分析 tcp
3.1 基本用法
# 抓取指定网卡所有包
tcpdump -i eth0
# 限制抓包数量
tcpdump -i eth0 -c 100
# 不解析主机名和端口协议,推荐使用
tcpdump -i eth0 -nn
# 按端口过滤,在4层传输层抓包
tcpdump -i eth0 -nn port 80
tcpdump -i eth0 -nn port 22
# 按主机过滤,在3层网络层抓包
tcpdump -i eth0 -nn host 10.0.0.240
# 组合过滤
tcpdump -i eth0 -nn host 10.0.0.240 and port 80
# 按协议过滤,在7层应用层抓包
tcpdump -i eth0 -nn icmp
3.2 保存和读取
# 保存为 .pcap 文件可用 Wireshark 打开
tcpdump -i eth0 -nn -w capture.pcap
# 限制抓包数量
tcpdump -i eth0 -nn -c 1000 -w capture.pcap
# 文件加时间戳
tcpdump -i eth0 -nn port 80 -w /tmp/http_$(date +%Y%m%d_%H%M%S).pcap
# 读取文件
tcpdump -nn -r capture.pcap
# 读取文件并过滤
tcpdump -nn -r capture.pcap port 80
3.3 生产环境抓包流程
# 在服务器抓包
tcpdump -i eth0 -nn port 80 -c 100 -w /tmp/http.pcap
tcpdump -i eth0 -nn arp or icmp -w /tmp/ping_arp.pcap
# sz 下载到 Windows
sz /tmp/http.pcap
# 用 Wireshark 打开分析
四、内网 DNS 部署
四、内网 DNS 服务器 bind
4.1 内网 DNS 服务器的作用
| 场景 | 说明 |
|---|---|
| 服务发现 | 内网服务器之间使用域名通信,而不是 IP |
| 服务迁移 | 服务迁移时只需修改 DNS 记录,不需要改所有配置文件 |
| 微服务架构 | 微服务之间通过域名互相调用,实现解耦 |
| 内网 HTTPS | 结合私有 CA , 实现内网加密通信 |
| 集中管理 | 内网域名解析统一管理,无需分散配置 hosts |
4.2 安装与主配置文件
# 安装
dnf install -y bind
apt install -y bind9
# 修改主配置文件,提供内网 DNS 服务
vim /etc/named.conf
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query { any; };
# 启动服务
systemctl enable --now named.service
# 验证外网解析,有解析答案即正常工作
dig @10.0.0.210 jd.com
# 配置转发,加速外网解析, 在 options 配置项内添加
forwarders {
223.5.5.5;
114.114.114.114;
};
forward first;
dnssec-validation no;
# 检查是否存在语法错误,无报错即无错误
named-checkconf /etc/named.conf
# 重启 DNS 服务
systemctl restart named
配置项解析:
| 配置项 | 说明 |
|---|---|
listen-on | 指定监听 IPv4 地址,any 表示所有地址 |
listen-on-v6 | 指定监听 IPv6 地址,any 表示所有地址 |
allow-query | 允许哪些客户端查询,any 表示任何主机 |
recursion | 是否允许递归查询,默认 yes |
forwarders | 上游 DNS 服务器,用于加速外部域名解析 |
forward first | 优先使用 forwarders 指定服务器查询,查不到再查根服务器 |
dnssec-validation | 配置为 no 关闭 DNSSEC 校验 |
4.3 配置正向解析
4.3.1 正向解析区域声明
# 主配置文件 /etc/named.conf 中 include "/etc/named.rfc1912.zones"; 配置项表明支持在子配置文件 /etc/named.rfc1912.zones 中声明区域
vim /etc/named.rfc1912.zones
zone "deng.org" IN { # 声明区域 deng.org , IN 可省略
type master; # 类型为 master
file "deng.org.zone"; # 区域文件 deng.org.zone,未指定路径使用主配置文件配置项 directory "/var/named"; 指定路径
allow-update { none; }; # 禁止更新,可选
};
4.3.2 正向解析区域文件
vim /var/named/deng.org.zone
; ============================================================
; 文件名: /var/named/deng.org.zone
; 域名: deng.org 正向解析区域文件
; 维护人: deng
; 最后修改: 2026-07-30
; ============================================================
$TTL 1D
@ IN SOA ns1.deng.org. testemail.qq.com. (2026073001 1H 5M 5D 1D)
@ IN NS ns1.deng.org.
ns1 IN A 10.0.0.210
nginx-01 IN A 10.0.0.240
nginx-02 IN A 10.0.0.241
mysql-rw IN A 10.0.0.245
mysql-ro IN A 10.0.0.246
mysql-ro IN A 10.0.0.247
配置项解析:
| 配置项 | 说明 |
|---|---|
$TTL 1D | 全局默认缓存有效期 |
@ | 代表本区域根域名 deng.org |
SOA | 区域授权起始记录,每个域的第一条记录且唯一 |
ns1.deng.org. | 主 DNS 服务器 FQDN,末尾必须带 . ,绝对域名 |
testemail.qq.com. | 管理员邮箱, @ 需要用 . 替换 |
2026073001 | 区域版本序列号,序列号变化时 主DNS服务器 主动向 从DNS服务器 推送更新,格式一般使用日期 + 序号 |
1H | 刷新时间,从 DNS 服务器间隔 1 小时向主 DNS 服务器查询序列号是否更新 |
5M | 重试时间,查询失败每 5 分钟重试 |
5D | 过期时间,连续 5 天联系不上主 DNS,从 DNS 停止该域名解析 |
1D | Minimum TTL 最小缓存时间,当用户查询不存在的记录时,缓存该记录指定时间并返回NXDOMAIN |
NS | 声明 deng.org 域名由 ns1.deng.org. 这台 DNS 服务器负责解析 |
ns1 | 相对域名,自动补全为 ns1.deng.org. |
A | IPv4 地址记录 |
使用相同相对域名可以通过 DNS 实现轮询负载均衡,当访问该域名时随机解析
# 检查是否存在语法错误,无报错即无错误
named-checkconf /etc/named.conf
named-checkzone deng.org /var/named/deng.org.zone
# 重启 DNS 服务 或 重载配置使修改生效
systemctl restart named
rndc reload
# 验证
dig @10.0.0.210 ns1.deng.org
dig @10.0.0.210 nginx-01.deng.org
4.4 客户端配置
# Rocky 配置 DNS 服务器
nmcli connection modify eth0 ipv4.dns 10.0.0.210
# 重新激活网卡使配置生效
nmcli connection up eth0
# 查看网卡配置 DNS 服务器,显示为内网 DNS 服务器 IP 即配置正确
cat /etc/resolv.conf
# 验证,能解析到 IP 地址 即正常工作
dig baidu.com
dig nginx-01.deng.org
# Ubuntu 配置 DNS 服务器
vim /etc/netplan/99_config.yaml
nameservers:
addresses: [10.0.0.210]
# 应用激活网卡配置修改
netplan apply
# 查看网卡配置 DNS 服务器,显示为内网 DNS 服务器 IP 即配置正确
resolvectl status eth0
cat /run/systemd/resolve/resolv.conf
# 验证,能解析到 IP 地址 即正常工作
dig baidu.com
dig nginx-01.deng.org
4.5 bind 管理命令
# 查看状态
rndc status
# 重载配置
rndc reload
# 重新加载特定区域
rndc reload deng.org
# 清空 DNS 缓存
rndc flush
# 清空特定域名缓存
rndc flushname deng.org
# 开启 / 关闭 查询日志
rndc querylog
# 主配置文件语法校验
named-checkconf /etc/named.conf
# 区域文件语法校验
named-checkzone deng.org /var/named/deng.org.zone
五、常见 RAID 及特性
常见 RAID 级别
| RAID 级别 | 最低硬盘数 | 容错硬盘数 | 可用容量 | 读性能 | 写性能 |
|---|---|---|---|---|---|
| RAID 0 | 2 | 0 | 100% | 高 | 高 |
| RAID 1 | 2 | 50% | 50% | 中 | 中 |
| RAID 5 | 3 | 1 | (N-1)*单盘容量 | 高 | 中 |
| RAID 6 | 4 | 2 | (N-2)*单盘容量 | 高 | 低 |
| RAID 10 | 4 | 1 | 50% | 很高 | 高 |
可用容量计算示例
使用 6 块 8 T 硬盘做 RAID 5 ,最终可用容量为:
- (6-1)*8T=40T
- (5-1)*8T+1块热备盘=32T

476

被折叠的 条评论
为什么被折叠?



