将 WSL 添加到 Windows 防火墙
Posted
技术标签:
【中文标题】将 WSL 添加到 Windows 防火墙【英文标题】:Add WSL to Windows Firewall 【发布时间】:2017-10-04 02:54:22 【问题描述】:启动需要 BrowserSync 的 Node.js 应用程序后,一切正常,我可以通过 localhost:3000 和运行该应用程序的同一台机器上的给定 IPv4 地址访问该应用程序。但是如果不关闭 Windows 默认防火墙,我就无法从我的手机或同一网络上的任何其他设备访问它。它适用于 VirtualBox 上的 Ubuntu 和普通的 Windows,没有任何问题,并且具有活动的防火墙。 因此,如果您知道如何将 WSL 的例外添加到 Windows 防火墙配置中,那就太好了,这样我就不必每次都将其完全关闭 :)
顺便说一句,我使用的是 Windows build 15063
【问题讨论】:
【参考方案1】:是否为 Node 正确启用了防火墙规则?
http://imgur.com/a/Ln0N1
【讨论】:
是的,但那是安装在windows上的节点,根据任务管理器,WSL使用的节点安装在WSL中。如果我点击路径没有任何反应,对我来说似乎有点奇怪...... 嗯....你有没有想过只为端口 3000 添加防火墙规则,而不是为特定程序添加规则?【参考方案2】:这有点棘手,但很容易。只需要以管理员身份使用 Windows PowerShell 而不是直接使用发行版界面。否则将无法正常工作。
右键单击开始菜单。 以管理员身份打开 PowerShell。 输入 wsl。 提供您的凭据。 (注意:现在您处于发行版界面。使用“Ubuntu Firewall (ufw)”命令管理“Windows 防火墙”键入以下命令。) :~#sudo service ufw start //用于启动ufw :~#sudo systemctl enable ufw //用于在系统启动时启用 ufw。 &要么 :~#sudo ufw enable //用于在系统启动时启用 ufw。 注意:您需要首先启动 ufw 服务,才能使用 ufw 命令来管理“Windows 防火墙强>'。并在系统启动时使用 systemctl 命令启用它。其余管理命令均与主发行版相同。【讨论】:
感谢您的回答。这次我学会了service
命令和systemctl
命令的区别。以上是关于将 WSL 添加到 Windows 防火墙的主要内容,如果未能解决你的问题,请参考以下文章
用VBS修改远程桌面3389端口并添加到Windows防火墙的代码
以编程方式将 IP 添加到 Server 2008 防火墙规则