如何允许来自特定IP的特定端口的传入连接

我在Docker容器中运行MongoDB,主机上暴露了27017端口,允许远程连接。 我想阻止这个端口上的传入连接,除了一个特定的IP。 我试着用iptables,但它不工作。 也许是因为需要修改iptables命令的docker服务。

但是我使用了下面的命令:

myserver>iptables -I INPUT -p tcp -s 10.10.4.232 --dport 27017 -j ACCEPT myserver>iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 27017 -j DROP myserver>service iptables save 

然后尝试以下检查

 mylocal>telnet myserver 27017 

它被连接。 所以iptables不起作用。

我该怎么做?

我正在使用centos 6.8并在docker容器中运行mongodb 10。

首先,启用你想连接的源IP:

 iptables -A INPUT -p tcp --dport 27017 -s 10.10.4.232 -j ACCEPT 

然后放下所有其他的东西:

 iptables -A INPUT -p tcp --dport 27017 -j DROP