一些服务器软件(名为软件) 在 Windows PC 上运行(pc1)。在同一个局域网中,客户端软件正在连接到该服务器软件。配置文件中的一个参数显示ServerName=pc1\software
。
我相信这里的“software”是服务用户名,客户端软件尝试在“pc1”计算机上以该用户“software”的身份进行身份验证。这有效。使用服务器的 ip: 也有效ServerName=192.168.1.12\software
。
由于这些当然是本地主机名和 IP,因此当客户端从 LAN 外部连接时,客户端-服务器连接不再起作用。
我认为这应该很简单:
- 配置路由器以允许传入连接
- 将配置文件中的服务器 IP 替换为面向 WAN 的 IP
但是,尽管我尝试了端口转发并将服务器置于路由器的 DMZ 中,但连接现在超时了。
Windows 是否还需要其他东西才能接受来自 WAN 的用户名登录?这种登录方式是否需要打开一组特定的端口?除了路由器之外,我还应该配置 Windows 防火墙吗?
答案1
我正在尝试一步一步地完成这一操作。
几乎任何(合理的)服务器软件都有一个要监听的地址范围。如果服务器配置为仅响应来自其自身子网的请求(在许多情况下这是默认设置),它将不会响应来自 WAN 的请求。只要您不在防火墙上乱搞双向 NAT 实现(我不建议这样做)。
您输入的 ConnectionString 看起来像是 SQL 连接字符串。如果连接目标是 [SQL] 数据库,请检查其侦听器配置。
是非常非常非常将主机暴露给互联网时要小心。尤其当您不确定所使用的协议、传输加密、身份验证、所使用的服务或数据本身时。这就是 VPN 的发明目的。
Windows 还需要什么才能接受来自 WAN 的用户名登录吗?
由于您描述的 ConnectionString 不是 Windows 使用的,而是由特殊应用程序使用的,因此答案是否定的。如果您想知道某些 Windows 服务需要通过 WAN 运行,您必须询问它。有很多Windows 机器可以提供的服务,并没有“适合所有人”的答案,抱歉。
这种登录方式是否需要打开一组特定的端口?
这取决于您要连接的服务。了解您要实现的目标会非常有帮助。
在未知设置中,通过未知端口使用未知服务配置连接未知服务并不容易。
除了路由器之外,我还应该配置 Windows 防火墙吗?
您必须始终确保您的数据包能够到达目的地。每一个必须配置源(source-pc)和目标(pc1\service)之间的防火墙以允许连接发生。