LINUX.ORG.RU
решено ФорумAdmin

Как нынче в стабильном Debian 7.4 конфигурировать сетевые интерфейсы eth0, eth1?


0

1

Поставил на сервак стабильную версью Debian 7.4

На серваке две сетевых карточки.

Сразу же вылезли феерические ошибки. При правильных статических настройках для первого и второго интерфейса, не работает их включение-выключение.

Настройки в /etc/network/interfaces

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
address 10.153.0.31
netmask 255.255.0.0
gateway 10.153.0.1

allow-hotplug eth1
iface eth1 inet static
address 50.60.70.102
netmask 255.255.255.252
gateway 50.60.70.101

Результаты некоторых команд (полного лога нет, потому что перепечатываю с экрана, ибо по терминалу с сетью не попляшешь):


# ifconfig - смотрю запущенные интерфейсы
lo

# ifup eth0 - поднимаю интерфейс 0
RTNETLINK answers: File exists
Failed to bring up eth0

# ifconfig - интерфейс 0 действительно не поднялся
lo

# ifup eth1 - поднимаю интерфейс 1, поднимается без ошибок

# ifconfig - смотрю запущенные интерфейсы
eth1 50.60.70.102
lo

Странно, что не нравится в интерфейсе 0?

Попробую поднять через ifconfig:

#ifconfig eth0 up - срабатывает без ошибок

#ifconfig - интерфейс поднялся!
eth0 10.153.0.31
eth1 50.60.70.102
lo

Почему??? Почему один интерфейс поднимается через ifup, а второй - нет. Почему он поднимается через ifconfig?

Про то что для сервиса networking таперь не работает команда restart, все уже в курсе?

Попробую для интереса остановить и запустить networking:

# ifconfig - все три интерфейса в наличии
eth0 10.153.0.31
eth1 50.60.70.102
lo

# service networking stop - нет ошибок
ok

# ifconfig - опля, интерфейс 0 не потух!
eth0 10.153.0.31
lo

# service networking start - дважды говорит, что 0 не поднимается
RTNETLINK answers: File exists
Failed to bring up eth0
RTNETLINK answers: File exists
Failed to bring up eth0

# ifconfig - опля, все интерфесы на месте!
eth0 10.153.0.31
eth1 50.60.70.102
lo

Это что за мазафака?

Может быть теперь в Debian 7.4 как-то по-другому надо сеть конфигурировать? Есть какие-то другоие утилиты, если стандартные так глючно работают?

★★★★★

Последнее исправление: Xintrea (всего исправлений: 1)

В /etc/network/interfaces у вас указано два шлюза по умолчанию (gateway 10.153.0.1 и 50.60.70.101). Насколько я знаю шлюз по умолчанию должен быть только 1, возможно поэтому и ругается.

swazd
()

Про то что для сервиса networking таперь не работает команда restart, все уже в курсе?

А оно когда-нибудь работало вообще? И если работало, то что оно конкретно делало? :)

DALDON ★★★★★
()
Ответ на: комментарий от swazd

Попробовал закомментировать внутресетевой гейтвей:

# gateway 10.153.0.1

Теперь повторяется все то же самое в зеркальном отображении: ошибка при поднятии eth1, а eth0 поднимается-опускается нормально.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Так, походу разобрался. То ли это особенность дебиана, толи особенность линукса.

Гейтвей можно прописывать только для первого интерфейса, и никак иначе.

Поэтому мне пришлось поменять интерфейсы. Первому дать настройки внешнего интернета с гейтвеем. Второму дать настройки внутренней сети без гейтвея. И сеть правильно заработала.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

gateway - это маршрут по умолчанию, а маршрут по умолчанию в общей таблице маршрутизации может быть только один.

Если хочется два маршрута маршрутизации, то создавайте как минимум две таблицы маршрутизации и в каждой описывайте что через неё маршрутизируется.

kostik87 ★★★★★
()

Не allow-hotplug, а auto.

Так наверное.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.153.0.31
netmask 255.255.0.0
#gateway 10.153.0.1

auto eth1
iface eth1 inet static
address 50.60.70.102
netmask 255.255.255.252
gateway 50.60.70.101

Затем /etc/init.d/networking restart

Что нужно в итоге?

sin-ok
()
Ответ на: комментарий от kostik87

А что можете сказать по поводу, что гейтвей допустимо прописывать только для первого интерфейса? Встречались раньше с таким ограничением?

Xintrea ★★★★★
() автор топика

Метрики разные для шлюзов пропиши. Оно вполне логично ведёт себя с неправильной конфигурацией: ifdown скрипт ожидает, что нужно убрать все настройки, сделанные ifup - а их(default gateway) переписал ifup для другого интерфейса.

Если имелся в виду равномерный баланс между двумя шлюзами - это не так делается.

selivan ★★★
()
Последнее исправление: selivan (всего исправлений: 1)
Ответ на: комментарий от Xintrea

default gateway с определённой метрикой(0 по умолчанию) может существовать в конкретной таблице маршрутизации только один.

Регулярно встречаюсь с таким ограничением во всех известных мне сетевых ОС.

selivan ★★★
()
19 февраля 2015 г.

Друзья

Вот и у меня та же проблема.

Интересно, что на соседней вируалке стоит тоже Дебиан, может только что версии 6-ой, и там все нормально. А вот в 7.4 два gateway на разных интерфейсах писать нельзя? Получается, у меня 2 сети, в каждой по шлюзу. Хочу, чтоб хост ходил в одну сеть через один шлюз, а во вторую - через другой. _но через шлюз_, а не просто напрямую к хосту из этой сети. Вопрос «зачем?» разрешите, в данный момент считать больше философским. Просто пытаюсь разобраться, как нынче нужно правильно сеть настраивать.

Norfolk
()

потому что одного физически нет?

darkenshvein ★★★★★
()
Ответ на: Друзья от Norfolk

Хочу, чтоб хост ходил в одну сеть через один шлюз, а во вторую - через другой. _но через шлюз_, а не просто напрямую к хосту из этой сети.

Т.е., допустим, у тебя есть адрес 192.168.0.2 в сети 192.168.0.0/24, в этой сети есть шлюз 192.168.0.1, и ты хочешь к хосту 192.168.0.3 ходить через 192.168.0.1, я правильно понял? В этом случае вопрос «зачем?» будет правильным, т.к. сеть в принципе работает по-другому, а конкретно - компьютеры в одной сети будут обращаться напрямую друг к другу.

Если же тебе надо ходить к определенным сетям (тем, в которых у тебя адреса нет) через определенные шлюзы, то добавить следующую строчку в описание интерфеса:

post-up ip route add $your_net via $your_gw
Если маршрутов надо добавлять несколько, напиши простой скрипт, и уже путь до него вписывай после post-up.

anonymous
()
Ответ на: комментарий от anonymous

т.к. сеть в принципе работает по-другому, а конкретно - компьютеры в одной сети будут обращаться напрямую друг к другу.

Тут Вы, конечно, правы!) я поспешил выразить свой вопрос, вот и вышло)

Если же тебе надо ходить к определенным сетям (тем, в которых у тебя адреса нет) через определенные шлюзы

Да, наверное это я и хотел уточнить! Спасибо за точное объяснение)

Но вот положим, есть у хоста два шлюза, а ему нужно попасть в 3ю сеть: он сунулся к одному шлюзу - не нашел нужную сеть, сунулся к другому - попал куда нужно. т.е. маршруты писать на шлюзах, а не на исходном хосте. Так получится?

И все же, с настройкой сети у свежих Дебианов все осталось как прежде или есть какие изменения, о которых полезно знать? Спасибо!

Norfolk
()
Ответ на: комментарий от Norfolk

Но вот положим, есть у хоста два шлюза, а ему нужно попасть в 3ю сеть: он сунулся к одному шлюзу - не нашел нужную сеть, сунулся к другому - попал куда нужно. т.е. маршруты писать на шлюзах, а не на исходном хосте. Так получится?

Если через оба шлюза есть доступ в интернет, то писать маршрут надо на исходном хосте, предварительно узнав, через какой из шлюзов можно попасть в нужную сеть.

И все же, с настройкой сети у свежих Дебианов все осталось как прежде или есть какие изменения, о которых полезно знать? Спасибо!

Не доводилось настраивать сеть на шестом дебиане, так что не подскажу. Держи ссылку https://wiki.debian.org/NetworkConfiguration

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.