Використання ip addr замість ifconfig повідомляє "RTNETLINK відповіді: Файл існує" на Debian


53

У мене система Debian працює як бездротовий маршрутизатор з eth0і wlan0. Тепер я додав додаткову мережу вручну за eth1допомогою ifconfig:

alix: ~ # ifconfig eth1 192.168.0.2 маска 255.255.255.0
alix: ~ # netstat -rn
Таблиця маршрутизації IP ядра
Шлюз призначення Генмаска Прапори MSS Window irtt Iface
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 et0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
alix: ~ # ping 192.168.0.254
PING 192.168.0.254 (192.168.0.254) 56 (84) байт даних.
64 байти з 192.168.0.254: icmp_req = 1 ttl = 64 час = 0.537 мс
64 байти з 192.168.0.254: icmp_req = 2 ttl = 64 час = 0.199 мс
64 байти з 192.168.0.254: icmp_req = 3 ttl = 64 час = 0.188 мс
^ С
--- 192.168.0.254 статистика пінг ---
3 передані пакети, 3 отримані, 0% втрати пакету, час 2005м
rtt min / avg / max / mdev = 0,188 / 0,308 / 0,537 / 0,161 мс

Все добре працює, як бачите.

Тепер я хотів би зробити конфігурацію постійною. Для цього я додав наступний розділ до /etc/network/interfaces:

alix: ~ # sed -n '/ iface eth1 /, / ^ $ / p' / тощо / мережа / інтерфейси
iface eth1 inet статична
  адреса 192.168.0.2
  мережна маска 255.255.255.0

Але коли я намагаюся запустити мережу, я отримую таку помилку:

alix: ~ # ifconfig eth1 вниз
alix: ~ # ifup -v eth1
Налаштування інтерфейсу eth1 = eth1 (inet)
run-parts --verbose /etc/network/if-pre-up.d
run-parts: виконання /etc/network/if-pre-up.d/hostapd
ip addr add 192.168.0.2/255.255.255.0 трансляція 192.168.0.255 dev eth1 label eth1
RTNETLINK відповідає: Файл існує
Не вдалося підняти eth1.

Коли я запускаю ipкоманду вручну, я отримую ту ж помилку:

alix: ~ # ip addr add 192.168.0.2/255.255.255.0 трансляція 192.168.0.255 dev eth1 label eth1
RTNETLINK відповідає: Файл існує

Що не так з командою? І як я можу сказати Debian зробити все правильно?

Відповіді:


83

Вибачте, але я це отримав сам. Мені довелося промити пристрій перед тим, як піднести його:

alix: ~ # ip addr flush dev eth1

Очищення відомостей про конфігурацію інтерфейсу, встановлених вручну, зазначено в Посібнику з сервера Ubuntu .


Я все одно отримую (дещо іншу) помилку, RTNETLINK answers: No such process Failed to bring up eth1АЛЕ мій Е1 зараз правильно призначений І ВПЕРЕД / ВПЕРЕД.
harperville

так, тут та сама проблема: RTNETLINK answers: No such process Failed to bring up eth1
Дрю

7
Навіть якщо ваші відповіді вирішують проблему. Було б чудово, якби ви могли сказати, що це насправді робить. Що це за файл RTNETLINK, який існує?
humanityANDpeace

@ceving: поясніть, будь ласка, що це RTNETLINK answers file? Крім того, після промивання моя мережева карта не приймає новий ip автоматично, як запитати dhcp на новий ip?
realtebo

@realtebo @humanityANDpeace Перегляньте посібник з ядра про netlink та rtnetlink . Але я сумніваюся, що ви дійсно хочете знати. Це повідомлення про помилку, яке ipінструмент отримує від ядра. І замість того, щоб переводити повідомлення в щось корисне для кінцевих користувачів, ipпередає його просто наскрізь. Але якщо ви дійсно хочете знати внутрішні, скористайтесь Ask Questionзамість Add Commentкнопки.
закінчення

-1

У мене була подібна проблема, що до того часу, коли я грав на сцені 10 000 грошей, було саме це, і я намагався додати відсутні матеріали в / e / n / id / etho

Але вивчаючи сторінку man для інтерфейсів, я зазначив, що ВСІ з набору прикладів мали лише 2 рядки реальних даних, ipv4 address / 24 та лінію шлюзу із зазначенням адреси мого маршрутизатора. Тож я перекреслив файл eth0 до цього, перезавантажив і працював чудово.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.