tcp, onde começar a procurar? Posso acessar o servidor da LAN, mas recebo CONNECTION RESET da WAN

0

Eu tenho sites funcionando em execução no Apache. Eles são perfeitamente acessíveis a partir da LAN.

Eu também configurei parte do servidor para ser acessível a partir da WAN. Isso funcionou no começo (sorte do principiante, sem dúvida), mas agora ERR_CONNECTION_RESET é retornado consistentemente. Eu explorei todos os caminhos em que consegui pensar, até mesmo reinstalei o Apache e agora estou sem ideias.

O encaminhamento de porta está configurado corretamente e verificado com nmap . As verificações locais e remotas mostram minha porta aberta.

Eu verifiquei novamente a regra ufw e habilitei o registro para ela. O log mostra que os pacotes recebem [UFW ALLOW] para conexões de entrada locais e remotas.

Eu executei as capturas Wireshark do cliente. Apenas três pacotes são trocados no cenário de conexão remota (com falha):

1   0.000000000 [local_IP]  [remote_IP]   TCP 66  49527→1123 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
2   0.058425000 [remote_IP]   [local_IP]  TCP 66  1123→49527 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1320 SACK_PERM=1 WS=128
3   0.058504000 [local_IP]  [remote_IP]   TCP 54  49527→1123 [ACK] Seq=1 Ack=1 Win=16384 Len=0

As diferenças significativas são que quando se conecta com sucesso da LAN, o segundo pacote terá MSS=1460 e o terceiro pacote terá Win=65536 . E quando enviado, o quarto pacote contém o comando GET do HTTP com o meu IP da LAN como fonte, e assim por diante.

Se eu usar tcpdump no lado do servidor, obtenho o seguinte no cenário problemático (lado da WAN) (quebra chamada depois que connection reset foi recebido):

$ sudo tcpdump -n -tttt -i eth0 port 1123
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
2015-07-14 06:38:45.291695 IP 92.95.32.112.49361 > 192.168.1.10.1123: Flags [S], seq 3726787794, win 8192, options [mss 1320,nop,wscale 8,nop,nop,sackOK], length 0
2015-07-14 06:38:45.291735 IP 192.168.1.10.1123 > 92.95.32.112.49361: Flags [S.], seq 2812896430, ack 3726787795, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
2015-07-14 06:38:45.351536 IP 92.95.32.112.49361 > 192.168.1.10.1123: Flags [.], ack 1, win 64, length 0
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel

Ao se conectar localmente, ele se parece com isso; observe o tamanho diferente da janela no terceiro pacote:

$ sudo tcpdump -n -tttt -i eth0 port 1123
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
2015-07-14 06:41:33.112315 IP 192.168.1.50.49379 > 192.168.1.10.1123: Flags [S], seq 3570261874, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
2015-07-14 06:41:33.112357 IP 192.168.1.10.1123 > 192.168.1.50.49379: Flags [S.], seq 3490289174, ack 3570261875, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
2015-07-14 06:41:33.512742 IP 192.168.1.50.49379 > 192.168.1.10.1123: Flags [.], ack 1, win 256, length 0
2015-07-14 06:41:33.514046 IP 192.168.1.50.49379 > 192.168.1.10.1123: Flags [P.], seq 1:433, ack 1, win 256, length 432
2015-07-14 06:41:33.514079 IP 192.168.1.10.1123 > 192.168.1.50.49379: Flags [.], ack 433, win 237, length 0
2015-07-14 06:41:33.554794 IP 192.168.1.10.1123 > 192.168.1.50.49379: Flags [.], seq 1:1461, ack 433, win 237, length 1460
2015-07-14 06:41:33.554818 IP 192.168.1.10.1123 > 192.168.1.50.49379: Flags [P.], seq 1461:2768, ack 433, win 237, length 1307
[...]^C
919 packets captured
919 packets received by filter
0 packets dropped by kernel

Tenho notado que aparentemente o serviço é executado apenas com tcp6 em oposição ao meu servidor ssh; Isso poderia ser a causa? Atualização: aparentemente NÃO porque Listen 0.0.0.0:1123 em /etc/apache2/ports.conf forçou tcp , mas o problema permaneceu ao conectar do lado da WAN.

$ sudo netstat -plunt | grep ssh
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1510/sshd       
tcp6       0      0 :::22                   :::*                    LISTEN      1510/sshd       
$ sudo netstat -plunt | grep apache2
tcp6       0      0 :::1123                 :::*                    LISTEN      3290/apache2    

Não consegui capturar nada em /var/log/apache2 sobre esses eventos usando o seguinte: LogLevel info , LogLevel debug e LogLevel trace8 (e a reinicialização do serviço apropriada). Todos os arquivos na pasta mantêm o mesmo registro de data antes e depois da falha na conexão, em todos os casos.

Eu posso estar errado, mas como o Apache fornece tão pouca informação, agora estou me perguntando se isso poderia estar relacionado a um problema de SQL ou PHP com links externos, mas na verdade não tenho nenhuma experiência com eles. O serviço em questão aqui é ownCloud.

Alguma idéia de como solucionar isso ainda mais e descobrir o que poderia estar errado?

    
por Tfb9 12.07.2015 / 04:20

1 resposta

0

Verifique se as portas estão funcionando bem antes de tudo. Você pode fazer isso com uma ferramenta de verificação de portas, como this . Se houver problemas verifique o seu ip novamente, porque provavelmente você tem ip dinâmico e mudando por alguns períodos, se é bom ou resultado do teste é bom, provavelmente em casa u definir ip dinâmico .de suas conexões de rede definir um ip estático para si mesmo como aqui . E evite que alguém obtenha o mesmo ip que você reservar este ip nas configurações do modem. Reservando um ip é muito simples encontrar dhcp configuração sob o seu modem permite tomar modem yur está em 192.168.1.1 e você definir para si mesmo 192.168.1.2 neste caso em configurações dhcp tipo 192.168.1.3 como ponto de partida se não destes trabalhos em contato com o seu ISP em alguns países, alguns portos podem não ter permissão para abrir, por exemplo, eu estava em Chipre há meio ano e é proibido o acesso ao porto 80.

- ATUALIZAÇÃO -

Como eu entendo como cliente de outro computador, você pode se conectar, mas como servidor quando você tenta se conectar não pode ver a página. Este é um problema principal, a menos que você não use roteadores proxy não pode encaminhar solicitações que saem de si mesmo em si tentar usar um proxy da Web, neste caso, provavelmente, vai funcionar. Você não pode fazer nada sobre isso como servidor, você não pode se conectar à sua própria rede sem proxy

    
por nikoss 12.07.2015 / 04:44