Estou tendo dificuldades com um sistema que estava funcionando ontem. Eu não mudei muito - se alguma coisa desde então. No entanto, agora, sempre que tento iniciar algo que usa 127.0.0.1 como seu endereço IP, recebo erros. Por exemplo:
user@server:~# tcpserver 127.0.0.1 8080 echo
tcpserver: fatal: unable to bind: address not available
E um aplicativo java (o que realmente estou tentando iniciar) gera esse erro:
java.net.BindException: Cannot assign requested address (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at
java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
a mesma chamada tcpserver funciona se eu usar 0.0.0.0 ou o endereço IP atribuído a eth0, mas não ao especificar 127.0.0.1.
Eu tenho cavado todos os logs e não vejo nada que salte em mim. A saída ifconfig -a
está abaixo, caso isso seja útil. Eu tentei ifdown lo; ifup lo
e mesmo ifup lo --force
- nada disso parece fazer qualquer diferença. Eu também reiniciei o servidor algumas vezes sem sorte. Eu também tentei rm -rf /var/run/network/*
seguido por outra reinicialização (por link ), mas também não tive sorte. netstat -ano
não mostra nada escutando na porta 8080 e nada escutando no 127.0.0.1.
user@server:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr <redacted>
inet addr:10.252.2.169 Bcast:10.252.2.255 Mask:255.255.255.0
inet6 addr: <redacted>/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1
RX packets:18970 errors:0 dropped:0 overruns:0 frame:0
TX packets:17158 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4514198 (4.5 MB) TX bytes:4194402 (4.1 MB)
lo Link encap:Local Loopback
LOOPBACK MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
/ etc / network / interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# Source interfaces
# Please check /etc/network/interfaces.d before changing this file
# as interfaces may have been defined in /etc/network/interfaces.d
# NOTE: the primary ethernet device is defined in
# /etc/network/interfaces.d/eth0
# See LP: #1262951
source /etc/network/interfaces.d/*.cfg
Eu comparei o ifconfig acima a um sistema em funcionamento e parece que a causa raiz desse erro pode ser que o adaptador de loopback não parece ter 127.0.0.1 atribuído. Então a questão se torna - como isso é possível? e como faço para corrigir isso?