gpt4 book ai didi

tcp - 带有 Firebird 1.0.3 和防火墙设置的事件端口

转载 作者:可可西里 更新时间:2023-11-01 02:33:59 24 4
gpt4 key购买 nike

我在遗留 LAN 应用程序中使用 Firebird 1.0.3,其中包括必须通知有关数据库事件的部分(进程) ;它在 Windows8 上运行。

CurrPorts ,我观察到 ibserver.exe 在 3050/tcp 上监听,并且一些与 [SERVERIP]:3050 建立的连接作为一个地址对。到目前为止一切顺利,这是我预期的行为。我只能猜测,其他连接(使用模式 [SERVER-P]:[port X]-[CLIENT-IP]:[port Y])是如何建立的。端口 X 和 Y 当然是动态端口。我想对于每个事件通知行

  • Firebird 服务器根据其客户端的请求打开一个带有动态端口号的套接字
  • Firebird 将端口号传递给客户端,然后
  • 客户端现在必须创建套接字(动态端口)并调用连接

...但是我想清楚地了解它,因为我必须设置防火墙规则。

是否足以在服务器计算机的应用程序级别启用 Firebird (ibserver.exe)?

(更改 firebird 版本和整体架构目前不是一种选择。)

最佳答案

默认情况下,Firebird 为事件使用随机端口。这不适用于防火墙,因此 Firebird 还提供了使用固定端口的选项,使用 firebird.conf 中的 RemoteAuxPort 设置。此选项是在 Firebird 1.5 中添加的,请参阅 Firebird 1.5 release notes .从 Firebird 1.0 迁移到 Firebird 1.5 应该相对容易(迁移到更新的版本,如 Firebird 2.5 可能需要更多工作)。

有关详细信息,请参阅 The Power of Firebird Events 中的常见问题:防火墙部分米兰·巴布什科夫 (Milan Babuškov):

The client has a regular connection to Firebird server at its port (3050 by default, but can be changed). When it is registering for events, it sends the request over that connection. The server opens another connection at some random port (4012 for example) and sends that port number to the client. The client then connects to that port.

[...]

When client registers for events, the server opens a random port (ex. 6023) and sends that info to the client. This is where the problem becomes evident: the client tries to connect to that port (6023) on the firewall (as it “sees” the firewall as a server). Since the port is completely random, there are certainly no forwarding rules for that port on the firewall, so connection is denied. Using this setup, there is no way to make it work, short of forwarding all the traffic (all ports) to Firebird server, which is the exact thing we wish to avoid by placing the firewall in front.

关于tcp - 带有 Firebird 1.0.3 和防火墙设置的事件端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21428179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com