Назад | Перейти на главную страницу

Может вызвать только один из двух интерфейсов

У меня странная проблема с моим сервером HP Proliant DL 360 G4p. У него есть два гигабитных интерфейса Ethernet, но я могу вызвать только один из них. Меня это начинает пугать, и поэтому я обратился сюда. Я использую серверную версию x64 ubuntu 11.10.

lshw -c network показывает, что второй интерфейс отключен. Понятия не имею, зачем и как его включать.

$ sudo lshw -c network
  *-network:0
       description: Ethernet interface
       product: NetXtreme BCM5704 Gigabit Ethernet
       vendor: Broadcom Corporation
       physical id: 2
       bus info: pci@0000:02:02.0
       logical name: eth0
       version: 10
       serial: 00:18:71:e3:6d:26
       size: 100Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 66MHz
       capabilities: pcix pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.119 duplex=full firmware=5704-v3.27b, ASFIPMIc v2.36 ip=10.48.8.x latency=64 link=yes mingnt=64 multicast=yes port=twisted pair speed=100Mbit/s
       resources: irq:25 memory:fdf70000-fdf7ffff
  *-network:1 DISABLED
       description: Ethernet interface
       product: NetXtreme BCM5704 Gigabit Ethernet
       vendor: Broadcom Corporation
       physical id: 2.1
       bus info: pci@0000:02:02.1
       logical name: eth1
       version: 10
       serial: 00:18:71:e3:6d:25
       capacity: 1Gbit/s
       width: 64 bits
       clock: 66MHz
       capabilities: pcix pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.119 firmware=5704-v3.27b latency=64 link=no mingnt=64 multicast=yes port=twisted pair
       resources: irq:26 memory:fdf60000-fdf6ffff

Если я попытаюсь запустить eth1, то получу

$ sudo ifup eth1
Ignoring unknown interface eth1=eth1.

Я подумал, что происходит, когда в / etc / network / interfaces нет eth1. Но когда я добавляю конфигурацию для eth1, я все равно не могу ifup.

$ sudo ifup eth1
RTNETLINK answers: File exists
Failed to bring up eth1.
I've also tried ifconfig eth1 up but without any result.

Для ясности я добавил замаскированную версию / etc / network / interfaces. Я не думаю, что это причина проблемы.

$ cat /etc/network/interfaces
# 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.48.8.x
        netmask 255.255.255.y
        network 10.48.8.z
        broadcast 10.48.8.t
        gateway 10.48.8.u

auto eth1
iface eth1 inet static
        address   193.190.253.x
        netmask   255.255.255.y
        network   193.190.253.z
        broadcast 193.190.253.t
        gateway   193.190.253.u

Мне действительно нужна помощь, чтобы это исправить. Это сводит меня с ума. Спасибо.

Я нашел решение. В / etc / network / interfaces было определено два шлюза, в то время как у вас просто не может быть больше одного шлюза. Это не имеет никакого смысла.

Шлюз - это IP-адрес, на который вы отправляете ВЕСЬ трафик. Если бы у вас было два, ваша таблица маршрутизации имела бы двойную запись для dest 0.0.0.0, и система не могла бы с этим справиться. Двойной маршрут - это то, что вызывает ответ RTNETLINK «Файл существует», что означает, что уже существует маршрут для 0.0.0.0.

Я закомментировал один из шлюзов, и теперь могу запустить как eth0, так и eth1.

tl; dr удаляйте записи шлюза, пока у вас не останется только один.

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

Просто добавьте следующую строку в ваш / etc / network / interfaces под конфигурацией eth0:

предварительный IP-адрес del 192.168.1.254/24 dev eth0 2> / dev / null || правда

Это не самое красивое решение, но, по крайней мере, оно работает. Кредиты переходят владельцу grapsus.net и google.

В середине второй части вывода находится link=no.

Я подозреваю, что у вас ослаблен или оборван кабель. У вас также может быть неисправный сетевой адаптер на одном конце.

Вы уверены, что не в порту МОТ?

Если вы хотите, чтобы запускался только один, удалите auto ethX спецификация для другого. Это означает, что интерфейс должен запускаться автоматически. Если у вас возникли проблемы с одним интерфейсом, может быть полезно запустить его вручную, пока вы не решите проблему.

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

Вы можете проверить вывод dmesg после попытки запустить интерфейсы. Это должно отображать все сгенерированные сообщения ядра и может облегчить диагностику. mii-tool если доступно, может предоставить хорошую информацию об интерфейсах.