Как настроить сеть, чтобы и хост, и виртуальные машины могли подключаться к Интернету?
Я настроил сервер для размещения нескольких виртуальных машин с помощью KVM. Он предназначен для обслуживания библиотеки загружаемых книг для слепых (дополнительная информация ниже).
Текущее состояние является результатом попыток следовать ряду руководств по работе в сети для виртуальных машин. Цель состоит в том, чтобы иметь доступ в Интернет как с хоста, так и с виртуальных машин.
И хост, и гости работают под управлением Debian 10. Сетевая карта настроена как сетевой мост br0 со статическим адресом («интерфейсы» см. ниже).
В настоящее время виртуальные машины запускаются вручную с помощью virsh. Когда виртуальные машины не запущены, хост имеет доступ в Интернет (например, ping debian.org, get update, wget...).
Как только виртуальная машина запущена, виртуальная машина получает доступ в Интернет с помощью br0. Каждая виртуальная машина имеет статический адрес. Затем хост теряет доступ в Интернет. Пинг возможен на другие машины в локальной сети, а также на маршрутизатор, но не за его пределы (либо пингование доменного имени, либо IP-адреса).
Доступ к хосту и виртуальным машинам можно получить с помощью ssh с других локальных компьютеров.
После того, как виртуальные машины настроены на автозапуск, больше невозможно выполнить обновление без выключения виртуальных машин вручную, а также хост не подключается к серверу времени. Кроме того, ip показывает потерянные пакеты.
Все это, скорее всего, является результатом моего очень ограниченного понимания сетей и мостов в частности. Я очень благодарен за любую помощь!
Вот дополнительная информация.
Цель
Предполагается, что одна виртуальная машина будет обслуживать пользователей из-за пределов локальной сети, используя веб-сервер NginX. Он обрабатывает загрузку книг, извлеченных пользователями, которые хранятся на локальном диске.
Вторая виртуальная машина предоставляет сервер базы данных PostgreSQL, доступ к которому возможен только с локальных рабочих станций, где осуществляется администрирование пользователей библиотеки и кредитов.
Хост должен быть доступен по ssh из локальной сети. Доступ в Интернет требуется для подключения к серверу времени и для поддержания программного обеспечения в актуальном состоянии.
ПК
Материнская плата: MSI MPG B550 GAMING PLUS
Процессор: AMD Ryzen™ 7 3700X
Оперативная память: комплект Corsair DIMM 32 ГБ DDR4-3200
HD: Samsung 980 PRO 1 ТБ, SSD
Видеокарта: MSI GeForce GT 710 1GD3H LP
Операционные системы
uname -r
4.19.0-17-амд64
lsb_release -a
Нет доступных модулей LSB.
Идентификатор распространителя: Debian
Описание: Debian GNU/Linux 10 (бастер)
Выпуск: 10
Кодовое имя: Бастер
Сеть
Пока он не перемещен в библиотеку, сервер находится в моем домашнем офисе, подключенном к маршрутизатору AVM Fritz!Box 7490.
ЛС /sys/класс/сеть/
br0 enp42s0 ло
кот /etc/сеть/интерфейсы
# Этот файл описывает сетевые интерфейсы, доступные в вашей системе
# и как их активировать. Для получения дополнительной информации см. интерфейсы(5).
источник /etc/network/interfaces.d/*
# петлевой сетевой интерфейс
авто вот
iFace Lo Inet Loopback
# Основной сетевой интерфейс
iface enp42s0 инет руководство
# Настройки моста br0
авто бр0
iface br0 инет статический
bridge_ports enp42s0
адрес 192.168.10.50
сеть 192.168.10.0
широковещательный 192.168.10.255
сетевая маска 255.255.255.0
шлюз 192.168.10.1
DNS-серверы имен 94.247.43.254 194.36.144.87 192.168.10.1
мост_стп выключен
bridge_fd 0
bridge_maxwait 0
(Виртуальные машины имеют адреса 192.168.10.51, 192.168.10.52)
ip -s ссылка показать dev br0
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state Режим UP DEFAULT group default qlen 1000
ссылка/эфир 2c:f0:5d:e4:36:d5 brd ff:ff:ff:ff:ff:ff
RX: байты, пакеты, ошибки, потерянные, переполняют mcast
206602 2218 0 1130 0 177
TX: байты, пакеты, ошибки, отброшенные операторы связи
99981 593 0 0 0 0
кошка /proc/net/dev
Интер-| Получить | Передать
лицо | байты пакеты ошибки отбрасывают FIFO кадр сжатый многоадресный | байты пакеты errs drop fifo colls носитель сжат
br0: 210026 2268 0 1138 0 0 0 177 103273 615 0 0 0 0 0 0
vnet0: 1384510 18903 0 0 0 0 0 0 58389276 40523 0 0 0 0 0 0
вот: 1840 26 0 0 0 0 0 0 1840 26 0 0 0 0 0 0
enp42s0: 58580534 42260 0 38 0 0 0 289 1467123 19358 0 0 0 0 0 0
маршрут -n
Kernel-IP-Routentabelle
Маршрутизатор Ziel Genmask помечает метрику Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 vnet0
0.0.0.0 192.168.10.1 0.0.0.0 УГ 0 0 0 бр0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 vnet0
192.168.10.0 0.0.0.0 255.255.255.0 У 0 0 0 бр0
ЛС /sys/класс/сеть/
br0 enp42s0 ло vnet0