Comment se connecter à memcached à partir d'une autre machine


22

J'essaie d'utiliser memcached à partir d'une autre machine (qui a accès à mon serveur), mais je ne sais pas comment.

sur la machine memcached je peux tester la connexion en exécutant

telnet 127.0.0.1 port

Et cela fonctionne, mais sur l'autre machine, il continue d'essayer de se connecter

telnet machine_address port
Trying machine_address...

Je ne sais pas si je devrais mettre en place autre chose pour le faire fonctionner. Je sais que le port fonctionne et est accessible, car si j'essaie d'exécuter d'autres services dessus, il fonctionne.

Os is ubuntu


J'ai ce même problème avec mes machines virtuelles, telnet renvoie "connexion refusée". Telnet local dans la machine memcache fonctionne. Ajout d'une règle explicite aux iptables pour autoriser le port 11211, pas de dés, ajout d'une règle dans le routeur pour autoriser le port, pas de dés ...
Purefan

Réponses:


25

Dans /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

Changer cela en

-l 0.0.0.0

et redémarrez memcached.


Cela n'a malheureusement pas fonctionné.
Oscar Del Ben

1
Vérifiez la sortie de netstat -ln4tthen pour voir si elle écoute sur 127.0.0.1:11211 ou 0.0.0.0:11211.
Majenko

la sortie est 0.0.0.0:*
Oscar Del Ben

Son embarrassant combien de temps il m'a fallu pour comprendre cela. Merci @Majenko
Ascherer

@Majenko Vous parlez Local Address?
chanchal118

3

Modifiez la -lligne /etc/memcached.conf. C'est là que vos options de démarrage sont stockées.

La ligne suivante permettra à memcached d'écouter sur toutes les interfaces:

sudo sed 's/-l/#-l/' /etc/memcached.conf && sudo service memcached restart

0

Il existe deux possibilités de base:

  • Vous avez défini votre instance memcached pour écouter uniquement sur l'interface de bouclage locale - vous pouvez vérifier cela en netstat -lsortie.
  • Votre iptablespare - feu est configuré pour rejeter toutes les connexions entrantes, à l'exception de celles qui sont explicitement autorisées.

Je vois le port autorisé sur nestat et iptables. Dans les tableaux ip, il lit tcp dpt: 11211
Oscar Del Ben
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.