我想知道如何配置Memcache服务器以接受仅来自给定IP地址的请求。我可以用iptables规则吗?任何示例代码都非常受欢迎。
答案 0 :(得分:2)
是的,你可以使用ip-tables,
使用以下内容启动memcached:
/usr/bin/memcached -p 11211 -l 0.0.0.0 -d -u www-data -m 12288
在上面的命令中,-l
参数设置为0.0.0.0
,允许来自任何来源的连接。如果您保留标准127.0.0.1
,则无效。
接下来,我们为iptables创建条目。如果您的memcached服务器在LAN上,则以下命令将仅允许来自特定本地服务器的连接。
例如,为了将192.168.4.25
添加到允许列表中,我们发出命令:
iptables -A INPUT -p tcp -s 192.168.4.24 --dport 11211 -j ACCEPT
如果要将远程服务器列入白名单,例如25.62.25.62
,则发出另一个命令:
iptables -A INPUT -p tcp -s 25.62.25.62 --dport 11211 -j ACCEPT
您可以根据需要将尽可能多的IP列入白名单,但请务必发出阻止该端口上所有其他连接的最终命令。
iptables -A INPUT -p tcp --dport 11211 -j REJECT
IPtables按照输入的顺序读取,因此如果您在发出任何ACCEPT规则之前发出REJECT ALL语句,则所有连接都将被拒绝(即使是列入白名单的连接)。