Ubuntu 16.04 Неизвестный интерфейс

Вопрос или проблема

У меня возникла проблема при настройке второго сетевого интерфейса для моего сервера Ubuntu. Взгляните на это:

root@ubuntubox01:~# lshw -short | grep network
/0/100/15/0          ens160      network    VMXNET3 Ethernet Controller
/0/100/16/0          ens192      network    VMXNET3 Ethernet Controller

Когда я смотрю на IP-адреса:

root@ubuntubox01:~# ip addr sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:b6:52:89 brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.XXX.XXX/24 brd XXX.XXX.XXX.XXX scope global ens160
   valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:feb6:5289/64 scope link 
   valid_lft forever preferred_lft forever
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:b6:e2:2d brd ff:ff:ff:ff:ff:ff
inet6 fe80::250:56ff:feb6:e22d/64 scope link 
   valid_lft forever preferred_lft forever

Но если я делаю:

root@ubuntubox01:~# ifup ens192
Unknown interface ens192

То же самое происходит, когда я пытаюсь использовать файл interfaces. Есть идеи, почему Ubuntu видит физический интерфейс, но отказывается подключать его, заявляя, что интерфейс неизвестен?

Я использую ubuntu 16.04 Server 64 бит. Это виртуальная среда, кстати.

С уважением,

C.

Проверьте ваш файл /etc/network/interfaces,
он должен содержать:

auto ens192 
iface ens192 inet dhcp

или для статического:

auto ens192 
iface ens192 inet static
#параметры

вы можете сделать:

sudo ip link set dev eth0 down
sudo dhclient eth0

замените eth0 на имя интерфейса. Этот фрагмент взят из https://help.ubuntu.com/community/NetworkConfigurationCommandLine/Automatic

Также проверьте орфографию всего в /etc/network/interfaces. У меня была такая же проблема, как и у вас, потому что имя iface было написано с ошибкой.

Ответ или решение

Вопрос о неизвестном интерфейсе в Ubuntu 16.04 связан с проблемами конфигурации сетевых интерфейсов в виртуальной среде. На сервере обнаруживаются два сетевых интерфейса, ens160 и ens192, однако попытка активировать интерфейс ens192 с помощью команды ifup ens192 завершается ошибкой "Unknown interface". Давайте разберемся, что может быть причиной этой проблемы и как ее можно решить.

Теория (Theory)

В Ubuntu сетевые интерфейсы обычно настраиваются через файл /etc/network/interfaces. Основой конфигурации является указание, какие интерфейсы должны автоматически активироваться при загрузке системы и каким образом они получают IP-адреса (например, динамически через DHCP или статически).

Ошибочное поведение, описанное в исходном вопросе, может возникать по нескольким причинам:

  1. Ошибки в конфигурационном файле: Неправильная запись или синтаксическая ошибка в /etc/network/interfaces может привести к тому, что система не распознает интерфейс.
  2. Именование интерфейсов: В Ubuntu 16.04 используются предсказуемые имена интерфейсов, такие как ens160, но в некоторых случаях может быть неправильное сопоставление имен.
  3. Недостаток драйверов или сервисов: Компоненты, ответственные за управление сетевым интерфейсом, могут быть неактивны или неправильно настроены.

Пример (Example)

Рассмотрим пример конфигурационного файла для правильной настройки интерфейса ens192:

auto ens192
iface ens192 inet dhcp

Или для статического IP:

auto ens192
iface ens192 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1

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

Применение (Application)

Чтобы исправить проблему, следуйте следующим шагам:

  1. Проверка файла конфигурации:

    • Откройте файл /etc/network/interfaces с помощью текстового редактора:
      sudo nano /etc/network/interfaces
    • Убедитесь, что запись для ens192 правильная, синтаксис верный и соответствуют ли имена интерфейсов тому, что выводит ip addr.
  2. Проверка и перезапуск сетевого сервиса:

    sudo systemctl restart networking

    Или, если используется NetworkManager:

    sudo systemctl restart NetworkManager
  3. Инициализация DHCP-клиента вручную:
    Если используется динамическое получение IP, попробуйте инициализировать DHCP-клиент вручную:

    sudo dhclient ens192
  4. Проверка указаний BIOS/UEFI:
    Если машина виртуальная, убедитесь, что соответствующие настройки на уровне виртуализации корректны и интерфейс не деактивирован.

  5. Логирование и диагностика:
    Найдите и изучите логи сетевой подсистемы в /var/log/syslog или /var/log/messages, чтобы выявить ошибки и предупреждения.

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

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

Оцените материал
Добавить комментарий

Капча загружается...