wsl2 网络相关设置
ws2 相关设置
参考链接:jump here
从window主机查看linx子系统ip【win->wsl】
wsl -d <DistributionName> hostname -I
从linux子系统查看windown主机ip【wsl->win】
ip route show | grep -i default | awk '{ print $3}'
获取 WSL GUID
Get-NetFirewallHyperVVMCreator
输出包含具有唯一标识符 VMCreatorId 和 friendly name 属性的 VmCreator 对象类型。 例如,以下输出显示了 WSL 的属性
Get-NetFirewallHyperVVMCreator
VMCreatorId : {40E0AC32-46A5-438A-A0B2-2B479E8F2E90}
FriendlyName : WSL
备注
WSL VMCreatorId 为 {40E0AC32-46A5-438A-A0B2-2B479E8F2E90}。
验证 Hyper-V 防火墙设置
Hyper-V 防火墙具有通常应用于 VMCreatorId 的设置。 使用 Get-NetFirewallHyperVVMSetting cmdlet 检查设置。 例如,可以使用 命令获取应用于 WSL 的策略:
Get-NetFirewallHyperVVMSetting -PolicyStore ActiveStore -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'
备注
-PolicyStore ActiveStore 返回 应用的 设置。
输出包含以下值:
值 | 描述 |
---|---|
Enabled (True/False) | 如果为 WSL VM 启用了 Hyper-V 防火墙,则为 True。 |
DefaultInboundAction, DefaultOutboundAction | 这些是应用于进入或离开 WSL 容器的数据包的默认规则策略。 可以修改规则策略,如本文所述。 |
LoopbackEnabled | 跟踪是否允许主机和容器之间的环回流量,而无需任何 Hyper-V 防火墙规则。 WSL 默认启用它,以允许 Windows 主机与 WSL 通信,WSL 与 Windows 主机通信。 |
AllowHostPolicyMerge | 确定 Windows 主机防火墙企业设置 (GPO) 、Hyper-V 防火墙企业设置 (CSP) 、Windows 主机防火墙企业设置 (CSP) 、本地 Hyper-V 防火墙设置和本地主机防火墙设置的交互方式。Set-NetFirewallHyperVVMSetting cmdlet 详细介绍了此设置。 |
配置 Hyper-V 防火墙
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow
或者
New-NetFirewallHyperVRule -Name "MyWebServer" -DisplayName "My Web Server" -Direction Inbound -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -Protocol TCP -LocalPorts 80