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 "<网卡名>" |
重启指定网卡 |