![创建 Windows 防火墙规则后是否需要重新启动守护进程?](https://linux22.com/image/784623/%E5%88%9B%E5%BB%BA%20Windows%20%E9%98%B2%E7%81%AB%E5%A2%99%E8%A7%84%E5%88%99%E5%90%8E%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B%EF%BC%9F.png)
我在 Windows Server 2019 中运行一个守护进程,并且阻止了出站流量。
我为守护进程的可执行文件设置了一条防火墙规则,允许出站流量,并且运行良好。但作为定期自动环境刷新的一部分,我删除了这条防火墙规则,并使用完全相同的配置和名称重新创建了它。当我删除规则时,守护进程将不再具有外部访问权限。但在重新创建后,守护进程不会恢复外部访问权限,直到我重新启动它(守护进程,而不是服务器)。
来自其他 SO,所以我不习惯这种情况。这是正常行为吗?我已经尝试刷新 ARP 表,但没有解决问题。有什么方法可以避免重新启动守护进程?
编辑:正如接受的答案所说,无需重新启动该过程。澄清一下发生了什么:二进制文件位于 VHD 中。Windows 防火墙使用二进制文件的路径来设置规则,但该路径使用其内部名称存储,例如 device\harddiskvolume0\ 而不是 D:。每次重新创建 VHD 时,规则的内部名称都会更改,导致规则无效,直到我们重新启动守护程序。创建规则后重新启动守护程序解决了该问题。
答案1
那要看情况。防火墙将在第二次点击“确定”时打开端口。
但是:如果初始连接被阻止,并且守护进程没有自行启动新连接,则所有端口都保持 TCPSTATE_CLOSED 状态。有些应用程序会这样做,需要重新启动才能启动新套接字。