Eclipse | Resolver “Network is unreachable” em aplicações JAVA

É sabido que tenho utilizado o Debian Squeeze, e aconteceu um problema interessante com o Eclipse.

Após fazer download do Eclipse não conseguia atualizar automaticamente, utilizar o cvs e adicionar plugins pela web. Aparecia a seguinte mensagem: “Network is unreachable”.

Este problema acontece com o Debian assim como com outras distribuições. Isto acontece  porque algumas aplicações utilizam o RC3493 – Basic Socket Interface Extensions for IPv6 que permite que aplicações AF_INET6 socket recebam conexões IPv4.

O Kernel por padrão deixa ativado net.ipv6.bindv6only=1 quebrando esta comunicação. E observando o problema encontrei um bug no DEBIAN em 2007 com alguns usuários que tiveram o mesmo problema,  inclusive reportei o  BUG419851 junto com outros Bugs que trazem esclarecimento a este problema. Se possuirem maiores detalhes fiquem a vontade para comentar.

Solução:

Para solucionar o problema tornou-se necessário adicionar a biblioteca DNS library lib32nss-dns e fazer uma pequena alteração.

Como usuário root, instale a biblioteca com o seguinte comando:

aptitude install lib32nss-mdns

Em seguida configure o seguinte parametro:

sysctl -w net.ipv6.bindv6only=0

Se ocorrer tudo bem basta atualizar ou utilizar seu CVS ou Subversion no Eclipse.

Se não funcionar

Caso não funcione altere o parâmetro manualmente no arquivo de configuração /etc/sysctl.d/bindv6only.conf e coloque o parametro:

net.ipv6.bindv6only=0

Mas obrigatoriamente será necessário reiniciar o sistema.

Abraço


2 thoughts on “Eclipse | Resolver “Network is unreachable” em aplicações JAVA

  1. Trying to access by banck account I found the solution you mentionned but I do not have
    a file with this name at /etc/sysctl.d
    bindv6only.conf no such file… is what I get.

    Is this a bad Java installation? Sorry to write in English!

    Tarcisio

    1. Hi,

      I appreciate your comment, and no problem to write in English.

      The bindv6only is Kernel variable. you can check the command below. But for you understand about this file (bindv6only.conf) and variable please take a look on it: (sysctl -w -> http://linux.die.net/man/8/sysctl).

      #cat /proc/sys/net/ipv6/bindv6only
      0

      It’s a problem with Java IPv4 IPv6 networking on Debian. Applications may use AF_INET6 sockets to open TCP connections to IPv4 nodes.

      More information: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=419851
      Details about RFC3493: http://www.faqs.org/rfcs/rfc2133.html

      Regards,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s