Вопрос или проблема
Я работаю с Ubuntu 24.04 Desktop, и я создал виртуальную машину, подключенную к стандартному мосту libvirt-NAT и к второй изолированной сети.
Сетевой мост – это virbr0: 192.168.122.0/24
, у хоста 192.168.122.1
, а у виртуальной машины статический 192.168.122.128
. Изолированная сеть – это 10.95.212.0/24
.
Я хочу иметь возможность пинговать/ssh на хосты в изолированной сети, поэтому я настроил статический маршрут (route add ...
) на хосте. Это работает, но не сохраняется при перезагрузке. Я пробовал nmtui
, но маршрут пропадает при перезагрузке.
Я думал о virsh net-edit default
, но не нашел документации о том, как это сделать.
Где мне нужно определить маршрут, чтобы он сохранялся после перезагрузки?
Ответ или решение
Чтобы настроить статический маршрут в изолированной сети, работающей через libvirt на Ubuntu 24.04 Desktop, необходимо обеспечить, чтобы ваш маршрут сохранялся даже после перезагрузки системы. Давайте разберем необходимые шаги.
1. Предварительная настройка
Убедитесь, что вы правильно настроили ваши сети. У вас уже есть NAT-сеть virbr0
с адресами в диапазоне 192.168.122.0/24
и изолированная сеть 10.95.212.0/24
. Ваш хост настроен на 192.168.122.1
, а виртуальная машина (ВМ) — на 192.168.122.128
. Теперь нам нужно правильно добавить статический маршрут к изолированной сети.
2. Настройка маршрута
Чтобы сделать так, чтобы ваш статический маршрут оставался активным после перезагрузки, вам необходимо внести его в конфигурационные файлы сети вашей системы. Выполните следующие действия:
2.1. Использование netplan
Ubuntu 24.04 использует netplan
для управления сетевыми настройками. Вам потребуется отредактировать конфигурационный файл netplan
, чтобы добавить ваш статический маршрут.
-
Откройте терминал и выполните следующий команду, чтобы найти ваш файл конфигурации
netplan
:ls /etc/netplan/
Вы должны увидеть файл с именем, например,
01-netcfg.yaml
или подобным. -
Откройте этот файл для редактирования (может потребоваться
sudo
):sudo nano /etc/netplan/01-netcfg.yaml
-
Добавьте настройки для маршрута в соответствующий блок
ethernets
вашего сетевого интерфейса. Пример структуры:network: version: 2 ethernets: <ваш_интерфейс>: # Замените <ваш_интерфейс> на ваш сетевой интерфейс, например, ens33 addresses: - 192.168.122.1/24 routes: - to: 10.95.212.0/24 # Целевая сеть via: 192.168.122.1 # Шлюз (это может быть ваш интерфейс NAT, если ВМ доступна только через NAT)
-
Сохраните изменения и закройте редактор (
Ctrl + O
, затемEnter
, затемCtrl + X
). -
Примените изменения:
sudo netplan apply
3. Проверка маршрута
После применения изменений, проверьте, правильно ли добавился маршрут:
ip route
4. Использование virsh
для настройки сетей
Если вы хотите добавить статический маршрут непосредственно в конфигурацию сети libvirt, вам может понадобиться отредактировать конфигурацию сети напрямую через virsh
. Однако, важно отметить, что virsh net-edit
в основном используется для изменения настроек сети, таких как подсеть или адресация DHCP.
Для изолированных настроек, такой подход будет ограничен, так как он не позволяет непосредственно управлять статическими маршрутами на хосте. Поэтому более целесообразно использовать netplan
для управления маршрутизацией.
Заключение
Следуя описанным выше шагам, вы сможете настроить статический маршрут для вашей изолированной сети в Ubuntu 24.04, который будет сохранятся даже после перезагрузки. Это позволит вам управлять доступом к виртуальным машинам и обеспечить стабильное сетевое взаимодействие без необходимости повторно настраивать маршруты вручную после каждого перезапуска системы.