- Вопрос или проблема
- Ответ или решение
- Шаг 1: Добавление второго сетевого интерфейса в VirtualBox
- Шаг 2: Проверка доступных сетевых интерфейсов
- Шаг 3: Настройка второго сетевого интерфейса
- Для Ubuntu 16.04:
- Для более поздних версий (Ubuntu 17.10 и выше):
- Шаг 4: Проверка конфигурации
- Шаг 5: Устранение проблем
- Заключение
Вопрос или проблема
Я только что установил последнюю версию Ubuntu 16.04
на машину VirtualBox
. Я хотел бы иметь два разных сетевых интерфейса:
- первый для доступа к гостевой машине с хоста через ssh; по этой причине я установил
Host-only Adapter
в качестве адаптера 1 - второй, чтобы иметь возможность подключаться к интернету с хост-машины, поэтому я установил базовый
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
-
Откройте настройки виртуальной машины:
- Запустите VirtualBox и выберите вашу виртуальную машину.
- Нажмите на кнопку "Настроить".
-
Добавьте второй адаптер:
- Перейдите на вкладку "Сеть".
- Убедитесь, что первый адаптер настроен как "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. Не забывайте периодически проверять настройки сети, особенно после обновлений ОС или изменений в конфигурации.