焦作市网站建设_网站建设公司_漏洞修复_seo优化
2025/12/25 16:34:06 网站建设 项目流程

网络进阶


一、VMware 网络模式详解

1.1 虚拟设备说明

设备 用途
VMnet0 桥接(Bridged)模式虚拟交换机
VMnet1 Host-Only(仅主机)模式虚拟交换机
VMnet8 NAT 模式虚拟交换机
VMware Network Adapter VMnet1 主机 ↔ Host-Only 网络通信的虚拟网卡
VMware Network Adapter VMnet8 主机 ↔ NAT 网络通信的虚拟网卡

⚠️ 注意:VMnet8 虚拟网卡 不提供路由功能,仅用于通信;NAT 功能由 VMware 虚拟的 NAT 服务器实现。


1.2 三种网络模式对比

模式 IP 与主机关系 访问外网 主机访问虚拟机 虚拟机互访 典型用途
桥接(Bridged) 同一网段 ✅ 默认可上网 需要独立公网IP的服务器
NAT 不同网段(私有地址) ✅(通过 NAT 转换) 一般开发测试环境
Host-Only 不同网段(私有地址) ❌(全封闭) ✅(同 Host-Only 网络内) 安全隔离的实验环境

💡 思考题答案

  • 虚拟机 A1(Host-Only)可以访问物理主机 B(通过 VMnet1
  • 虚拟机 A1 不能访问物理主机 B 下的 NAT 虚拟机(因网络隔离)

二、路由与路由表

2.1 基本概念

  • 交换(Switching):同一网络内设备通信(二层,基于 MAC)
  • 路由(Routing):跨网络通信(三层,基于 IP)
  • 路由表:Linux 内核中记录“目标网络 → 下一跳/出口”的规则表

2.2 查看路由表

# 推荐新命令(iproute2)
ip route show# 旧命令(需安装 net-tools)
route -n

输出示例解析

default via 192.168.88.2 dev ens160 proto dhcp metric 100
192.168.88.0/24 dev ens160 proto kernel scope link src 192.168.88.100
  • 第一行:默认网关(所有未知流量发往 192.168.88.2
  • 第二行:直连网络(192.168.88.0/24 通过 ens160 直接通信)

📌 metric:路由优先级,数值越小优先级越高


2.3 路由类型与配置命令

类型 作用 新命令(iproute2) 旧命令(net-tools)
主机路由 针对单个 IP ip route add 192.168.1.1 via 10.1.1.128 route add -host 192.168.1.1 gw 10.1.1.128
网络路由 针对整个网段 ip route add 192.168.1.0/24 via 10.1.1.128 route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.1.1.128
默认网关 匹配所有未明确路由 ip route add default via 10.1.1.128 route add default gw 10.1.1.128

最佳实践

  • 跨网段通信 → 使用 网络路由
  • 外网访问 → 配置 默认网关

三、路由选择实验(多网络互通)

3.1 实验拓扑

node1 (10.1.1.1/24) ↗
jumper (192.168.1.1/24) ← 作为路由器↘
node2 (172.16.0.1/24)

3.2 实现步骤

  1. VMware 准备

    • 创建 3 个 Host-Only 虚拟网络:
      • 192.168.1.0/24
      • 10.1.1.0/24
      • 172.16.0.0/24
    • 克隆 3 台虚拟机:jumpernode1node2
    • 分别连接到对应网络
  2. IP 配置

    • jumper: 192.168.1.1/24
    • node1: 10.1.1.1/24
    • node2: 172.16.0.1/24
  3. 关键操作

    • 在 jumper 上添加 2 张新网卡,分别连接 10.1.1.0172.16.0.0 网络
    • 配置新网卡 IP:
      • ens224: 10.1.1.128/24
      • ens256: 172.16.0.128/24
  4. 开启包转发(在 jumper 上):

    # 临时生效
    echo 1 > /proc/sys/net/ipv4/ip_forward# 永久生效
    echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
    sysctl -p
    
  5. 配置 node1/node2 路由

    # node1 添加到 node2 网络的路由
    ip route add 172.16.0.0/24 via 10.1.1.128# node2 添加到 node1 网络的路由
    ip route add 10.1.1.0/24 via 172.16.0.128
    
  6. 验证互通

    # node1 ping node2
    ping 172.16.0.1
    

四、NAT 实现内网上网

4.1 场景

  • node1 / node2Host-Only 模式(无法直接上网)
  • 通过 jumper(有外网网卡 ens160)做 NAT 网关

4.2 配置步骤

  1. jumper 开启包转发(同上)

  2. 配置 iptables NAT 规则

    iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE
    
    • -t nat:操作 NAT 表
    • -A POSTROUTING:处理出站流量
    • -o ens160:匹配外网接口
    • MASQUERADE:动态伪装源 IP(适合 DHCP 环境)
  3. node1/node2 设置默认网关

    # node1
    ip route add default via 10.1.1.128# node2
    ip route add default via 172.16.0.128
    
  4. 测试外网连通性

    ping www.baidu.com
    

4.3 iptables NAT 管理

# 查看规则(带编号)
iptables -t nat -L POSTROUTING --line-numbers -n -v# 删除指定规则(如第1条)
iptables -t nat -D POSTROUTING 1# 查看流量统计
iptables -t nat -L -v

五、网络管理实用命令

5.1 新增网卡配置文件(无图形界面时)

# 自动生成 NetworkManager 连接配置
nmcli connection add type ethernet con-name ens256 ifname ens256# 重启生效
systemctl restart NetworkManager

5.2 TCP 四次挥手(连接断开过程)

步骤 发起方 动作 说明
1 客户端 发送 FIN “我数据发完了,请求关闭”
2 服务端 回复 ACK “收到关闭请求,但我可能还有数据要发”
3 服务端 发送 FIN “我的数据也发完了,可以关闭了”
4 客户端 回复 ACK “确认关闭”,进入 TIME_WAIT

💡 目的:确保双方都完成数据收发,避免数据丢失


六、核心总结

主题 关键点
VMware 网络 桥接=同网段,NAT=私有+上网,Host-Only=隔离
路由表 决定数据包走向,默认网关是最后兜底
跨网段通信 需中间路由器 + 双向路由 + 开启 ip_forward
NAT 上网 MASQUERADE 规则 + 内网默认网关指向 NAT 主机
命令演进 优先使用 ip route(新),route(旧,需安装)
实验精髓 jumper 是“三网卡路由器”:外网 + node1网 + node2网

能力要求回顾

  • 能说出 OSI 七层模型
  • 能描述客户端→服务器连接过程
  • 能用自己的话讲清 TCP 三次握手 & 四次挥手

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询