Problema ao acessar (anteriormente trabalhando) o repositório pessoal do subversion. Kaspersky suspeita

2

Eu tenho um servidor Subversion pessoal, rodando apenas o svn (não o Apache) na porta padrão do meu computador de casa, um sistema Windows Vista Pro. (A configuração é mais complexa do que isso, devido a um firewall de trabalho restritivo, mas ao examinar meus logs do roteador, estou convencido de que as solicitações estão sendo encaminhadas para a porta correta na máquina do servidor). Este repositório tem funcionado anteriormente, mas parou recentemente de funcionar - as solicitações para ele estão expirando:

svn: Can't connect to host 'howlett.selfip.net': A connection attempt failed 
because the connected party did not properly respond after a period of time, 
or established connection failed because connected host has failed to respond. 

Existem várias razões possíveis, mas nenhuma é particularmente satisfatória. Primeiro, mudamos recentemente e mudamos de uma configuração sem fio para uma com fio entre o servidor e o roteador. No entanto, acho que ele está funcionando com fio por um breve período e (conforme observado) os registros do roteador indicam que as solicitações estão sendo encaminhadas.

Em segundo lugar, instalei recentemente o Kaspersky Anti-Virus 2011. Este parece ser um culpado mais plausível - está mais perto de quando penso que o repo parou de funcionar e encontrei resultados online para pessoas com problemas com o Kaspersky 6. No entanto Eu tentei adicionar svn e svnserve à lista de exceções do Kaspersky, e até mesmo desabilitar o Kaspersky e reiniciar com ele para não iniciar, e o repositório ainda não responde.

Alguém tem alguma idéia brilhante que possa estar dando errado? Caso contrário, alguém pode me dizer como obter logs do Subversion (cliente e / ou servidor) e do Kaspersky?

Editar: Mais informações - Eu posso acessar o repositório via 127.0.0.1 na máquina do servidor (mas não através do IP do roteador da máquina do servidor).

Editar 2: A espionagem de rede revela que os pacotes estão atingindo a porta svn no endereço IP esperado; e o svnserve está definitivamente escutando naquele endereço (em vez de apenas localhost).

Editar 3: O uso de netcat confirma que os pacotes não estão sendo selecionados por um serviço de escuta. Também encontrei os registros do Kaspersky e não consigo encontrar nenhuma referência ao tráfego bloqueado.

    
por Chowlett 06.12.2010 / 22:23

4 respostas

0

Eu consertei isso.

Descobri que também poderia obter outro conjunto de logs, eu Firewall do Windows (completo, com uma exceção para o svnserve), que havia sido desativado anteriormente. Fazer isso fez conexões com o trabalho do servidor Subversion.

Por que adicionar uma camada de segurança e um potencial ponto de bloqueio fez tudo funcionar, eu realmente não sei - alguém tem alguma idéia?

    
por 12.12.2010 / 14:53
1

(Para todo mundo que me conhece, cante junto se você souber as palavras ...)

Sniff o tráfego entrando no servidor Subversion (use o Wireshark ou seu equivalente favorito) e certifique-se de que a tentativa de conexão da Internet esteja realmente chegando ao servidor Subversion. Se o tráfego não está aparecendo lá, então você tem um problema no seu dispositivo de roteador / firewall no encaminhamento do tráfego para o servidor Subversion.

Se você está vendo o tráfego no servidor Subversion, então você precisa começar a investigar por que ele não está respondendo (supondo que não seja).

Editar:

Eu acho que você tem um aplicativo de firewall bloqueando a conexão, então. Parece que a opção --foreground para svnserve na verdade não gera nenhuma saída de depuração útil, por isso não posso sugerir que você faça isso. Você pode parar o svnserve e executar algo como o netcat no modo de escuta ( nc -l -p 3690 ) e tentar se conectar e ver se o netcat mostra qualquer saída. Se não, então o problema é muito provável com um aplicativo de firewall. (Na verdade, um cliente Subversion não enviará nenhum dado se ele se conectar a um netcat de escuta enquanto estiver aguardando uma mensagem de banner de svnserve . Se você digitar algum texto sem sentido no prompt do netcat após um cliente se conectar, o cliente Subversion deve bombardeie, pelo menos dizendo que a conexão fez isso passar.)

Editar:

Desabilitar / interromper o serviço de firewall do Windows Vista faz com que seja aplicada uma diretiva de firewall muito restritiva. Você pode leia um artigo sobre isso da Microsoft para obter mais detalhes, mas a essência do comportamento é que durante a inicialização essa política muito restritiva se aplica até que o serviço de firewall seja instalado e executado (para manter a máquina protegida durante boot). No caso de você interromper o serviço de firewall, a política de firewall de tempo de inicialização se aplicará e você acabará com uma política de tráfego de entrada muito bloqueada.

    
por 09.12.2010 / 01:23
0

Da sua explicação, apenas duas coisas vêm à mente: ou o svnserve está servindo apenas no host local, ou seja, o firewall está bloqueando o acesso ao endereço IP externo. Você pode, por exemplo, usar o "Process Explorer" (da SysInternals) para verificar em qual endereço o processo do svnserve está escutando.

    
por 09.12.2010 / 01:09
0

Você pode ver se o svnserve está vinculado ao host local ou a sua interface de rede externa com netstat -a | find "LISTEN"

Se ele não estiver escutando em 0.0.0.0 (ou o IP da sua interface), você precisará alterar os parâmetros de ligação para permitir que alguém fora da caixa se conecte a ele.

    
por 11.12.2010 / 02:41