So stellen Sie eine Verbindung zu Memcached von einem anderen Computer her

22

Ich versuche, memcached von einem anderen Computer (der Zugriff auf meinen Server hat) zu verwenden, aber ich kann nicht herausfinden, wie.

Auf dem zwischengespeicherten Computer kann ich die Verbindung durch Ausführen testen

telnet 127.0.0.1 port

Und es funktioniert, aber auf der anderen Maschine versucht es immer wieder, eine Verbindung herzustellen

telnet machine_address port
Trying machine_address...

Ich bin mir nicht sicher, ob ich etwas anderes einrichten sollte, damit es funktioniert. Ich weiß, dass der Port funktioniert und zugänglich ist, da er funktioniert, wenn ich versuche, andere Dienste darauf auszuführen.

Os ist Ubuntu

Oscar Del Ben
quelle
Ich habe das gleiche Problem mit meinen virtuellen Maschinen. Telnet gibt "Verbindung abgelehnt" zurück. Lokales Telnet auf dem Memcache-Rechner funktioniert. Es wurde eine explizite Regel zu den Iptables hinzugefügt, um den 11211-Port zuzulassen, keine Würfel. Es wurde eine Regel im Router hinzugefügt, um den Port zuzulassen, keine Würfel.
Purefan

Antworten:

25

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

Ändern Sie das zu

-l 0.0.0.0

und starte memcached neu.

Majenko
quelle
Das hat leider nicht geklappt.
Oscar Del Ben
1
Überprüfen Sie die Ausgabe von netstat -ln4tthen, um festzustellen, ob sie 127.0.0.1:11211 oder 0.0.0.0:11211 wiedergibt.
Majenko
Die Ausgabe ist 0.0.0.0:*
Oscar Del Ben
Es ist peinlich, wie lange ich gebraucht habe, um das herauszufinden. Thanks @Majenko
Ascherer
@Majenko Du redest Local Address?
Chanchal118
3

Bearbeiten Sie die -lZeile in /etc/memcached.conf. Hier werden Ihre Startoptionen gespeichert.

In der folgenden Zeile kann memcached alle Schnittstellen überwachen:

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

Es gibt zwei grundlegende Möglichkeiten:

  • Sie haben Ihre memcached-Instanz so eingestellt, dass sie nur die lokale Loopback-Schnittstelle überwacht. Sie können dies in der netstat -lAusgabe überprüfen .
  • Sie haben Ihre iptablesFirewall so eingestellt, dass alle eingehenden Verbindungen abgelehnt werden, mit Ausnahme der ausdrücklich zugelassenen.
che
quelle
Ich sehe, dass der Port sowohl auf nestat als auch auf iptables erlaubt ist. In den IP-Tabellen steht tcp dpt: 11211
Oscar Del Ben