MongoDB MongoDB 配置 iptables 限制 ip 访问造成访问不稳定

mingmingpao · 2015年07月06日 · 最后由 cicero 回复于 2015年11月06日 · 4328 次阅读

我的服务器部署在阿里云上,系统是Ubuntu Server 14.04,iptables配置项如下(用的教程是http://blog.csdn.net/pang040328/article/details/19047573):

sudo iptables -I INPUT -p tcp --dport 27017 -j DROP
sudo iptables -I INPUT -s 127.0.0.1 -p tcp --dport 27017 -j ACCEPT
sudo iptables -I INPUT -s <my-server-ip> -p tcp --dport 27017 -j ACCEPT

结果造成数据库访问不稳定,有时访问出错,有时会访问速度较慢。

why?

共收到 5 条回复

真的需要配嘛?MongoDB默认不就是只侦听本地127.0.0.1么?。。

#1楼 @ericguo 真的需要,注意第三个命令。

想多了,出错不是 iptables 的事,楼主了解一下这3行规则到底是什么意思,就不知道为什么不会造成访问速度较慢或者不稳定了。

速度慢有3种可能:

  1. 你本机网络太慢
  2. 阿里云网络太慢
  3. 数据库负载太高

你依次排查。

#3楼 @kgen 不过我执行了下列命令清除iptables的配置的时候,问题就没了。

sudo iptables -X
sudo iptables -F

1,2,3我觉得都不成立的。关键在于经常抛出数据库连接不上的错误。

把你防火墙第一条规则移到最下面。 简单来说,iptables首先执行forward table,然后是filter table,进入到filter table的时候,是从上往下依次匹配,遇到第一个匹配的就执行,停止下面的规则。 你第一条规则就把tcp的27017端口给封了,后面的当然不work,换个顺序试试

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册