Windows Subsystem for Linux (WSL2) 网络访问问题解决笔记

发布时间:2024-04-05浏览次数:0

支持注册ChatGPT Plus的OneKey虚拟卡
绑定Apple Pay、Google Pay、支付宝和微信支付进行日常消费

注册和了解更多 ->

silver

在使用WSL2进行开发时,可能会遇到无法通过IP和端口访问Windows 10应用的问题。这通常与Windows防火墙的配置有关。以下是解决这类问题的一些关键步骤和命令行操作的笔记,方便后续复习和查询。

问题诊断和解决步骤

1. 检查Windows防火墙状态

  • 打开命令提示符(CMD)或PowerShell。
  • 运行以下命令来查看防火墙的状态:
    netsh advfirewall show allprofiles
    

2. 临时关闭Windows防火墙(不推荐)

  • 警告: 这会增加系统的安全风险。
  • 关闭防火墙命令:
    netsh advfirewall set allprofiles state off
    
  • 完成测试后,记得重新启用防火墙:
    netsh advfirewall set allprofiles state on
    

3. 开放端口通过创建入站规则(推荐)

  • 在保持安全的前提下,为特定端口创建入站规则允许通信。
  • 创建规则的命令如下:
    netsh advfirewall firewall add rule name="WSL2 Allow Port" dir=in action=allow protocol=TCP localport=<端口号>
    
  • <端口号>替换为实际需要开放的端口号。

4. 删除特定的入站规则

  • 如果需要删除之前创建的规则,可以使用以下命令:
    netsh advfirewall firewall delete rule name="WSL2 Allow Port" protocol=TCP localport=<端口号>
    
  • 同样,将<端口号>替换为对应的端口号。

列出和管理防火墙规则

列出所有防火墙规则

  • 使用CMD或PowerShell列出所有规则:
    netsh advfirewall firewall show rule name=all
    
  • 仅列出入站规则:
    netsh advfirewall firewall show rule name=all dir=in
    

使用PowerShell进行高级管理

  • PowerShell命令列出规则:
    Get-NetFirewallRule
    
  • 格式化输出示例:
    Get-NetFirewallRule | Format-Table Name, Enabled, Direction, Action -AutoSize
    

总结

上述笔记概述了使用WSL2时如何通过命令行管理Windows防火墙,以解决网络访问问题。包括检查防火墙状态、临时关闭防火墙、创建和删除特定端口的入站规则,以及如何列出和管理防火墙规则。这些步骤和命令有助于确保既能解决访问问题,又能维护系统的安全性。

字节笔记本扫描二维码查看更多内容