您的位置:首页 > 数据库 > Memcache

memcached添加IP白名单,只允许指定服务器调用

2016-05-17 14:20 615 查看
由于memcached默认安装是不用配置密码的(具体的密码配置我也没怎么研究,据说是有的,大家感兴趣去找一找)

然而memcached链接也是非常简单的

linux命令链接使用 Telnet IP地址 端口 例如 telnet 127.0.0.1 11211

但是如果我们memcached启动时配置了外网IP可访问的话,那么怎么能保证指定的服务器能链接,而其他服务器拒绝链接呢,memcached又没有密码,怎么保证memcached的安全呢?带着这些疑问,我在网上也找了相关资料,也不知道对不对,有不对的地方,望大家海涵并指出

iptables 这个应该听过吧,这就是Linux防火墙的配置工具

没错,我们用iptables配置memcached的访问权限,比如我们开启了三个memcached服务器,端口分别是11211 11212 11213

大概的思路是

  1.禁止所以IP访问11211 11212 11213端口

  2.允许指定IP访问11211 11212 11213端口

这样不就解决问题了吗。

好,我们来配置一下iptables,如果大家很熟悉iptables的话,就不必往下看了,因为我讲的可能没你好。如果大家想了解更多更详细的,也可以去网上找相关资料

我启动memcached

memcached -d -m 64 -u root -p 11211 -P /tmp/memcached-11211.pid

memcached -d -m 64 -u root -p 11212 -P /tmp/memcached-11212.pid

memchaced -d -m 64 -u root -p 11213 -P /tmp/memcached-11213.pid

现在我们已经开启了3个memcached服务

接着我们用iptables做安全保护

终端输入

iptables -A INPUT -p tcp --dport 11211:11213 -j REJECT

iptables -I INPUT -s 127.0.0.1 -p tcp --dport 11211:11213 -j ACCEPT

iptables -I INPUT -s 目标IP -p tcp --dport 11211:11213 -j ACCEPT

这样只有本机和目标IP能操作memcached服务了

我们可以使用telnet 127.0.0.1 11211 访问测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: