Can';t通过php连接到远程主机上的MongoDB

Can';t通过php连接到远程主机上的MongoDB,php,mongodb,remoting,freebsd,Php,Mongodb,Remoting,Freebsd,我有这样的网络配置(见链接-) 其中: 笔记本-包含Zend(Windows)上mongodb+web项目的Apache+php+mongodb+php驱动程序 路由器-虚拟站(192.168.5.23接口+ipfw上的nat) natd.conf: interface le0 same_ports use_sockets redirect_port tcp 192.168.5.23:27017 27017 redirect_port tcp 192.168.5.23:27017 27017

我有这样的网络配置(见链接-)

其中: 笔记本-包含Zend(Windows)上mongodb+web项目的Apache+php+mongodb+php驱动程序

路由器-虚拟站(192.168.5.23接口+ipfw上的nat)

natd.conf:

interface le0
same_ports
use_sockets
redirect_port tcp 192.168.5.23:27017 27017
redirect_port tcp 192.168.5.23:27017 27017
ipfw: 任凭

虚拟工作站2-仅包含mongodb(无php、apache或mongodb php驱动程序)

1-从笔记本到mongodb主机的ping和反向操作-正常工作

2-虚拟mongodb主机上的外壳:mongo 192.168.5.20:27017-成功连接到笔记本电脑的mongodb

3-尝试从笔记本连接到虚拟主机会导致以下错误:

C:\mongodb1.8.2\bin>mongo 192.168.9.21:27017
MongoDB shell version: 1.8.2
connecting to: 192.168.9.21:27017/test
Sun Oct 02 22:31:14 Error: couldn't connect to server 192.168.9.21:27017 shell/mongo.js:81
exception: connect failed
4-尝试在php项目(www.vm.lcl)中使用带有DB的远程主机:

请给我一些建议——我应该朝什么方向去寻找我的错误!
非常感谢

我通过更改natd.conf中的规则解决了这个问题

redirect_port tcp 192.168.5.23:27017 27017
redirect_port tcp 192.168.9.11:27017 192.168.9.21:27017
到 重定向\u端口tcp 192.168.5.23:27017 192.168.9.21:27017

在了解如何修复之前,我已经使用apache+php+mongo php驱动程序(未安装mongodb)在虚拟网络(192.168.9.0/24)中创建了web服务器(192.168.9.11),并尝试连接到192.168.9.21

$m = new Mongo("mongodb://192.168.9.21:27017");
这毫无意义。我花了一整天的时间在头脑风暴和谷歌上搜索信息,但还是一无所获。(连接到服务器时超时出错)。然后我休息了几个小时,了解到,在我的情况下,所有流量都通过Freebsd网关主机并添加到natd.conf

redirect_port tcp 192.168.5.23:27017 27017
redirect_port tcp 192.168.9.11:27017 192.168.9.21:27017
重新启动gate way服务器,它就可以工作了