主板网口直连主机进行调试
概要:本文介绍了在主机通过两个网口连接外网与调试主板的场景中,如何进行网络配置以实现调试主板共享主机外网,解决因 MAC 冲突导致的 SSH 和 FTP 连接不稳定问题。
1. 问题背景
- 可能是 MAC 冲突的问题,通过公司路由器的局域网进行的 SSH 连接和 FTP 总是断开。
- 如果主机上有两个网口(可以通过 USB 转 ETH 多转出一个网口),可以使用多出来的网口通过网线直连要调试的主板。
2. 拓扑结构
具体拓扑结构如下:
外网 → 主机 PC 网口1 → 主机 → 主机 PC 网口2 → 调试主板
调试主板共享主机 PC 网口1 的外网。
3. 配置方式
图示如下:


4. 原理
Windows 的 Internet 连接共享 (ICS) 是一个内置的 NAT(网络地址转换)解决方案,其核心原理是 让一台已连接到互联网的 Windows PC 充当简易路由器/网关,为通过另一个物理或虚拟网卡连接的设备(如 RK3568)提供共享上网服务。
4.1 ICS启动时系统的操作
| 步骤 | 操作 | 技术原理 |
|——|———————————————————————-|————————————————————————–|
| 1 | 修改网卡B的IP地址 | |
| | - 自动设置网卡B的 IPv4地址为 192.168.137.1 | 这是一个硬编码的私有地址 (RFC 1918),作为该局域网的网关地址 |
| | - 子网掩码设为 255.255.255.0 (/24) | 定义局域网范围 192.168.137.0 ~ 192.168.137.255 |
| 2 | 启动内建 DHCP 服务器 | |
| | - 监听来自 网卡B 的 DHCP 请求 | |
| | - 为连接设备 (RK3568) 分配地址:
- IP 范围: 192.168.137.x
- 网关: 192.168.137.1
- DNS:同网关或系统默认DNS | 地址租期默认为 24 小时 |
| 3 | 启用 NAT 转发引擎 | |
| | - 监听来自 网卡B 的流量 | |
| | - 对出站流量:将源地址 192.168.137.x 替换为网卡A的IP(SNAT) | 伪装内网地址使互联网服务认为请求来自 Windows PC |
| | - 对入站流量:将目标地址 还原回内网设备IP(根据NAT表) | 确保响应包正确返回内网设备 |
| 4 | 配置 Windows 防火墙规则 | |
| | - 自动开放必要端口 (如 DHCP/UDP 67-68, DNS/UDP 53) | |
| | - 允许通过 网卡B → 网卡A 的 IPv4 转发 | |
4.2 转发示例
假设 RK3568 访问 8.8.8.8:
- 请求阶段:
- RK3568 → 网关
192.168.137.1→ Windows 网卡B - Windows 识别目标为公网IP,触发 NAT引擎:
- 修改源 IP:
192.168.137.x→ 网卡A的IP (如10.0.0.2) - 记录映射关系到 NAT连接表 (源端口+新端口)
- 修改源 IP:
- 转发修改后数据包到网卡A → 互联网
- RK3568 → 网关
- 响应阶段:
- 互联网服务器响应 → 网卡A
- Windows 检查NAT表,找到匹配项:
- 目标 IP还原:
10.0.0.2→192.168.137.x - 端口还原
- 目标 IP还原:
- 数据包通过网卡B发送回 RK3568
5. bug提示
- 注意,连接主板的网口2,ipv4地址配置都要设置为自动,不可以使用自定义的网段。原因是设置ips时,系统会将网卡2的ipv4地址设置为192.168.137.x,如果设置为自定义会导致冲突。具体注册表项如下:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters
留下评论