服務器A搭建的mongodb,為了安全起見,在配置文件/etc/mongod.conf中設置了 band_ip=127.0.0.1。最近要允許其它主機訪問服務器A的mongodb,理所當然的以為在band_ip中增加需要訪問的主機的IP地址就可以實現這個需求,然後修改成如下之後:
band_ip=172.0.0.1,10.20.12.33
重啟mongod服務,報錯如下:
ERROR: listen(): bind() failed errno:99 Cannot assign requested address for socket: 10.20.12.33:27017
網上看的很多文章都說可以綁定多個IP,然而並沒有說明band_ip實際只能綁定mongodb服務所在機器的網卡IP。為了防止被入侵,做了如下安全策略;
1,band_ip=0.0.0.0
2,增加iptables規則:
#禁止所有ip訪問27017端口
iptables -I INPUT -p tcp –dport 27017 -j DROP
#允許10.20.12.33訪問27017端口
iptables -I INPUT -s 10.20.12.33 -p tcp –dport 27017 -j ACCEPT
#允許本機訪問27017端口
iptables -I INPUT -s 127.0.0.1 -p tcp –dport 27017 -j ACCEPT