Установите второй сетевой интерфейс на виртуализированном сервере Ubuntu.

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

Я только что установил последнюю версию Ubuntu 16.04 на машину VirtualBox. Я хотел бы иметь два разных сетевых интерфейса:

  1. первый для доступа к гостевой машине с хоста через ssh; по этой причине я установил Host-only Adapter в качестве адаптера 1
  2. второй, чтобы иметь возможность подключаться к интернету с хост-машины, поэтому я установил базовый NAT в качестве адаптера 2

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

$ ls /sys/class/net/
enp0s3  enp0s8  lo

$ ifconfig
enp0s3    Link encap:Ethernet  HWaddr 08:00:27:47:52:7b  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe47:527b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:399 errors:0 dropped:0 overruns:0 frame:0
          TX packets:246 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:44031 (44.0 KB)  TX bytes:75269 (75.2 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:92 errors:0 dropped:0 overruns:0 frame:0
          TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:40721 (40.7 KB)  TX bytes:40721 (40.7 KB)

Как я могу заставить систему распознать вторую карту?

Я решил проблему, добавив

# Вторичный сетевой интерфейс
auto enp0s8
iface enp0s8 inet dhcp

в /etc/network/interfaces

(Получите новое имя интерфейса с помощью ifconfig -a)

и перезапустив сеть с помощью sudo service networking restart.

Теперь вот результат

$ ifconfig enp0s3    Link encap:Ethernet  HWaddr 08:00:27:47:52:7b  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe47:527b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6334 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7656 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2741526 (2.7 MB)  TX bytes:10824219 (10.8 MB)

enp0s8    Link encap:Ethernet  HWaddr 08:00:27:3e:1e:bf  
          inet addr:10.0.3.15  Bcast:10.0.3.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe3e:1ebf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1730 (1.7 KB)  TX bytes:1882 (1.8 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2143 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2143 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:443165 (443.1 KB)  TX bytes:443165 (443.1 KB)

Новые версии Ubuntu Server используют netplan вместо ifup.

Вам нужно отредактировать /etc/netplan/00-installer-config.yaml:

network:
  ethernets:
     enp0s3:
        dhcp4: true
     enp0s8:
        dhcp4: true
version: 2

А затем выполнить:

netplan apply

Тогда все должно заработать!

Ubuntu 24 по-прежнему использует Netplan, но управляемый NetworkManager. Вы можете проверить это в файле /etc/netplan/01-network-manager-all.yaml:

  network:
      version: 2
      renderer: NetworkManager

Я установил Ubuntu лишь с одним Ethernet адаптером, и NetworkManager настроил его правильно. Позже я добавил второй сетевой адаптер; NetworkManager нашел его, но использовал то же имя для новых и старых интерфейсов. Когда я включал один интерфейс, Ubuntu отключал другой.

Если это так, щелчок по значку сети показывает оба интерфейса; но в настройках сетевого адаптера появится только один (не считая “lo”).

Я нашел простое решение: удалить интерфейс в настройках сетевого адаптера и перезапустить Ubuntu. Затем он обнаружит и перенастроит оба интерфейса отдельно.

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

Установка второго сетевого интерфейса на виртуализированном сервере Ubuntu — важная задача для обеспечения необходимой сетевой функциональности. В данной инструкции мы рассмотрим детальные шаги по конфигурации второго сетевого адаптера на виртуальной машине, работающей на платформе VirtualBox с установленной операционной системой Ubuntu 16.04 и более поздними версиями.

Шаг 1: Добавление второго сетевого интерфейса в VirtualBox

  1. Откройте настройки виртуальной машины:

    • Запустите VirtualBox и выберите вашу виртуальную машину.
    • Нажмите на кнопку "Настроить".
  2. Добавьте второй адаптер:

    • Перейдите на вкладку "Сеть".
    • Убедитесь, что первый адаптер настроен как "Host-only Adapter".
    • Для второго адаптера выберите "NAT" из выпадающего списка.

Шаг 2: Проверка доступных сетевых интерфейсов

После добавления второго адаптера вам необходимо убедиться, что операционная система распознает оба интерфейса. Для этого выполните команду:

ls /sys/class/net/

Вы должны увидеть оба интерфейса, например, enp0s3 и enp0s8. Если интерфейсы правильно отображаются, переходите к следующему шагу.

Шаг 3: Настройка второго сетевого интерфейса

Для настройки сетевого интерфейса необходимо отредактировать файл конфигурации сети. На Ubuntu 16.04 и более ранних версиях используется файл /etc/network/interfaces, в то время как с Ubuntu 17.10 и выше применяется netplan. Обратите внимание на версию вашего Ubuntu.

Для Ubuntu 16.04:

Откройте файл /etc/network/interfaces в любом текстовом редакторе с привилегиями суперпользователя:

sudo nano /etc/network/interfaces

Добавьте следующие строчки для второго интерфейса:

# Вторая сетевая карта
auto enp0s8
iface enp0s8 inet dhcp

Сохраните изменения и выйдите из редактора. Затем перезапустите сетевую службу:

sudo service networking restart

Для более поздних версий (Ubuntu 17.10 и выше):

Откройте файл конфигурации netplan:

sudo nano /etc/netplan/00-installer-config.yaml

Пример содержимого файла может выглядеть так:

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: true
    enp0s8:
      dhcp4: true

Сохраните изменения и примените конфигурацию:

sudo netplan apply

Шаг 4: Проверка конфигурации

После внесения изменений проверьте состояние сетевых интерфейсов:

ifconfig

Убедитесь, что оба интерфейса активны и получили IP-адреса. Например, enp0s3 должен иметь адрес в диапазоне 192.168.56.*, а enp0s8 должен получать адрес от NAT, например 10.0.3.*.

Шаг 5: Устранение проблем

Если у вас возникли проблемы с обнаружением интерфейсов:

  • Проверьте, что оба адаптера действительно подключены в настройках VirtualBox.
  • Убедитесь, что вы правильно сохранили и применили изменения в конфигурационных файлах.
  • Если в настройках Network Manager отображаются одинаковые названия интерфейсов, попробуйте удалить их и перезагрузите систему. Это позволит Ubuntu обнаружить и настроить ветер интерфейсы отдельно.

Заключение

Следуя данным шагам, вы сможете успешно установить и настроить второй сетевой интерфейс на виртуализированном сервере Ubuntu. Это расширит ваши возможности для работы с сетевыми сервисами, такими как SSH и интернет-соединение через NAT. Не забывайте периодически проверять настройки сети, особенно после обновлений ОС или изменений в конфигурации.

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

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