0 Votes

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

Last modified by Сергей Коршунов on 2022/09/01 13:40

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

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

Содержание

  • Сетевой мост для виртуальных машин
  • Внутренняя сеть для виртуальных машин
  • Настройка NAT для виртуальных машин
  • Настройка VLAN для виртуальных машин
  • Заключение

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

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

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

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

https://hserv.su/wp-content/uploads/2022/07/image-0078-1024x524.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0100.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0080.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0082-1024x524.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0101.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0084-1024x524.png

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

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

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

https://hserv.su/wp-content/uploads/2022/07/image-0109.png

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

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

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

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

https://hserv.su/wp-content/uploads/2022/07/image-0110.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0111.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0112-1024x493.png

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

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.

https://hserv.su/wp-content/uploads/2022/07/image-0103.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0104.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0105.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0106.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0107.png

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

https://hserv.su/wp-content/uploads/2022/07/image-0108.png

Заключение

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

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