Не удалось привязать к 127.0.0.1?

У меня проблемы с системой, которая работала вчера. Я не сильно изменился - если что-нибудь с тех пор. Однако теперь, когда я пытаюсь запустить что-то, использующее 127.0.0.1 в качестве своего ip-адреса, я получаю ошибки. Например:

user@server:~# tcpserver 127.0.0.1 8080 echo tcpserver: fatal: unable to bind: address not available

И приложение java (то, что я действительно пытаюсь запустить) вызывает эту ошибку:

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)

тот же самый вызов tcpserver работает, если я использую 0.0.0.0 или IP-адрес, присвоенный eth0, но не при указании 127.0.0.1.

Я копал все журналы, и я не вижу ничего, что выскакивает на меня. Выход ifconfig -a ниже, если это полезно. Я пробовал ifdown lo; ifup lo и даже ifup lo --force - ничто из этого не имеет никакого значения. Я также перезагрузил сервер несколько раз без везения. Я также попробовал rm -rf /var/run/network/*, а затем еще одну перезагрузку (за https://serverfault.com/a/672217/262491), но и не повезло. netstat -ano ничего не показывает прослушивание на порту 8080 и ничего не прослушивает 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

Я сравнил ifconfig выше с рабочей системой, и похоже, что причиной этой ошибки может быть то, что loopback-адаптер, похоже, не имеет 127.0.0.1. Итак, вопрос становится - Как это возможно? и как это исправить?

0
задан 12 May 2017 в 16:49

2 ответа

По слухам, это известная проблема с AMI AWS от ubuntu 14.04 (~ май 2017 года). Исправление должно быть перезапущено, пока вам не повезет, или вручную назначьте IP-адрес через что-то вроде: ifup lo; ip addr add 127.0.0.1/8 dev lo, когда это произойдет.

0
ответ дан 18 July 2018 в 13:25

По слухам, это известная проблема с AMI AWS от ubuntu 14.04 (~ май 2017 года). Исправление должно быть перезапущено, пока вам не повезет, или вручную назначьте IP-адрес через что-то вроде: ifup lo; ip addr add 127.0.0.1/8 dev lo, когда это произойдет.

0
ответ дан 24 July 2018 в 20:10

Другие вопросы по тегам:

Похожие вопросы: