linux/网络管理.md
2025-03-19 20:36:50 +08:00

21 KiB
Raw Permalink Blame History

网络管理


一:网络管理

1. 网络服务管理

NetworkManager vs. network服务

  • NetworkManager(推荐):

    [root@wxin ~]# systemctl start NetworkManager    # 启动
    [root@wxin ~]# systemctl enable NetworkManager   # 开机自启
    
  • 传统network服务

    [root@wxin ~]# systemctl start network           # 启动
    [root@wxin ~]# systemctl enable network          # 开机自启
    

2. 网络配置文件

  • 路径/etc/sysconfig/network-scripts/ifcfg-<网卡名>(如 ifcfg-ens33)。

  • 静态IP配置示例

    DEVICE=ens33
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.159.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.159.2
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    
  • 应用配置

    [root@wxin ~]# nmcli connection reload   # NetworkManager重载配置
    [root@wxin ~]# systemctl restart network # 传统服务重启
    

3. 网络接口管理

  • 查看接口

    [root@wxin ~]# ip addr show      # 显示所有接口
    [root@wxin ~]# nmcli device status  # NetworkManager查看设备
    
  • 启用/禁用接口

    [root@wxin ~]# ifup ens33       # 启用接口
    [root@wxin ~]# ifdown ens33     # 禁用接口
    

4. 使用 nmcli 配置网络

  • 查看连接

    [root@wxin ~]# nmcli connection show
    
  • 设置静态IP

    [root@wxin ~]# nmcli con mod ens192 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8"
    [root@wxin ~]# nmcli con up ens192
    
  • 启用DHCP

    [root@wxin ~]# nmcli con mod ens192 ipv4.method auto
    [root@wxin ~]# nmcli con up ens192
    

5. 图形化工具nmtui

运行命令启动文本界面:

[root@wxin ~]# nmtui

通过菜单配置IP、DNS、网关等。

6. 防火墙管理firewalld

  • 开放端口/服务

    [root@wxin ~]# firewall-cmd --permanent --add-port=80/tcp    # 开放80端口
    [root@wxin ~]# firewall-cmd --permanent --add-service=http   # 允许HTTP服务
    [root@wxin ~]# firewall-cmd --reload                         # 重载配置
    
  • 查看规则

    [root@wxin ~]# firewall-cmd --list-all
    

7. 网络测试工具

  • 连通性测试

    [root@wxin ~]# ping google.com
    traceroute google.com
    
  • 端口监听检查

    [root@wxin ~]# ss -tuln | grep 80   # 查看80端口状态
    
  • DNS解析

    [root@wxin ~]# nslookup google.com
    [root@wxin ~]# dig google.com
    

8. 主机名与路由

  • 修改主机名

    [root@wxin ~]# hostnamectl set-hostname server1.example.com
    
  • 添加静态路由

    [root@wxin ~]# ip route add 10.0.0.0/24 via 192.168.1.1 dev ens192
    # 持久化:将路由添加到/etc/sysconfig/network-scripts/route-ens192
    

OSI 模型

1. OSI七层模型概览

层级 名称 功能 数据单位 典型协议/设备
7 应用层 用户接口,提供网络服务 数据Data HTTP, FTP, DNS, SMTP
6 表示层 数据格式转换、加密/解密 数据Data SSL/TLS, JPEG, ASCII
5 会话层 建立、管理、终止会话连接 数据Data NetBIOS, RPC
4 传输层 端到端数据传输,可靠性控制 Segment TCP, UDP
3 网络层 路由寻址,跨网络传输数据包 Packet IP, ICMP, 路由器
2 数据链路层 局域网内帧传输MAC地址管理 Frame Ethernet, MAC, 交换机
1 物理层 物理介质传输比特流 比特Bit 电缆、光纤、网卡、集线器

2. 各层核心功能

物理层

  • 作用通过物理介质如电缆、光纤传输原始比特流0和1
  • 关键设备网卡NIC、集线器Hub、中继器Repeater
  • 示例定义电压、接口类型如RJ45、传输速率如100Mbps

数据链路层Date Link Layer

  • 作用将比特流组织成帧Frame通过MAC地址实现局域网内设备通信。
  • 子层
    1. MAC子层控制物理介质的访问如CSMA/CD
    2. LLC子层:流量控制和错误校验。
  • 关键设备交换机Switch

网络层Network Layer

  • 作用通过IP地址实现跨网络的数据包路由和转发。
  • 核心协议IPv4/IPv6、ICMP用于Ping、路由协议如OSPF、BGP
  • 关键设备路由器Router

传输层Transport Layer

  • 作用:确保端到端的数据传输可靠性。
    1. TCP:面向连接,提供可靠传输(如文件下载)。
    2. UDP无连接低延迟如视频流、DNS查询

会话层Session Layer

  • 作用:管理通信会话(建立、维护、终止连接)。
  • 示例:断点续传、会话身份验证。

表示层Presentation Layer

  • 作用:数据格式转换(如加密、压缩、字符编码)。
  • 典型技术SSL/TLS加密、JPEG图像压缩、ASCII/Unicode字符编码

应用层Application Layer

  • 作用:直接为用户应用程序提供网络服务接口。
  • 常见协议
    1. HTTP:网页浏览。
    2. FTP:文件传输。
    3. SMTP:电子邮件发送。
    4. DNS:域名解析。

3. 实际意义

  • 故障排查逐层定位问题如物理层检查网线网络层检查IP配置
  • 协议设计各层协议独立发展如HTTP无需关心底层如何传输
  • 设备分工:明确设备作用(如交换机处理数据链路层,路由器处理网络层)。

4. 数据封装与解封装

数据从发送端到接收端的过程:

  • 封装(发送端)

    应用层数据 → 传输层添加TCP头 → 网络层添加IP头 → 数据链路层添加帧头/尾 → 物理层转为比特流。

  • 解封装(接收端)

    物理层接收比特流 → 数据链路层剥离帧头 → 网络层剥离IP头 → 传输层剥离TCP头 → 应用层获取原始数据。

TCP / IP 模型

1. 分层模型详解

应用层Application Layer

  • 核心功能:直接面向用户应用程序,定义数据格式与交互规则。
  • 关键协议
    1. HTTP/HTTPS用于网页传输HTTPS通过TLS/SSL加密。
    2. DNS:将域名(如www.example.com解析为IP地址采用UDP/TCP端口53。
    3. SMTP/POP3/IMAP邮件发送SMTP与接收POP3/IMAP
    4. FTP/SFTP文件传输SFTP基于SSH加密。
    5. DHCP动态分配IP地址避免手动配置。
  • 数据单元消息Message或应用层PDU协议数据单元

传输层Transport Layer

  • 核心功能:提供端到端(进程到进程)的可靠或高效传输。
  • TCP传输控制协议
    1. 特点
      • 面向连接通过三次握手建立连接SYN, SYN-ACK, ACK
      • 可靠性确认ACK、超时重传、数据校验和Checksum
      • 流量控制:滑动窗口机制,防止接收方缓冲区溢出。
      • 拥塞控制慢启动、拥塞避免、快速重传如收到3个重复ACK
    2. 首部格式20字节基础
      • 源/目的端口16位、序列号32位、确认号32位、窗口大小16位等。
  • UDP用户数据报协议
    1. 特点
      • 无连接:直接发送数据,无需建立连接。
      • 低延迟首部仅8字节源/目的端口、长度、校验和)。
      • 无拥塞控制适用于实时应用如VoIP、在线游戏
    2. 典型场景DNS查询、视频流媒体、物联网传感器数据。

网络层Internet Layer

  • 核心功能:实现数据包的路由与寻址,跨越不同网络。
  • IP协议Internet Protocol
    1. IPv4
      • 32位地址192.168.1.1),采用点分十进制表示。
      • 地址耗尽问题通过NAT网络地址转换和CIDR无类别域间路由缓解。
    2. IPv6
      • 128位地址2001:0db8:85a3::8a2e:0370:7334),支持更多设备。
      • 改进简化首部格式、内置安全扩展IPsec、无状态地址自动配置SLAAC
    3. 数据单元数据报Datagram
  • 辅助协议
    1. ICMPInternet控制报文协议:用于网络诊断(如pingtraceroute)。
    2. ARP地址解析协议将IP地址映射为MAC地址链路层
    3. 路由协议
      • OSPF开放最短路径优先内部网关协议IGP基于链路状态。
      • BGP边界网关协议外部网关协议EGP管理跨AS自治系统路由。

链路层Link Layer

  • 核心功能:在物理介质(电缆、光纤、无线电波)上传输原始比特流。
  • 关键技术与协议
    1. 以太网Ethernet使用MAC地址00:1A:2B:3C:4D:5E)标识设备,帧结构包含前导码、目的/源MAC、类型字段如IPv4为0x0800、数据及CRC校验。
    2. Wi-FiIEEE 802.11无线局域网标准支持CSMA/CA载波侦听多路访问/冲突避免)。
    3. PPP点对点协议:用于拨号或直接设备间通信。
  • 数据单元Frame

2. 数据传输流程

封装Encapsulation

数据从应用层到链路层的封装过程:

  1. 应用层生成原始数据如HTTP请求
  2. 传输层添加TCP/UDP首部包含端口号、序列号等
  3. 网络层添加IP首部源/目的IP地址、TTL等
  4. 链路层添加帧头MAC地址和帧尾CRC校验

分用Demultiplexing

接收方逐层解析数据:

  1. 链路层校验CRC剥离帧头将数据报传递给网络层。
  2. 网络层检查IP地址决定转发或上传至传输层。
  3. 传输层:根据端口号将数据交给对应应用进程。

3. 关联机制

TCP连接管理

  • 三次握手建立连接:

    1. 客户端→服务端发送SYNseq=x
    2. 服务端→客户端回复SYN-ACKseq=y, ack=x+1
    3. 客户端→服务端发送ACKack=y+1
    • 目的:同步初始序列号,协商窗口大小等参数。
  • 四次挥手释放连接:

    1. 主动方→被动方发送FINseq=u
    2. 被动方→主动方回复ACKack=u+1
    3. 被动方→主动方发送FINseq=v
    4. 主动方→被动方回复ACKack=v+1
    • 原因TCP支持半关闭状态确保双方数据发送完毕。

IP路由与NAT

  • 路由表路由器根据目标IP前缀选择下一跳最长前缀匹配优先。
  • NAT网络地址转换
    1. 功能将私有IP192.168.x.x映射为公网IP解决IPv4地址不足。
    2. 类型静态NAT一对一、动态NAT地址池、PAT端口转换多对一

ARP与MAC寻址

  • ARP请求/响应
    1. 主机A广播ARP请求“谁的IP是192.168.1.2?”。
    2. 主机B单播回复“我的MAC是00:1A:2B:3C:4D:5E。”。
  • ARP缓存表存储IP-MAC映射减少重复查询。

四:数据链路层详解

1. 核心功能

物理寻址MAC地址

  • 每个网络设备(如网卡)拥有唯一的MAC地址(如00:1A:2B:3C:4D:5E),用于在本地网络中标识设备。
  • 地址解析协议ARP将IP地址映射为MAC地址通过广播请求和单播响应

数据成帧Framing

  • 将网络层传递的IP数据报封装为,添加帧头(源/目的MAC地址和帧尾校验码
  • 帧的格式需适应不同物理介质如以太网、Wi-Fi

错误检测与纠正

  • CRC循环冗余校验:通过帧尾的校验码检测传输中的比特错误,丢弃错误帧。
  • 部分协议支持纠错码如海明码但多数依赖上层协议如TCP重传。

流量控制

  • 防止接收方因处理速度不足导致数据丢失,例如:
    • 停顿协议Stop-and-Wait:发送一帧后等待确认。
    • 滑动窗口协议:允许连续发送多帧,提升效率。

介质访问控制MAC

  • 协调多设备共享同一物理介质的访问,避免冲突:
    • CSMA/CD(载波侦听多路访问/冲突检测):用于以太网,检测冲突后重发。
    • CSMA/CA(载波侦听多路访问/冲突避免用于Wi-Fi通过ACK和随机退避减少冲突。

2. 常见协议与技术

以太网Ethernet

  • 帧结构

    字段 说明
    前导码7字节 同步接收方时钟。
    SFD1字节 帧起始定界符(10101011)。
    目的MAC6字节 目标设备的MAC地址。
    源MAC6字节 发送方MAC地址。
    类型2字节 上层协议类型如IPv4为0x0800ARP为0x0806)。
    数据46-1500字节 携带IP数据报最小46字节不足需填充
    CRC4字节 校验码,检测传输错误。
  • 特点

    • 支持多种速率10Mbps、1Gbps、10Gbps等和介质双绞线、光纤
    • 使用交换机实现全双工通信,避免冲突(传统集线器已被淘汰)。

Wi-FiIEEE 802.11

  • 帧结构
    • 包含MAC头控制帧类型、地址、数据载荷和CRC。
    • 支持三种地址类型源地址、目的地址、AP接入点地址。
  • 关键技术
    • CSMA/CA:发送数据前先监听信道,空闲时发送,否则随机等待。
    • RTS/CTS可选减少隐藏终端问题如设备A和C无法直接通信但均连接至B
    • ACK机制:接收方需确认帧的接收,否则发送方重传。

PPP点对点协议

  • 用途:用于拨号上网、路由器间直连等点对点链路。
  • 特点
    • 支持身份验证如PAP、CHAP协议
    • 封装多种网络层协议IP、IPX等
    • 帧结构简单无MAC地址因仅两点通信

3. 关键机制

ARP协议流程

  • 场景主机AIP: 192.168.1.1需向主机BIP: 192.168.1.2发送数据但未知B的MAC地址。
  • ARP请求(广播):
    • A发送广播帧询问“谁的IP是192.168.1.2?”。
    • 目标MAC为FF:FF:FF:FF:FF:FF,局域网内所有设备均接收。
  • ARP响应(单播):
    • B回复单播帧告知A自己的MAC地址。
    • A将B的IP-MAC映射存入ARP缓存表(有效期通常几分钟)。

MTU与分片

  • MTU最大传输单元数据链路层可传输的最大帧长度如以太网为1500字节
  • 分片处理
    • 若IP数据报超过MTU网络层IP协议负责分片。
    • 接收方重组分片,但分片会增加延迟和丢包风险(现代网络通常避免分片,通过路径MTU发现确定最小MTU

错误处理

  • CRC校验接收方计算帧的CRC值若与帧尾不匹配直接丢弃该帧。
  • 纠错机制Wi-Fi等无线协议可能使用前向纠错FEC在帧中添加冗余数据允许接收方自行修复少量错误。

4. 数据链路层与物理层的关系

  • 数据链路层:定义帧格式、寻址和错误控制,依赖物理层实现比特流传输。
  • 物理层:负责将帧转换为电信号、光信号或无线电波(如网卡、光纤模块、天线)。

五:网络层详解

1. 核心协议与功能

IP协议Internet Protocol

  • 作用:为数据包提供逻辑寻址IP地址路由选择
  • 版本
    1. IPv4
      • 32位地址192.168.1.1总量约42亿通过NAT和CIDR缓解地址短缺。
      • 数据报格式
        1. 首部20字节+可选字段包含TTL生存时间、协议类型如TCP/UDP、源/目的IP等。
        2. 数据承载传输层报文如TCP段或UDP数据报
    2. IPv6
      • 128位地址2001:0db8:85a3::8a2e:0370:7334),几乎无限地址空间。
      • 改进
        1. 简化首部固定40字节无分片字段
        2. 内置IPsec加密与身份验证。
        3. 支持无状态地址自动配置SLAAC

辅助协议

  • ICMPInternet控制报文协议
    1. 用于网络诊断与错误报告(如ping基于ICMP Echo Request/Reply
    2. 报告网络问题(如目标不可达、超时)。
  • 路由协议
    1. OSPF开放最短路径优先内部网关协议IGP基于链路状态算法适用于企业内网。
    2. BGP边界网关协议外部网关协议EGP管理跨自治系统AS的路由支撑互联网核心路由。

2. 关键机制

IP寻址与子网划分

  • IP地址结构
    1. 网络号 + 主机号:通过子网掩码(如255.255.255.0)区分网络与主机部分。
    2. CIDR无类别域间路由取代传统A/B/C类地址支持灵活划分192.168.1.0/24表示前24位为网络号
  • 私有地址与NAT
    1. 私有IP范围10.0.0.0/8172.16.0.0/12192.168.0.0/16,用于局域网内。
    2. NAT网络地址转换
      • 功能将私有IP映射为公网IP实现多设备共享单一公网IP。
      • 类型
        1. 静态NAT:一对一映射(如将192.168.1.2映射为203.0.113.5)。
        2. PAT端口地址转换:多对一映射,通过端口号区分会话(常见于家庭路由器)。

路由与转发

  • 路由表

    1. 每台路由器维护一张表,记录目标网络与下一跳的映射。

    2. 表项示例

      目标网络 下一跳 接口 度量值
      192.168.1.0/24 直接连接 eth0 0
      0.0.0.0/0 203.0.113.1 eth1 1
  • 路由选择原则

    1. 最长前缀匹配:优先选择子网掩码最长的路由条目。
    2. 动态路由协议OSPF通过计算最短路径树BGP基于策略选择最优路径。

分片与重组

  • MTU最大传输单元数据链路层帧的最大载荷如以太网为1500字节
  • 分片场景
    1. 当IP数据报大小超过MTU时路由器将其分割为多个分片。
    2. 每个分片携带标识符、偏移量、MF标志More Fragments
  • 重组:由目标主机根据分片信息重新组装原始数据报。
  • 现代优化:通过路径MTU发现PMTUD源主机主动探测路径最小MTU避免分片。

3. IPv4 与 IPv6 对比

特性 IPv4 IPv6
地址长度 32位4字节 128位16字节
地址表示 点分十进制(如192.168.1.1 冒号分隔十六进制(如2001:db8::1
首部复杂度 包含可选字段可变长度20-60字节 固定40字节无选项字段
安全性 依赖外部协议如IPsec 内置IPsec支持
地址配置 DHCP或手动配置 支持SLAAC无状态自动配置

4. 网络层安全与挑战

常见攻击

  • IP欺骗Spoofing伪造源IP发起DDoS攻击或绕过认证。
  • 分片攻击:发送恶意分片耗尽目标资源。
  • 路由劫持通过伪造BGP路由条目劫持流量。

防护措施

  • IPsec为IP层提供加密、完整性验证与抗重放保护IPv6原生支持
  • 过滤与ACL路由器配置访问控制列表ACL拦截非法IP或分片。
  • RPKI资源公钥基础设施验证BGP路由宣告的合法性防止路由劫持。