Windows 2008 防火墙上的端口转发

Windows 2008 防火墙上的端口转发

我有 Windows 2008 机箱,并且想在 Windows 防火墙中为 MSSQL Server 设置端口转发规则。

我已经创建了防火墙规则

Profile: Any
Enabled: Yes
Action: Allow
Program: Any
Local Address: xxx.xxx.xxx.xxx (My MSSQLServer IP address)
Remote Address: Any
Protocol: TCP
Local Port: 1434
Remote Port: 1433

我无法xxx.xxx.xxx.xxx, 1433使用 MSSQL Management Studio进行连接

但如果我离开远程端口Any那么我就可以xxx.xxx.xxx.xxx, 1434使用1434端口进行连接。

Profile: Any
Enabled: Yes
Action: Allow
Program: Any
Local Address: xxx.xxx.xxx.xxx (My MSSQLServer IP address)
Remote Address: Any
Protocol: TCP
Local Port: 1434
Remote Port: Any

为什么端口转发对我而言不起作用?

答案1

Windows 防火墙无法执行您所要求的操作。

您添加的防火墙规则基本上告诉防火墙使用端口 1433 监听端口 1434 上的远程客户端。通常,您不会同时使用输入和输出端口规范(一般)。

您确实希望使用 RRAS 来执行 NAT。您需要启用“网络策略和访问服务”角色,并完成设置 NAT 规则的过程,以在端口 1433 上侦听入站,并将其重定向到您用于与该 SQL 实例通信的网络适配器上的端口 1434。

虽然通常情况下,您可以让多个实例在同一端口下运行。因此,您可能需要了解为什么您的 SQL 安装监听两个端口而不是一个端口。它应该允许您在同一台机器上对两个实例使用同一个端口。也许可以从这里开始阅读一些内容。您可能根本不需要 NAT。 http://support.microsoft.com/kb/823938

答案2

这不是端口转发。当您在防火墙规则中指定远程端口时,它是来自客户端工作站的源端口。
如果您希望服务侦听其他端口,请重新配置服务以执行此操作。

相关内容