跳转至

Zerotier 高级用法之访问windows下wsl

📒 zerotier高级用法之访问windows下的wsl网络

1. 场景说明

  • 主机A
  • ZeroTier 网卡(ifIndex 11):172.25.30.174/24
  • WSL 虚拟网卡(ifIndex 30):192.168.160.1/20
  • 主机B
  • ZeroTier 网卡:172.25.30.56/24
  • 目标:B 通过 ZeroTier 访问 A 的 WSL 网络(192.168.160.0/20)。

2. 主机A配置步骤

(1) 开启 IP 转发

powershell

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "IPEnableRouter" -Value 1

修改后需重启电脑 重启网络服务。 重启网络服务命令(管理员 PowerShell):

powershell

# 停止网络服务
Stop-Service -Name "RemoteAccess" -Force
Stop-Service -Name "SharedAccess" -Force

# 启动网络服务
Start-Service -Name "RemoteAccess"
Start-Service -Name "SharedAccess"

或者直接重启 TCP/IP 栈(会断网几秒):

powershell

netsh interface set interface name="以太网" admin=disable
netsh interface set interface name="以太网" admin=enable

如果要一次性刷新所有网络接口:

powershell

Get-NetAdapter | Restart-NetAdapter

(2) 创建 NAT 转发规则

powershell

Remove-NetNat -Name "WSLNat" -ErrorAction SilentlyContinue
New-NetNat -Name "WSLNat" -InternalIPInterfaceAddressPrefix 192.168.160.0/20

(3) 防火墙放行 ZeroTier → WSL

powershell

New-NetFirewallRule -DisplayName "Allow ZeroTier to WSL" `
-Direction Inbound -LocalAddress 192.168.160.1 `
-RemoteAddress 172.25.30.0/24 -Action Allow

3. 主机B配置步骤

(1) 添加静态路由

powershell

route add 192.168.160.0 mask 255.255.240.0 172.25.30.174

4. 测试

powershell

ping 192.168.160.1

🔍 常用 Windows 网络命令

命令 作用
ipconfig /all 查看所有网卡的详细信息
Get-NetAdapter 查看网卡列表、状态、速率
Get-NetIPAddress 查看所有 IP 地址信息
route print 查看当前路由表
tracert <IP> 路由跟踪
ping <IP> 测试网络连通性
Test-NetConnection <IP> -Port <端口> 测试端口可达性
netstat -ano 查看当前连接和监听端口
Get-NetNat 查看 NAT 配置
Remove-NetNat -Name <NAT名称> 删除 NAT 规则
Get-NetFirewallRule 查看防火墙规则
New-NetFirewallRule 新建防火墙规则
Restart-NetAdapter -Name "<网卡名>" 重启指定网卡