
我正在使用 Windows 7 Ultimate。
我已将内置防火墙设置为出站白名单模式(除非规则允许,否则阻止)。
现在,我正在尝试为内置防火墙配置一些出站规则。如果我有
C:\Dir\app.exe
尝试建立出站连接时,默认情况下会被阻止,如果我添加一条专门允许它的规则,它就会通过。到目前为止,一切都很好。一切都按照手册运行。:)
问题是我使用的文件系统结构有点复杂(灵活):除了安装 Windows 的磁盘驱动器外,我还拥有各种磁盘驱动器。每个卷(分区)(Windows 可以读取)都安装在
C:\mnt
像这样:
C:\mnt\1
C:\mnt\2
C:\mnt\3
然后我使用来自(例如)的连接(符号链接):
C:\Apps
到C:\mnt\1\^W7_Apps
C:\mnt\1\^W7_Apps
有里面Network\Iron\Iron.exe
所以
C:\Apps\Network\Iron\Iron.exe
有效路径(用于启动特定浏览器)。
这条路径在所有意图和目的上(呵呵)都是一条真实路径。Windows 资源管理器可以看到它并能够使用它。其他文件管理器也是如此。
回到防火墙。
如果我添加一条允许建立出站连接的规则C:\Apps\Network\Iron\Iron.exe
,它根本不起作用。
如果我添加一条允许C:\mnt\1\^W7_Apps\Network\Iron\Iron.exe
(应该没什么区别,但嘿)建立出站连接的规则,它也不起作用。完全不起作用。
我已经安装了Windows 防火墙通知程序。这会插入 Windows 防火墙框架并添加一些缺失的功能。它添加的一个缺失功能是通知尚未被规则覆盖的应用程序的出站连接尝试。当我再次测试时C:\Apps\Network\Iron\Iron.exe
,弹出窗口询问我是否要允许
\device\harddiskvolume8\^w7_apps\network\iron\iron.exe
建立该连接。
宾果!我想。在内部,防火墙看到了二进制文件的路径对象管理器命名空间符号。感谢精美的手册从未提及这一点。
但令人悲伤的是,允许这种联系所创建的规则同样不起作用。
帮助。 :)
不确定这个问题是否最好发布在 SuperUser 上,或者应该发布到 ServerFault 或 StackOverflow 或者[电子邮件保护]
答案1
虽然我不确定 Windows 7 是否适用,但在 Windows 10 中使用“真实”路径(在我们的例子中是使用%ProgramFiles%\CompanyName\ProgramType\%Version%\program.exe
)可以与 Windows 防火墙配合使用。请注意,在我们的例子中,系统环境变量Version
包含路径的特定版本部分,例如V12.0.1.23
。