Redis - 绑定界面不起作用(连接被拒绝)!

时间:2017-09-06 21:29:20

标签: redis

我尝试配置Redis(redis.confbind参数)以仅接受来自某些ips的访问权限。在我的情况下,我想启用对环回网络接口(127.0.0.1 / ::1)的访问,对于ip 192.168.56.101192.168.56.102是Redis服务器的ip)。根据我到目前为止阅读的所有文档,下面的配置应该有效...

bind 127.0.0.1 ::1 192.168.56.101

......但事实并非如此。

我已经尝试了其他几种配置......

bind 127.0.0.1 192.168.56.101 ::1
bind 127.0.0.1 192.168.56.101
bind 192.168.56.101
bind 192.168.56.0
bind 192.168.0.0

......没有任何作用。 = |

唯一有效的配置是......

bind 0.0.0.0

但是,此配置可以打开任何ip!

的访问权限

注意: protected-mode参数(redis.conf)的值为no

知道可能会发生什么吗?

参考:

  

Redis bind to more than one IP

     

https://redis.io/topics/security

     

http://download.redis.io/redis-stable/redis.conf

更多问题:

如何启用IP范围(bind参数)的访问权限?有点像...

bind 192.168.56.0

......或......

bind 192.168.56.0/24

在这些示例中,任何一台ip开头于" 192.168.56"将有权访问Redis服务器。

@Carl Dacosta @Jacky

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为你误解了bind配置和IP-whitelist

bind配置指定Redis侦听的IP地址。如果将Redis绑定到环回接口,则只有本地客户端可以访问Redis。如果您希望其他主机访问Redis,则必须将Redis绑定到所有网络接口(即0.0.0.0)或某些指定的网络接口。

您需要的是IP-whitelist,它列出了可以访问Redis的IP地址。 AFAIK,到目前为止,Redis 不支持支持(纠正我,如果我错了)。

还有其他解决方案可以限制对Redis的访问(所有这些解决方案都需要Redis NOT 来绑定环回接口)。

  

通过身份验证限制访问

您可以使用requirepass配置为Redis设置密码。只有拥有密码的客户才能访问Redis。

  

限制OS实用程序的访问

在Linux上,您可以使用iptables来控制网络访问。使用此实用程序,您只能允许指定的主机访问Redis绑定到的端口。