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

Oscar Del Ben
la source
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.

Majenko
la source
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
Rhett Raduenz
la source
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.
che
la source
Je vois le port autorisé sur nestat et iptables. Dans les tableaux ip, il lit tcp dpt: 11211
Oscar Del Ben