Não é possível acessar o vsftpd de fora

1

Acabei de fazer um yum install vsftpd básico em uma caixa do CentOS 5.3, posso fazer o FTP para o endereço IP da máquina a partir de um shell na própria caixa, mas não posso fazer FTP de nenhuma outra máquina na mesma LAN.

$ ftp 1.2.3.4
ftp: connect: Connection refused

Solução de problemas já tentados:

  • na máquina local A, tentou FTP para o IP de A com credenciais válidas, com êxito
  • na máquina B na mesma rede, tentou FTP para o IP de A, recusou a conexão conforme indicado acima
  • da mesma máquina B, o nmap mostra a porta 21 aberta
  • da mesma máquina B, pode fazer telnet para a porta 21 e ver o banner vsftpd
  • , parece que o daemon está escutando, mas algo relacionado a uma tentativa de conexão de fora faz com que ele recuse a conexão.

.... e enquanto reescrevia esta questão eu reiniciei o daemon vsftpd e tudo começou a funcionar como esperado.

    
por Paul Dixon 18.06.2009 / 14:17

4 respostas

0

Obrigado por várias sugestões. Embora não tenha certeza do que realmente ocorreu, um reinício do daemon pareceu resolver os problemas.

    
por 18.06.2009 / 17:10
1

Tudo bem, minhas diretrizes gerais de depuração para testar serviços são mais ou menos assim:

0) Mantenha os IPs ao testar para eliminar o DNS como problema

1) Teste localmente
Você pode se conectar ao servidor FTP da máquina que está sendo executado?

2) Teste remotamente na mesma rede
Você pode se conectar de outra máquina nessa sub-rede?

3) Teste de fonte não confiável
Você pode cruzar limites de firewall para chegar lá?

Parece que você fez o primeiro, e está falhando no segundo. Se você puder fazer telnet de uma caixa remota para a porta 21 no servidor e receber um banner de FTP, o servidor FTP estará funcionando.

Atualize sua pergunta para mostrar suas etapas de solução de problemas, se puder, para que possamos determinar com mais precisão onde está o problema.

    
por 18.06.2009 / 15:00
0

Se você puder se conectar ao host local, mas não puder "host.example.com" da mesma máquina, sugeriria que o servidor está escutando apenas 127.0.0.1, em vez de todas as interfaces. Você pode verificar isso executando:

# netstat -lep --tcp | grep  vsftp

Se ele diz "localhost: ftp", então ele está escutando apenas no host local. Procure por uma opção de configuração que seja algo como "Listen" ou fale sobre ligação a endereços ou interfaces. Se ele diz "*: ftp", então ele está escutando em todas as interfaces e algo está errado. Possivelmente, problemas de configuração de firewall ou rede.

    
por 18.06.2009 / 14:24
0

Com qualquer selinux de verificação de distro baseado em redhat moderno. Ou seja getenable para ver se ele está ativado (impingir). Se for setenforce 0 para desligá-lo e ver se isso faz diferença. setenforce 1 para ligá-lo novamente.

Se foi selinux, então você provavelmente precisará definir os valores booleanos.

Tente algo como: getsebools -a | grep -i ftp para ver o estado dos booleanos relacionados ao ftp. Para configurá-los use setsebools.

Você está usando o firewall baseado no host iptables - se for o módulo iptables apropriado habilitado? Não consigo me lembrar do que é, mas ele pode ser ativado em um arquivo chamado // etc / sysconfig / iptables-config.

É algo como conntrack_ftp.

    
por 18.06.2009 / 16:42