Access memcache on remote servers

Access memcache on remote servers

By default memcache server is restricted to localhost and cannot be accessed outside server. You have to make configuration changes to  allow others to listen memcache server. Now make changes in memcache configuration.

vi /etc/memcached.conf

Keep in mind that the -l parameter is set to, which essentially allows connections from ANY source. If you keep the standard this will not work.
Next, we make entries to the iptables. If your memcached server is on your LAN, the following command will allow connections only from specific local servers.
For instance, in order to add 111.222.333.444 to the allowed list, we issue the command:

iptables -A INPUT -p tcp -s 111.222.333.444 --dport 11211 -j ACCEPT

If you want to whitelist a remote server, for example, 555.666.777.888 then you issue another command:

iptables -A INPUT -p tcp -s 555.666.777.888 --dport 11211 -j ACCEPT

You can whitelist as many IPs as you want, but be sure to issue the final command that blocks all other connections on that port.

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

The IPtables are read in the order they are entered, so if you issue a REJECT ALL statement before issuing any ACCEPT rules, all connections will be rejected (even the whitelisted ones).
You can view firewall rules in IPTables by this command

sudo iptables -L

You can edit rules by this command
You can save IP Tables with this command

sudo /sbin/iptables-save

To clear all the currently configured rules, you can issue the flush command.

iptables -F

Now memcache would be accessible on remote server. You can check it by issuing the command below.

echo "stats settings" | nc 111.222.333.444 11211

You can also check by telnet

telnet 111.222.333.444 11211

Share this post