Я тут с ума схожу. У меня арч, на котором внезапно со временем перестаёт работать loopback-интерфейс «по-человечески». Я поднимаю nc -ulp 1234, потом делаю из соседнего терминала nc -u 127.0.0.1 1234 и после первого же пакета прилетает «Connection refused». После ребута всё становится окей. Я уже начал грешить на ядро, но что на 4.14, что на 4.19, что на 4.20 — везде одно и то же. Я не понимаю, что делать!
Почему же меня вообще эта фигня волнует? Ну, у меня UDP-пакеты фактически не ходят внутри моего компьютера между процессами, которые общаются по UDP.
Что самое смешное: пакеты с других сетевых интерфейсов (ну, типа, eth0 там) ходят нормально в обе стороны, так что грешу я именно на lo. То есть у меня nc -ulp 1234 запущен на десктопе, а с другого устройства я нормально отправляю пакеты в сторону десктопа, никаких проблем нет; точно так же, если сервером выступает другое устройства, а десктоп становится клиентом.
В итоге мне приходится делать ребут пару раз в день, потому что внезапно я не могу пользоваться android-studio, которая использует внутри себя gradle-daemon, который общается по UDP c IDE :C
В dmesg'е пусто и я вообще не понимаю, как это отлаживать.
Было бы неплохо, конечно, каким-то образом reset'ать loopback-интерфейс, но судя по всему, такой фичи нет.