Proxmox Настройка сети

Здравия всем! В этой заметке расскажу как в Proxmox 7 настроить сетевые интерфейсы для работы виртуальных машин и контейнеров. Как настроить VLAN и пробросить его внутрь виртуальных машин и контейнеров. Создадим внутреннюю сеть без доступа во внешний мир.

Сетевой мост для виртуальных машин

Сетевой мост это режим виртуальные машины получают ip адрес из одной подсети с гипервизором и имеют в нее прямой доступ.

Если мы ставили Proxmox из дистрибутива, то бридж vmbr0 уже будет настроен. Если вы ставили вначале Debian 11, а потом сверху Proxmox, то эта инструкция для вас.

Откроем настройки сети для нашего Proxmox

Откроем наш текущий интерфейс, у меня это enp4s0f0.

И удалим текущие настройки сети

Смело нажимаем кнопку OK Proxmox не применяет сразу настройки. Создадим наш новый бридж

Перенесем настройки сети, самое главное, нужно в поле Порты сетевого моста указать имя нашего сетевого интерфейса, в моем случае это enp4s0f0

Проверяем внесенные изменения, и нажимаем кнопку Apply Configuration

На этом настройка сетевого бриджа закончена

Внутренняя сеть для виртуальных машин

Иногда нужно несколько виртуальных машин объединить в локальную сеть, при этом, эта сеть не должна иметь доступ во внешний мир. Создадим новый бридж

Применим настройки и все наш бридж готов. При этом его можно назначать виртуальным машинам, и он не имеет доступ во внешний мир

Настройка NAT для виртуальных машин

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

Создадим новый бридж

Применим настройки

Теперь откроем окно терминала

Добавляем в файл с новыми сетевыми настройками несколько строк:

mcedit /etc/network/interfaces.new
auto vmbr100
iface vmbr100 inet static
        address 192.168.100.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A POSTROUTING -s '192.168.100.0/24' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.100.0/24' -o vmbr0 -j MASQUERADE

В первой строчке мы разрешили форвард пакетов между сетевыми интерфейсами. Без этого гипервизор не сможет работать в роли шлюза. Вторая и третья строка это правила iptables для настройки NAT.

Осталось перезагрузить сервер proxmox. Теперь назначаем этот бридж виртуальным машинам, прописываем на них ip адрес из сети 192.168.100.0/24, в качестве шлюза указываем ip адрес 192.168.100.1, днс провайдера и на виртуальных машинах будет доступ в интернет.

Настройка VLAN для виртуальных машин

Иногда на один физический порт приходит тегированный трафик. Для доступа виртуальных машин к этим сетям используем Linux VLAN.

В открывшемся окне в имя добавим наш VLAN, к примеру 10. Самое главное поле, это VLAN raw device, в котором мы указываем наш сетевой адаптер

Щелкаем создать и создается интерфейс vlan10

Теперь создадим сетевой bridge, в настройках Порты сетевого моста указываем только что созданный vlan10. Имя моста я для удобства ставлю как у VLAN.

Теперь надо применить внесенные изменения.

После этого этот бридж можно назначать виртуальным машинам.

Заключение

В данной заметке я описал все основные режимы работы сети, которые я использую. Есть еще различные режимы, к примеру, где гипервизор выступает в роли роутера, но мне проще поднять маленькую виртуалку, чем городить это на гипервизоре. Также я не рассмотрел такую вещь как bond, те объединение сетевых интерфейсов, для балансировки нагрузки. Это очень большая настройка, потому что сразу надо настраивать bond и на коммутаторе.

Как видим из заметки, чтобы виртуалки имели доступ к сети нужно создать сетевой мост — bridge. И в зависимости от настроек бриджа мы получаем различный результат. Чем хорошо proxmox, он все изменения не применяет сразу, а только после нажатия кнопки. Это дает возможность настраивать сеть, не имея прямого доступа к серверу.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.