Cómo conectarse a memcached desde otra máquina

22

Estoy tratando de usar memcached desde una máquina diferente (que tiene acceso a mi servidor), pero no puedo entender cómo.

en la máquina memcached puedo probar la conexión ejecutando

telnet 127.0.0.1 port

Y funciona, pero en la otra máquina sigue intentando conectarse

telnet machine_address port
Trying machine_address...

No estoy seguro de si debería configurar algo más para que funcione. Sé que el puerto funciona y es accesible porque si intento ejecutar otros servicios en él, funcionan.

Os es ubuntu

Oscar Del Ben
fuente
Tengo el mismo problema con mis máquinas virtuales, telnet devuelve "conexión rechazada". Telnet local en la máquina memcache funciona. Se agregó una regla explícita a las iptables para permitir el puerto 11211, sin dados, se agregó una regla en el enrutador para permitir el puerto, sin dados ...
Purefan

Respuestas:

25

En /etc/memcached.conf:

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1

Cambia eso a

-l 0.0.0.0

y reiniciar memcached.

Majenko
fuente
Eso no funcionó desafortunadamente.
Oscar Del Ben
1
Verifique la salida de netstat -ln4tentonces para ver si está escuchando en 127.0.0.1:11211 o 0.0.0.0:11211.
Majenko 01 de
la salida es 0.0.0.0:*
Oscar Del Ben
Es vergonzoso cuánto tiempo me llevó resolver esto. Gracias @Majenko
Ascherer
@Majenko ¿De qué estás hablando Local Address?
chanchal118
3

Edite la -llínea en /etc/memcached.conf. Aquí es donde se almacenan sus opciones de inicio.

La siguiente línea permitirá a memcached escuchar en todas las interfaces:

sudo sed 's/-l/#-l/' /etc/memcached.conf && sudo service memcached restart
Rhett Raduenz
fuente
0

Hay dos posibilidades básicas:

  • Ha configurado su instancia de memcached para que escuche solo en la interfaz de bucle de retorno local; puede verificar esto en la netstat -lsalida.
  • Tienes tu iptablesfirewall configurado para rechazar todas las conexiones entrantes, excepto aquellas que están explícitamente permitidas.
che
fuente
Veo el puerto permitido tanto en nestat como en iptables. En las tablas ip se lee tcp dpt: 11211
Oscar Del Ben