Windows 10/11 与 Ubuntu 22.04 跨系统网络共享:4个关键步骤与2个排错要点 📅 2026/7/13 8:02:09 Windows与Ubuntu跨系统网络共享实战配置与深度排错指南在跨平台开发或临时组网场景中实现Windows与Ubuntu系统间的网络共享是技术人员的刚需技能。本文将彻底解析双系统网络共享的核心原理提供可落地的配置方案并针对高频故障给出诊断方法论。不同于基础教程我们特别关注企业级环境中可能遇到的路由冲突、防火墙拦截等复杂问题。1. 网络共享基础架构与原理跨系统网络共享本质是通过一台已联网设备通常是Windows主机充当简易路由器。当Windows将无线网络通过以太网口共享给Ubuntu时底层发生了三个关键变化NAT转换Windows自动启用网络地址转换使Ubuntu流量能以主机身份对外通信DHCP服务默认创建192.168.137.0/24子网为主机分配192.168.137.1地址路由表更新在Windows和Ubuntu系统分别添加对应的路由规则典型组网拓扑如下[互联网] | [Wi-Fi路由器] | [Windows主机]--(以太网)--[Ubuntu设备]关键参数对照表组件Windows端配置Ubuntu端配置IP地址192.168.137.1192.168.137.xxx子网掩码255.255.255.0255.255.255.0网关无192.168.137.1DNS自动获取8.8.8.8或114.114.114.114注意若企业网络有特殊安全策略可能需要先禁用802.1X认证等企业级网络特性2. Windows端详细配置流程2.1 启用网络共享功能以管理员身份运行PowerShell检查当前网络配置Get-NetAdapter | Where-Object { $_.Status -eq Up } | Select-Object Name, InterfaceDescription右键点击任务栏网络图标 → 打开网络和Internet设置 → 选择更改适配器选项在已连接的Wi-Fi适配器上右键 → 属性 → 共享选项卡勾选允许其他网络用户通过此计算机的Internet连接来连接在下拉菜单中选择目标以太网适配器如Realtek PCIe GbE2.2 高级防火墙配置企业环境中防火墙常导致共享失败需特别配置# 启用ICMPv4入站规则允许ping检测 Enable-NetFirewallRule -DisplayName 文件和打印机共享(回显请求 - ICMPv4-In) # 开放基础网络服务端口 New-NetFirewallRule -DisplayName Cross-Platform Sharing -Direction Inbound -LocalPort 135,137,138,139,445 -Protocol TCP -Action Allow3. Ubuntu端网络配置3.1 图形界面配置对于Ubuntu 22.04桌面版右上角网络图标 → 有线连接 → 齿轮图标IPv4选项卡 → 手动模式 → 输入以下参数Address: 192.168.137.100建议100-200间取值Netmask: 255.255.255.0Gateway: 192.168.137.1DNS: 8.8.8.8,8.8.4.43.2 命令行配置服务器版通过netplan永久生效# 编辑配置文件 sudo nano /etc/netplan/01-netcfg.yaml # 添加以下内容适配器名请用ip a命令查看 network: version: 2 renderer: networkd ethernets: enp3s0: addresses: [192.168.137.100/24] routes: - to: default via: 192.168.137.1 nameservers: addresses: [8.8.8.8, 114.114.114.114] # 应用配置 sudo netplan apply4. 深度排错指南4.1 连通性诊断流程图开始 │ ├─ Windows ping 192.168.137.100 → 失败? │ ├─ 是 → 检查防火墙规则、网线连接 │ └─ 否 │ ├─ Ubuntu ping 192.168.137.1 → 失败? │ ├─ 是 → 检查Ubuntu IP配置 │ └─ 否 │ ├─ Ubuntu ping 8.8.8.8 → 失败? │ ├─ 是 → 检查Windows NAT和路由表 │ └─ 否 │ └─ Ubuntu ping www.baidu.com → 失败? ├─ 是 → DNS配置问题 └─ 否 → 网络正常4.2 典型故障解决方案案例一双向ping通但无法上网在Windows检查NAT状态Get-NetNat | Where-Object { $_.Name -like *Shared* }若无输出需重建NATNew-NetNat -Name ShareNAT -InternalIPInterfaceAddressPrefix 192.168.137.0/24案例二SSH连接不稳定调整TCP keepalive参数# Ubuntu端执行 echo net.ipv4.tcp_keepalive_time 60 | sudo tee -a /etc/sysctl.conf sudo sysctl -p5. 高级应用场景5.1 开发环境网络优化配置SSH隧道实现端口转发# 将本地5000端口映射到Ubuntu的22端口 ssh -N -L 5000:localhost:22 user192.168.137.1005.2 网络性能调优禁用IPv6减少协议开销# Ubuntu端 sudo sysctl -w net.ipv6.conf.all.disable_ipv61 sudo sysctl -w net.ipv6.conf.default.disable_ipv61 # Windows端管理员PowerShell Set-NetIPv6Protocol -RandomizeIdentifiers Disabled Disable-NetAdapterBinding -Name 以太网 -ComponentID ms_tcpip6在实际项目部署中我们发现当传输大文件时调整MTU值可提升30%以上的吞吐量。通过以下命令可优化# 临时设置MTU需要重启失效 sudo ifconfig enp3s0 mtu 9000 # 永久生效需修改netplan配置