我的 ubuntu 服务器上运行着 Firebird 服务,它在服务器内部运行良好。但是当我尝试从另一台机器上使用时,它却不起作用。就像防火墙问题一样。我确实做了一些测试来检查 ubuntu 环境:
root@ubuntuserver:~# ps -ef | grep fbserver
firebird 1170 1 0 12:28 ? 00:00:00 /usr/sbin/fbguard -daemon -forever -pidfile /var/run/firebird/2.5/fbserver.pid
root 3251 3201 0 13:30 pts/0 00:00:00 grep --color=auto fbserver
root@ubuntuserver:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:gds-db
ACCEPT tcp -- anywhere anywhere tcp dpt:3051
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@ubuntuserver:~# nmap -p 3050 localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-19 13:34 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
PORT STATE SERVICE
3050/tcp open gds_db
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
root@ubuntuserver:~# uname
Linux
root@ubuntuserver:~# uname -a
Linux ubuntuserver 3.11.0-14-generic #21-Ubuntu SMP Tue Nov 12 17:04:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
root@ubuntuserver:~# telnet localhost 3050
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^[
^CConnection closed by foreign host.
root@ubuntuserver:~#
我认为还有其他东西阻碍了访问。我可以从网络上的其他机器 ping 通它。
请帮助我。
答案1
注释掉以下行(在前面放置一个 #):
RemoteBindAddress = localhost
这样它看起来就像:
#RemoteBindAddress = localhost
答案2
检查 firebird.conf 中 RemoteBindAddress 是否为 localhost 硬编码