【问题标题】:Trying to connect to Firebird 4.0 from remote always generate error "connection rejected by remote interface"尝试从远程连接到 Firebird 4.0 总是会生成错误“远程接口拒绝连接”
【发布时间】:2022-11-06 05:46:39
【问题描述】:

我正在尝试从远程 PC 连接到我的服务器上的 Firebird 4.0,但总是失败。它总是报告:“连接被远程接口拒绝。”

我的服务器使用 Windows Server 2012 R2。我已经在端口 3050 上使用 telnet 对我的服务器进行了测试,并且它没有阻塞。所以我想这不是因为防火墙问题。

这在我使用 Firebird 2.5 时不会发生。

如果使用 Firebird 4.0,我必须做任何额外的设置吗?

【问题讨论】:

  • 您需要提供更多信息。你怎么连接?你用什么语言,用什么驱动?它与 Firebird 4.0 兼容吗?错误“连接被远程接口拒绝”有很多潜在的原因,但是对于 Firebird 3.0 及更高版本,这通常意味着您正在尝试连接不支持 Firebird 3.0 中引入的有线协议加密的库,并且您需要配置您的 Firebird 服务器WireCrypt=Enabled(而不是默认的Required),并且您可能需要使用旧版身份验证。
  • 如果您使用 fbclient,但使用 Firebird 2.5 或更早版本而不是 Firebird 4.0 的 fbclient,也会发生这种情况。
  • 嗨,马克,我使用 IBExpert 从 Windows 11 连接。我想将使用 Firebird 2.5 的当前数据库迁移到 Firebird 4.0。

标签: windows firebird firebird-4.0


【解决方案1】:

您应该尝试在firebird.conf 文件中设置以下参数:

AuthServer=Srp256,Srp,Legacy_auth 
AuthClient=Srp256,Srp,Legacy_auth 
UserManager=Srp,Legacy_UserManager 
WireCrypt=Enabled

如果问题仍然存在,您可以尝试使用以下参数集完全关闭 FB 3.0/4.0 的最新安全功能:

AuthServer = Legacy_Auth
AuthClient = Legacy_Auth
UserManager = Legacy_UserManager
WireCrypt = Disabled
WireCompression = false
DataTypeCompatibility = 2.5

这些将为服务器设置与旧客户端完全兼容的模式。

【讨论】:

  • 盲目地应用这些设置将降低支持有线加密和更安全的身份验证协议的客户端的安全性。最好设置AuthServer=Srp256,Srp,Legacy_authAuthClient=Srp256,Srp,Legacy_authUserManager=Srp,Legacy_UserManagerWireCrypt=Enabled。将 WireCompression 更改为 false 没有多大意义,因为这是客户端设置,如果客户端不支持压缩,它根本不会要求它。
  • 我明白了,但我敢打赌@Ongky 有一些遗留的 Windows 系统。并且根据我们上面的经验参数,我们可以将旧应用程序快速连接到新版本的 FB 3.0/4.0,其安全级别不低于以前。
  • 我建议的参数仍然允许遗留应用程序连接,而不会妨碍支持有线加密和更新的身份验证插件的应用程序的安全性。
  • 我已经更新了答案。
  • 我已经使用 Andrej 建议的配置更新了“firebird.conf”,并且我已经成功地使用 IBExpert 远程连接到数据库。使用“DataTypeCompatibility=2.5”,远程可以正常编辑存储过程,但是当我在服务器上使用 IBExpert 时,出现错误“SQLDA 结构中的值无效。”。当我删除“DataTypeCompatibility=2.5”并重新启动 Firebird 时,我得到了相反的结果。如何远程或直接从服务器编辑存储过程而不会出现错误消息?我需要在笔记本电脑上设置什么配置吗?
【解决方案2】:

ibExpert 期望远程系统提供 32 位 fblibclient.so,即使所有机器都是 64 位。 但是,如果您将服务器从 Firebird 64 降级到 32,您将无法再读取 64 位生成的 .fdb 文件。 需要一种在 64 位环境中向 ibExpert 呈现 32 位 fblibclient.so 的解决方案。

【讨论】:

    猜你喜欢
    • 2015-08-04
    • 2016-09-02
    • 1970-01-01
    • 2023-03-20
    • 2018-02-18
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多