redis “Nenhuma rota para hospedar” ao efetuar o ping de um host de redis remoto

3

Estou no processo de configuração de um servidor Resque e estou tendo que configurar o Redis pela primeira vez. Ao usar o redis-cli para executar ping no servidor remoto, recebo um erro "Nenhuma rota para hospedar", no entanto, quando faço ping diretamente no servidor remoto, ele retorna ok. Como eu nunca lidei muito com os redis ou muito nos bastidores de um servidor, não tenho certeza do que fazer a seguir.

[root@ss03-dev-worker bin]# redis-cli -h 10.176.x.yyy ping
Could not connect to Redis at 10.176.x.yyy:6379: No route to host

[root@ss03-dev-worker bin]# ping 10.176.x.yyy
PING 10.176.x.yyy (10.176.x.yyy) 56(84) bytes of data.
64 bytes from 10.176.x.yyy: icmp_seq=1 ttl=61 time=2.09 ms
64 bytes from 10.176.x.yyy: icmp_seq=2 ttl=61 time=0.812 ms
64 bytes from 10.176.x.yyy: icmp_seq=3 ttl=61 time=0.508 ms
^C
--- 10.176.x.yyy ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2785ms
rtt min/avg/max/mdev = 0.508/1.139/2.099/0.690 ms

Eu me certifiquei de que as regras de iptable nos servidores de incômodo permitissem conexões de cada uma.

[root@ss03-dev-worker bin]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
...snip....
ACCEPT     tcp  --  10.176.x.yyy         anywhere            tcp dpt:6379

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain fail2ban-SSH (0 references)
target     prot opt source               destination       

mas ainda não consegue redis para se conectar. Há mais alguma coisa que preciso implementar?

Se for diferente, isso é no Rackspace Cloud.

Editar:

O parâmetro de ligação redis conf está comentado.

    
por buggedcom 19.08.2013 / 18:33

2 respostas

7

Parece que o iptables estava filtrando tudo. A solução foi criar uma cadeia REDIS.

iptables -N REDIS
iptables -A REDIS -s 192.168.10.1 -j ACCEPT
iptables -A REDIS -s 192.168.10.2 -j ACCEPT
iptables -A REDIS -j LOG --log-prefix "unauth-redis-access"
iptables -A REDIS -j REJECT --reject-with icmp-port-unreachable
iptables -I INPUT -p tcp --dport 6379 -j REDIS

Dê gorjeta ao link

    
por 20.08.2013 / 14:20
1

Para mim, eu apenas uso a ferramenta GUI do firewall, para abrir a porta 6379 TCP (que está sendo usada pelo redis-server).

Depois disso, eu posso usar a linha de comando redis-cli para conectar usando:

redis-cli -h <server IP> -p 6379

    
por 22.03.2014 / 09:57

Tags