Неизвестный интерфейс eth0, хотя `ethtool eth0` показывает информацию

, в то время как вопрос помечен как sedи дан идеальный ответ выше, но вот версия awk для тех, кто будет ее искать.

awk '/string3/{gsub("string1", "string2", $0)}1' infile.txt 
0
10.10.2019, 13:04
2 ответа

Причина этой ошибки в том, что здесь eth0означает две разные вещи:

  • либо фактическое имя интерфейса, видимое ядром, iproute2 tools, ethtool , dhclient и т. д., которые существуют,

  • или конфигурация интерфейса в инструментахifupdown , указывающая на фактическое имя интерфейса. Здесь, если eth0никогда не было определено в конфигурации, тогда ifup не знает :, что является сообщением об ошибке.

    Простой способ воспроизвести эту ошибку:

    # ip link add name veth5 type veth peer name veth6
    # ethtool veth5
    Settings for veth5:
        Supported ports: [ ]
    [...]
        Link detected: no
    # ifup veth5
    ifup: unknown interface veth5
    

Так что интерфейс не пропал. инструмент ifupdown не настроен на его использование.

В вашем случае вы можете добавить в конец/etc/network/interfaces(или в отдельный файл например /etc/network/interfaces.d/eth0, если файл interfacesвключает в себя каталог interfaces.dв своем конфиге )эти две строки:

auto eth0
iface eth0 inet dhcp

Чтобы инструменты ifupdown и команда ifupзнали об этом и настраивали DHCP при загрузке. Я понятия не имею, почему этого не было раньше.

В моем предыдущем поддельном примере, где я аналогичным образом добавил veth5определение (в Debian 9):

# ifup -a
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/veth5/1e:96:59:c3:e4:0c
Sending on   LPF/veth5/1e:96:59:c3:e4:0c
Sending on   Socket/fallback
DHCPDISCOVER on veth5 to 255.255.255.255 port 67 interval 8
4
28.01.2020, 02:22

Я решил это, выполнив командуdhclient

dhclient -Клиент протокола динамической конфигурации хоста

DHCP-клиент Internet Systems Consortium, dhclient, предоставляет средства для настройки одного или нескольких сетевых интерфейсов с использованием протокола динамической конфигурации хоста, протокола BOOTP или, в случае сбоя этих протоколов, путем статического назначения адреса.

...

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

2
28.01.2020, 02:22

Теги

Похожие вопросы