Falha na conexão SSH externa

1

Estou jogando sysadmin por um dia e levantando uma nova caixa do Ubuntu 12.04. A caixa tem 2 NICs - 1 para conexões internas, uma para externo. Eu sou capaz de ssh na caixa usando o ip interno (ssh [email protected]), mas não através do nome externo ou IP. Por fim, recebo a mensagem "Tempo esgotado da operação" muito familiar.

Informações que podem ou não ser úteis para administradores experientes:

  • Eu não tenho nada extravagante no meu iptables (conteúdo padrão)
  • Meu sshd_config tem a caixa ouvindo todos os lugares por tudo
  • O Telnet também falha ( telnet 172.XXX.XXX.XXX 22 )
  • Meus arquivos /var/log/auth.log e /var/log/syslog nem piscam quando tento me conectar.
  • Um tcpdump detalhado parece indicar que o pedido está fazendo isso para a máquina.

    $ sudo tcpdump -vvv -s 1600 -i any port 22 | grep "172.XXX.XXX.XXX"
    71.XXX.XXX.XXX.43784 > 172.XXX.XXX.XXX.ssh: Flags [S], cksum 0xde3e (correct), seq 613836537, win 65535, options [mss 1380,nop,wscale 4,nop,nop,TS val 806048442 ecr 0,sackOK,eol], length 0
    

Neste ponto, estou muito além da minha cabeça e só o Google me levou até aqui. Eu não tenho certeza do que mais para tentar. Se alguém puder oferecer algum insight, métodos adicionais de depuração ou esclarecer isso de qualquer outra forma, eu agradeceria muito.

iptables atuais

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

netstat

Note que estou atualmente em SSH na caixa através do IP interno.

$ sudo netstat -pant |grep ":22"
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      10691/sshd      
tcp        0      0 172.XXX.XXX.XXX:22         172.XXX.XXX.105:49948      ESTABLISHED 10055/sshd: me
tcp6       0      0 :::22                   :::*                    LISTEN      10691/sshd    

Solicitar roteamento

Esta é uma visão geral de alto nível de como uma solicitação externa é roteada do início ao fim:

  1. ssh [email protected]
  2. my.domain.net resolve para 12.XXX.XXX.37
  3. 12.XXX.XXX.37 passa a solicitação para o roteador externo
  4. O roteador encaminha as coisas para um firewall
  5. O firewall encaminha solicitações SSH para 172.XXX.XXX.XXX (a caixa em questão)
  6. 172.XXX.XXX.XXX aparentemente decide que não gosta da solicitação recebida e a ignora.

O último passo é o que eu estou tentando consertar, claro. : -)

Obrigado.

    
por Rob Wilkerson 10.08.2012 / 14:28

1 resposta

0

Você pode usar route | grep default na VM para encontrar seu gateway padrão. Se não é o roteador de uma porta é encaminhada a partir desta é uma raiz do problema - VM envia pacotes de volta para o padrão GW não para o roteador de encaminhamento de porta.

    
por 10.08.2012 / 17:39