MyTetra Share
Делитесь знаниями!
О чем говорит ошибка "RTNETLINK answers: File exists"
Время создания: 13.11.2019 09:45
Текстовые метки: linux, ip, сеть
Раздел: Компьютер - Linux - Сеть в Linux

Бывает так, что при настройке сети в Linux, например при добавлении дополнительного IP-адреса для сетевого интерфейса, может появиться следующая ошибка:



# ip addr add 192.168.1.95/24 dev enp5s0

RTNETLINK answers: File exists



Традиционно, текст ошибки указывает совершенно не на ту проблему, которая возникла на самом деле. При возникновении данной ошибки обычно рекомендуют перезагрузить компьютер или полностью сбросить конфигурацию сетевого интерфейса через команды:



# ip addr flush dev enp5s0

# ip route flush dev enp5s0



Предполагается, что некий загадочный конфигурирующий файл или файл устройства освободится и можно будет произвести настройку.


Так вот, этого делать не нужно. Лучше посмотреть на исходную команду, и понять, что в ней может быть не так. Вроде бы все в порядке? Да! Но что если посмотреть на выхлоп:



# ip addr show

2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP>

link/ether ... brd ff:ff:ff:ff:ff:ff

inet 192.168.1.95/24 brd 192.168.1.255 scope global enp5s0

valid_lft forever preferred_lft forever



Оказывается, такой IP с такой маской уже существует. По запарке можно было этого и не заметить. То есть, проблема оказалась в неправильном применении команды.



По непроверенной информации, RTNETLINK расшифровывается как ROUTE NETWORK LINK (иногда используется наименование NETLINK_ROUTE), и под этим "объектом" подразумевается сокет маршрутизации IPv4. Соответственно, если сокет уже существует, а пользователь пытается своей командой косвенно создать такой же сокет, то будет появляеться вышеуказанная ошибка. Так же, подобная ошибка будет появляться, если есть какие-то неполадки в настройках маршрутизации.



Ждем, когда команда ip станет более интеллектуальной, и будет точно говорить в чем проблема, чтобы можно было ее быстро решить.


Так же в этом разделе:
 
MyTetra Share v.0.53
Яндекс индекс цитирования