Parece que há algo a montante do seu VPS que está bloqueando o acesso, exceto pelas portas anotadas. Você deve entrar em contato com seu provedor de VPS e perguntar sobre isso.
Por alguma razão, meu CentOS VPS recusa todas as conexões, exceto HTTP, SSH e Telnet. Sempre que tento conectar a uma porta como 25 (SMTP) ou até mesmo uma porta aleatória, como 225, recebo um erro de conexão recusada: S netstat -ap mostra que o servidor está escutando e o iptables está desativado.
No entanto, posso interagir com as mesmas portas no servidor através do telnet ...
# 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 -an | fgrep LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:225 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
unix 2 [ ACC ] STREAM LISTENING 169786017 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 169786045 /var/run/saslauthd/mux
Esta é a mensagem de erro que estou recebendo do meu script php. Meu script PHP funciona bem com todos os outros servidores SMTP que eu já vi Aviso: fsockopen () [function.fsockopen]: não é possível conectar-se a: 25 (Conexão recusada)
Ok, para deixar as coisas claras - se você está rodando o CentOS, é provável que você esteja no release 5 com o sendmail como padrão. Nesse caso, você não será conectado externamente, porque o sendmail só escutará localhost por padrão. Para fazê-lo ouvir no IP principal, você precisará desativar a linha em /etc/sendmail.mc a partir disso:
DAEMON_OPTIONS('Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
para isso:
dnl DAEMON_OPTIONS('Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
Em seguida, reconstrua o sendmail.cf com o seguinte:
/etc/mail/make
/etc/init.d/sendmail restart
(se for postfix, pode ser uma história diferente. IIRC, postfix só vai ouvir por padrão no localhost também, então você precisará configurá-lo também para ouvir o IP principal).
No entanto, desde que você está apenas tentando testar a conectividade externa, você só precisa instalar o nc e depois executá-lo para ouvir um específico. Aqui está o meu exemplo:
[root@kvm0006 mail]# nc -l 50
Aqui estou ouvindo na porta 50 (daí, o -l). Agora, quando eu conectar de fora do servidor nessa porta, eu vou conseguir isso:
yvaine:Downloads rilindo$ telnet 192.168.15.36 50
Trying 192.168.15.36...
Connected to kvm0006.monzell.com.
Escape character is '^]'.
Hello
Que retornará o seguinte no lado do servidor:
[root@kvm0006 mail]# nc -l 50
Hello
Para instalar o nc:
yum -y install nc
Tags centos connection-refused