【发布时间】:2012-12-28 09:36:45
【问题描述】:
我正在尝试连接到远程 mongodb 服务,但无法弄清楚如何让它工作。远程 mongod 在 Ubuntu 机器上运行。我是一个非常新手的 unix 用户,但我有理由确定问题是我可能没有使用iptables 打开防火墙,我已经尝试了 mongodb 文档中的命令,但仍然没有成功。
mongodb.conf相关规则
bind_ip = 0.0.0.0
port = 27017
auth = false
netstat -A
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:28017 *:* LISTEN
tcp 0 0 *:27017 *:* LISTEN
iptables -L -n
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
DROP all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:27017 state NEW,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:28017 state NEW,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:27017 state ESTABLISHED
按照 mongodb 文档 - http://docs.mongodb.org/manual/tutorial/configure-linux-iptables-firewall/#patterns 中记录的方式执行 iptables 命令
这是我尝试过的:
浏览器:http://xx.xx.xx.xx:27017/ 无响应。
浏览器:http://xx.xx.xx.xx:28017/ 无响应。
浏览器:http://www.hostname.com:27017/ 无响应。
浏览器:http://www.hostname.com:28017/ 无响应。
mongo.exe xx.xx.xx.xx:27017(远程)couldn't connect to server xx.xx.xx.xx
mongo xx.xx.xx.xx:27017(来自本地主机)正确连接
mongo www.hostname.com:27017(来自本地主机)正确连接
即使我指定了 IP 地址,它也可以通过托管 mongodb 的服务器上的 localhost 正确连接,这让我认为这一定是防火墙问题。有什么想法吗?
【问题讨论】: