Como se conectar ao memcached de outra máquina

22

Estou tentando usar o memcached de uma máquina diferente (que tem acesso ao meu servidor), mas não consigo descobrir como.

na máquina memcached eu posso testar a conexão executando

telnet 127.0.0.1 port

E funciona, mas na outra máquina, ele continua tentando se conectar

telnet machine_address port
Trying machine_address...

Não tenho certeza se devo configurar outra coisa para fazê-lo funcionar. Eu sei que a porta está funcionando e acessível, porque se eu tentar executar outros serviços nela, eles funcionarão.

OS é ubuntu

Oscar Del Ben
fonte
Estou tendo o mesmo problema com minhas máquinas virtuais, o telnet retorna "conexão recusada". O telnet local na máquina memcache funciona. Adicionada uma regra explícita ao iptables para permitir a porta 11211, sem dados, adicionada uma regra no roteador para permitir a porta, sem dados ...
Purefan

Respostas:

25

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

Mude isso para

-l 0.0.0.0

e reinicie o memcached.

Majenko
fonte
Infelizmente, isso não funcionou.
Oscar Del Ben
1
Verifique a saída netstat -ln4te verifique se está ouvindo 127.0.0.1:11211 ou 0.0.0.0:11211.
Majenko 01/06
a saída é 0.0.0.0:*
Oscar Del Ben
É embaraçoso quanto tempo levei para descobrir isso. Obrigado @Majenko
Ascherer
@Majenko Você está falando Local Address?
precisa
3

Edite a -llinha /etc/memcached.conf. É aqui que suas opções de inicialização são armazenadas.

A seguinte linha permitirá que o memcached escute em todas as interfaces:

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

Existem duas possibilidades básicas:

  • Você configurou sua instância do memcached para escutar apenas na interface de loopback local - você pode verificar isso na netstat -lsaída.
  • Você tem seu iptablesfirewall configurado para rejeitar todas as conexões de entrada, exceto aquelas que são explicitamente permitidas.
che
fonte
Eu vejo a porta permitida no nestat e no iptables. Em tabelas IP que lê DPT tcp: 11211
Oscar Del Ben