2012-12-28 78 views
1

我試圖連接到遠程mongodb服務,無法弄清楚如何使其工作。遠程mongod正在Ubuntu盒子上運行。我是一個非常新手的unix用戶,但我相當確定問題在於我沒有打開防火牆,可能是iptables,我試過了mongodb文檔中的命令,但仍然沒有成功。無法通過mongo shell連接到遠程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 

的iptables命令,在MongoDB的文檔文件執行 - http://docs.mongodb.org/manual/tutorial/configure-linux-iptables-firewall/#patterns

這是我試過的:

瀏覽器:http://xx.xx.xx.xx:27017/沒有迴應。

browser:http://xx.xx.xx.xx:28017/ no response。

browser:http://www.hostname.com:27017/ no reponse。

瀏覽器:http://www.hostname.com:28017/無反應。

mongo.exe XX.XX.XX.XX:27017(遠程)couldn't connect to server xx.xx.xx.xx

蒙戈XX.XX.XX.XX:27017(從本地主機)正確連接

蒙戈www.hostname.com :27017(從本地主機)連接正確

事實上,它連接在承載mongodb的服務器上的本地主機,即使我指定的IP地址,使我認爲它必須是一個防火牆問題。有任何想法嗎?

回答

4

iptables按照它們出現的順序準確讀入規則。 您現在有DROP優先於您的mongodb端口的ACCEPT

洗牌,設置了iptables和在您的特定腳本中的線齊平,並在重新閱讀他們回來。

如果您還沒有保存您的防火牆還沒有,刪除DROP規則並重新添加它,它會將其轉移到列表中並解決您的問題。

+0

美麗,非常感謝。有了這麼多不熟悉的技術,Ubuntu,Mongo,Iptables,Netstat,我甚至都不知道從哪裏開始= p。 – Nucleon

相關問題