não pode estabelecer conexão TCP com VPS

2

Vince Stewart
Eu tenho um VPS no Ubuntu 12 e um computador em casa no Ubuntu 12. Eu tenho um aplicativo Java no VPS que abre um soquete tcp ouvindo na porta 4000 e também um ouvinte Http. Meu serviço ssh opera na porta 55555. Depois que o aplicativo for iniciado, recebo este relatório quando eu entrar na linha de comando: netstat -t -l

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:55555                 *:*                     LISTEN     
tcp6       0      0 [::]:http-alt           [::]:*                  LISTEN     
tcp6       0      0 [::]:55555              [::]:*                  LISTEN     
tcp6       0      0 vps.mdomai.com:4000     [::]:*                  LISTEN     

com denyhosts operando meu /etc/hosts.allow é apenas uma linha

ALL: xxx.xxx.xxx.xxx
(xxx.xxx.xxx.xxx is my static home IP address)

/etc/hosts.deny é:

ALL:ALL

Eu consigo conectar em casa usando:

telnet yyy.yyy.yyy.yyy 55555  or telnet yyy.yyy.yyy.yyy 8080
(yyy.yyy.yyy.yyy is for my VPS address)

mas com:

telnet yyy.yyy.yyy.yyy 4000 

um erro é lançado ("Não é possível conectar-se ao host remoto: conexão recusada"). Isso parece um problema de firewall. Tenho certeza que eu não mudei o iptables, então deveria ser o padrão VPS. Muito obrigado por todas as sugestões. Quando eu emito o sudo ufw raw, recebo:

IPV4 (raw):
Chain INPUT (policy ACCEPT 21043 packets, 2314421 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 21077 packets, 2152970 bytes)
pkts      bytes target     prot opt in     out     source               destination         
Chain PREROUTING (policy ACCEPT 318 packets, 41345 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 42 packets, 7128 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 347 packets, 24571 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 347 packets, 24571 bytes)
pkts      bytes target     prot opt in     out     source               destination         
Chain PREROUTING (policy ACCEPT 6241 packets, 691583 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 5965 packets, 657366 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 5936 packets, 614188 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 10872 packets, 1131008 bytes)
pkts      bytes target     prot opt in     out     source               destination         
Chain PREROUTING (policy ACCEPT 6241 packets, 691583 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 5936 packets, 614188 bytes)
pkts      bytes target     prot opt in     out     source               destination         


IPV6:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts      bytes target     prot opt in     out     source               destination         
    
por Vince Stewart 31.01.2013 / 04:48

2 respostas

1

Você só abriu a porta ipv6 4000, como por.

tcp6 0 0 vps.mdomai.com:4000 [::]:* LISTEN

Já experimentou via ipv6 em vps.mdomai.com:4000?

E se você for:

netstat -an --inet | grep LISTEN

    
por Grizly 31.01.2013 / 05:28
0

Agora estou fornecendo o que foi a eventual solução para o meu problema, porque acho que isso destaca uma questão importante para os não especialistas (como eu). Sendo essa a entrada do arquivo /etc/hosts .

Eu estava usando o mesmo aplicativo java no meu VPS e no meu computador doméstico e eles deveriam se comunicar via TCP. Meu computador doméstico acessou a internet através de um modem DSL que tinha um endereço IP fixo. Quando tentei direcionar uma mensagem de casa para o VPS, o tempo-limite relatado em java (que apenas significava que uma conexão não pôde ser feita).

Eu já havia alocado meu computador em um endereço fixo na rede local (por exemplo, 192.168.1.57) porque parecia sensato. Mas a mudança crucial que eu finalmente fiz foi registrar o endereço de internet do meu computador (por exemplo, 192.168.1.57) no arquivo do Ubuntu /etc/hosts ; agora o java rodando na máquina doméstica lê seu próprio "endereço inet" como 192.168.1.57 ao invés de 127.1.0.1 e tudo começou a funcionar. Eu também precisava fornecer ao VPS meu endereço IP fixo para DSL (203.x.x.x) e um número de porta que era encaminhado para a máquina 192.168.1.57. Espero que isso possa ajudar alguém.

    
por Vince Stewart 08.03.2013 / 22:58