Проблема с сетевым интерфейсом

Автор Smugo, 16 марта 2015, 19:38:37

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Smugo

Доброго времени суток. Помогите разобраться

Есть Debian 7.4 (3.2.0-4-amd64), eth0 (встроенная), eth1
содержание interfaces http://pastebin.ru/zKFUsAhX

Суть проблемы. При попытке перезагрузить сетевую подсистему («service networking restart» либо «/etc/init.d/networking restart ») получаю в ответ
[warn] Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces ... (warning).
[....] Reconfiguring network interfaces...RTNETLINK answers: File exists
Failed to bring up eth1.
done.

Если выполняю «/etc/init.d/networking stop | /etc/init.d/networking start», в ответ
[....] Configuring network interfaces...RTNETLINK answers: File exists
Failed to bring up eth1.
done.

После приведенной выше команды в терминал в течение следующих нескольких минут где-то раз в минуту-две начинает выводится
lockfile creation failed: exceeded maximum number of lock attempts
lockfile creation failed: exceeded maximum number of lock attempts
lockfile creation failed: exceeded maximum number of lock attempts

сразу по 3-4 строчки.

Независимо от того, перезагружал я сетевую подсистему или нет (после перезагрузки всей системы)
делаю ifconfig (вывод http://pastebin.ru/UyApX3rV)
service networking stop
вывод
[ ok ] Deconfiguring network interfaces...done.
снова ifconfig (вывод http://pastebin.ru/aTHQeKZ5)
т.е. после останова сетевой подсистемы (если я все правильно понимаю), интерфейс eth1 продолжает работать.

меняю в interfaces настройки eth1 (изменяю подсеть с 192.168.1.0 на 192.168.0.0)
auto eth1
iface eth1 inet static
address 192.168.0.200
netmask 255.255.255.0
gateway 192.168.0.1
#dns-nameservers 8.8.8.8
up route add -net 0.0.0.0 gw 192.168.0.1
up route add -net 192.168.0.0/24 dev eth1
down route del -net 0.0.0.0
down route del -net 192.168.0.0/24

дальше опускаю в ручную eth1 командой «ifconfig eth1 down» (пробовал не опускать - результат тот же)
service networking start, получаю
[....] Configuring network interfaces...RTNETLINK answers: File exists Failed to bring up eth1. done.
ifconfig, и ничего не изменилось - все интерфейсы, которые должны быть подняты, поднялись, eth1 поднялся с адресом 192.168.1.200

пробую «ifdown eth1», получаю
ifdown: interface eth1 not configured
«ifup eth1»
RTNETLINK answers: File exists
Failed to bring up eth1.

Проблема в том, что не могу изменить ip на интерфейсе eth1, чтобы новый ип-шник применился приходится делать полную перезагрузку системы, что не есть выход.. Что смотреть? Куда копать?

Тут https://www.linux.org.ru/forum/admin/11411891?lastmod=1426434830162#comment-11412238 меня направили к "Debian Reference: 5.5.13. The basic network reconfiguration", но согласно ему, я все сделал верно. Дальше та тема заглохла

yoric

#1
Да, что-то в дебиане накрутили с сетевыми. Причём уже давно. Сначала перестал, помнится, работать через /etc/init.d, а потом и ifup/ifdown накрылись. Сейчас в ручном режиме поднимаю/опускаю именно что какifconfig iface up/down
а описание интерфейсов в /etc/network/interfaces.
Может, это они так systemd встречают?
И для eth0.xx шлюз не нужен разве?

Smugo

#2
Из-за обилия написанного текста, возможно, нить логики немного спутывается..

В данный момент, действительно, интерфейс могу поднять/погасить только с помощью "ifconfig iface up/down", но этот способ все равно не работает так как надо, т.к. если я изменил ip адрес на eth1 (в interfaces), то после поднятия интерфейса, на нем остается прежний ip адрес!
ifdown и ifup не работают в принципе, при попытке поднять eth1 в консоли только ругань.

Насколько я понимаю, "service networking restart" и "/etc/init.d/networking restart" равнозначные команды, обе обращаются к одному и тому же демону разными способами. А вот сам скрипт networking в свою очередь вызывает ifdown и ifup. Упрощая, можно сказать, что проблема с ifup, а про /etc/init.d/networking можно условно забыть, т.к. его некорректное поведение скорее следствие проблемы с ifup.

Еще раз повторюсь, после смены ip адреса eth1 в interfaces, новый ip применяется только после полной перезагрузки системы

Про eth0.xx, сами интерфейсы являются шлюзами, каждый в своей подсети, клиенты будут обращаться именно к ним.
В любом случае, пробовал оставлять в interfaces только lo и eth1, все eth0(.xx) убирал.. результат не изменился.

315th

#3
Цитата: yoric от 16 марта 2015, 20:01:54Да, что-то в дебиане накрутили с сетевыми.
Да ничего не накрутили. Всё так же работает.
Я заглянул по ссылке на interfaces автора и мне показалось имеют место следующие ошибки.
1. Строки 8-10: либо вообще не объявлять eth0, потому что его поднимают vlan'ы ниже, либо объявить следующим образом:

allow-hotplug eth0
iface eth0 inet manual

2. Строки 48-57:
Строки 54 и 55 не имеют смысла, потому что уже объявлены gateway,address и netmask в строках 50-52, то же относится к строкам 56 и 57. Отсюда ошибка.
RTNETLINK answers: File exists Failed to bring up eth1. done.
Debian GNU/Linux 7.11 (wheezy) - CLI
ICH7; D525MV; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686); Intel Atom D525 1.8 GHz

Smugo

315th, да, действительно, вы оказались правы.
Благодарю за помощь

Ceyzer

#5
Здравствуйте!
Не стал создавать еще одну тему, так как симптомы похоже.
Есть Debian 7.8.0  на виртуальной машине VirtualBox, включено два адаптера 1. Сеть NAT и 2. Сетевой мост.
содержание interfaces http://pastebin.ru/hv92aU5N
содержание ifconfig http://pastebin.ru/Ld5Yuy9t
Есть 2 проблемы
1.
При попытке перезагрузить сетевую подсистему («service networking restart» либо «/etc/init.d/networking restart ») получаю в ответ
[....] Running /etc/init.d/networking restart is deprecated because it may not r[warnble some interfaces ... (warning).
[....] Reconfiguring network interfaces...Internet Systems Consortium DHCP Client 4.2.2


2. Проблема с статическими маршрутами.
В режиме iface eth1 inet dhcp на интерфейсе auto eth1 проблем с маршрутами нет. При настройках iface eth1 inet static на интерфейсе auto eth1 пропадают маршруты при rebbot-е системы. Стаж  работы у меня  в linux системами чуть больше неделе, пока нет практики разобраться самому, потому решил спросить помощи тут.

С первой проблемой не критично, она меня не беспокоит, сеть работает, но я подозреваю, что проблема "1" может влиять на проблему "2"

Маршруты
10.12.1.0       10.10.0.1      255.255.255.0   UG    0      0        0 eth1
10.12.24.0      10.10.0.1      255.255.255.0   UG    0      0        0 eth1
после перезагрузки системы слетают.
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.1        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.12.1.0       10.10.0.1      255.255.255.0   UG    0      0        0 eth1
10.12.24.0      10.10.0.1      255.255.255.0   UG    0      0        0 eth1
10.10.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1



oermolaev

#6
С первым пунктом всё просто, потому что
Цитата: Ceyzer от 14 апреля 2015, 20:32:22
/etc/init.d/networking restart is deprecated
Цитироватьdeprecate
[ˈdeprɪkeɪt]
_v. резко осуждать, возражать, протестовать, выступать против
т.е. эта команда категорически не рекомендуется к использованию. Вместо неё man ifup
По второму пункту, шлюз по умолчанию должен быть один, а вы пытаетесь задать для каждого интерфейса свой.
Из каких соображений?

Сообщение объединено: 14 апреля 2015, 21:00:58

Цитата: Ceyzer от 14 апреля 2015, 20:32:22включено два адаптера
вот это зачем?

Ceyzer

#7
oermolaev спасибо за оперативность, с первой проблемой как оказалось все просто, спасибо за растолкованные.

По проблеме 2. Два интерфейса поднято для двух разных сегментов сети, одна офисная сеть, другая рабочая сеть. Первый адаптер в virtual box работает в режиме NAT и служит для опроса оборудование в сети. Второй адаптер настроен как "сетевой мост" и уже к нему подключаются с офисной сети. Эти две сети не пересекаются, они сходятся на debian потому выходит два шлюза для каждого интерфейса. И при настройках на eth1  в режиме dhcp все работает и маршруты после перезагрузки сервера не пропадают.

Структура построения
Windows Server 2008 r2
- сетевая карта -1  ip addr  10.10.0.25/24    с этой сети видно сети: 10.12.1.0/24, 10.12.24.0/24
- сетевая карта -2  ip addr  172.20.20.1/24   с этой сети видно сети: 172.21.20.0/24, 172.22.20.0/24, 172.23.20.0/24
  >>VirtualBox
      -  сетевой адаптер "Сеть NAT"   трафик ходит через "сетевая карта -2"
      -  сетевой адаптер "Сетевой Адаптер" назначен static ip адрес 10.10.0.11 и трафик ходит через "сетевая карта -1",
      ** без rout-тов с сети 10.12.1.0/24 и 10.12.24.0/24 не видно 10.10.0.11
       *** если прописать rout-ты то все работает отлично, до reboot-а сервера.
         **** сервер служит для площадки The Dude by mikrotik >> Серверная часть the dude ходит через сетевой адаптер "Сеть NAT", клиентская часть доступна "Сетевой Адаптер" static ip адрес 10.10.0.11

ЦитироватьПо второму пункту, шлюз по умолчанию должен быть один, а вы пытаетесь задать для каждого интерфейса свой.
Выходит если я оставлю один шлюз, то статический маршруты у меня не будут пропадать после перезагрузки сервера ? Мне кажется это не поможет.
При настройках iface eth1 inet dhcp проблем не возникает. Динамический  адрес к сожалению не подходит, хотя он мог решить проблему с роутами.

endru

Ceyzer, сдается мне проблема в строке:
dns-seatch 8.8.8.8
правильно: dns-search 8.8.8.8

Ceyzer

Проблему удалось решить, костылем но все же. Решил прописывание в /etc/rc.local
/sbin/route add -net 10.12.24.0 netmask 255.255.255.0 gw 10.10.0.1
/sbin/route add -net 10.12.2.0 netmask 255.255.255.0 gw 10.10.0.1

теперь роуты подгружаются автоматический после загрузки системы.

Знаю, что можно решить способом post-up iptables-restore < /etc/iptables.rules но пока не знаю как туда эти правила загнать.
Может кто сталкивался и подскажет, как правильно записать в iptables.rules правила, что бы роуты подгружались автоматически с загрузкой системы ?
Спасибо заранее!

vladimir_ar

В /etc/network/interfaces
У меня так (часть файла)
auto lo
iface lo inet loopback
pre-up echo "1" > /proc/sys/net/ipv4/ip_forward
pre-up iptables-restore < /etc/ip_rulles.lst
post-down iptables-save > /etc/ip_rulles.lst
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M

Ceyzer

vladimir_ar подскажите, а что за настройки в каком виде они у вас там прописаны в /etc/ip_rulles.lst, можете пример скинуть ?

ihammers

Цитата: Ceyzer от 16 апреля 2015, 23:33:16а что за настройки в каком виде они у вас там прописаны в /etc/ip_rulles.lst, можете пример скинуть ?
Там сохранено последнее состояния iptables. Вы можете запустить iptables-save и перенаправить в файл и получите искомый пример.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

ogost

у меня так:
# 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

# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.10.182
netmask 255.255.255.0
post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.10.1 dev eth0
#
auto eth1
iface eth1 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
post-up route add default gw xxx.xxx.xxx.xxx dev eth1

сервер работает с "белым" айпи, поэтому затер айпишники.