Wiki source code of Proxmox Настройка сети
Last modified by Сергей Коршунов on 2022/09/01 13:40
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = Proxmox Настройка сети = | ||
| 2 | |||
| 3 | Здравия всем! В этой заметке расскажу как в **Proxmox 7 **настроить сетевые интерфейсы для работы виртуальных машин и контейнеров. Как настроить **VLAN** и пробросить его внутрь виртуальных машин и контейнеров. Создадим внутреннюю сеть без доступа во внешний мир. | ||
| 4 | |||
| 5 | Содержание | ||
| 6 | |||
| 7 | * Сетевой мост для виртуальных машин | ||
| 8 | * Внутренняя сеть для виртуальных машин | ||
| 9 | * Настройка NAT для виртуальных машин | ||
| 10 | * Настройка VLAN для виртуальных машин | ||
| 11 | * Заключение | ||
| 12 | |||
| 13 | == Сетевой мост для виртуальных машин == | ||
| 14 | |||
| 15 | Сетевой мост это режим виртуальные машины получают ip адрес из одной подсети с гипервизором и имеют в нее прямой доступ. | ||
| 16 | |||
| 17 | Если мы ставили **Proxmox** из дистрибутива, то бридж **vmbr0** уже будет настроен. Если вы ставили вначале **Debian 11**, а потом сверху **Proxmox**, то эта инструкция для вас. | ||
| 18 | |||
| 19 | Откроем настройки сети для нашего **Proxmox** | ||
| 20 | |||
| 21 | [[~[~[image:https://hserv.su/wp-content/uploads/2022/07/image-0078-1024x524.png~|~|height="524" width="1024"~]~]>>url:https://hserv.su/wp-content/uploads/2022/07/image-0078.png]] | ||
| 22 | |||
| 23 | Откроем наш текущий интерфейс, у меня это **enp4s0f0**. | ||
| 24 | |||
| 25 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0100.png||height="265" width="615"]] | ||
| 26 | |||
| 27 | И удалим текущие настройки сети | ||
| 28 | |||
| 29 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0080.png||height="265" width="615"]] | ||
| 30 | |||
| 31 | Смело нажимаем кнопку **OK** **Proxmox** не применяет сразу настройки. Создадим наш новый бридж | ||
| 32 | |||
| 33 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0082-1024x524.png||height="524" width="1024"]] | ||
| 34 | |||
| 35 | Перенесем настройки сети, самое главное, нужно в поле **Порты сетевого моста** указать имя нашего сетевого интерфейса, в моем случае это **enp4s0f0** | ||
| 36 | |||
| 37 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0101.png||height="265" width="615"]] | ||
| 38 | |||
| 39 | Проверяем внесенные изменения, и нажимаем кнопку **Apply Configuration** | ||
| 40 | |||
| 41 | [[~[~[image:https://hserv.su/wp-content/uploads/2022/07/image-0084-1024x524.png~|~|height="524" width="1024"~]~]>>url:https://hserv.su/wp-content/uploads/2022/07/image-0084.png]] | ||
| 42 | |||
| 43 | На этом настройка сетевого бриджа закончена | ||
| 44 | |||
| 45 | == Внутренняя сеть для виртуальных машин == | ||
| 46 | |||
| 47 | Иногда нужно несколько виртуальных машин объединить в локальную сеть, при этом, эта сеть не должна иметь доступ во внешний мир. Создадим новый бридж | ||
| 48 | |||
| 49 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0109.png||height="265" width="615"]] | ||
| 50 | |||
| 51 | Применим настройки и все наш бридж готов. При этом его можно назначать виртуальным машинам, и он не имеет доступ во внешний мир | ||
| 52 | |||
| 53 | == Настройка NAT для виртуальных машин == | ||
| 54 | |||
| 55 | В данном режиме сети виртуальные машины получают ip адреса в своей виртуальной подсети, во внешнюю сеть выходят через гипервизор и настроенный на нем NAT. Этот часто применяется при аренде железного сервера, где количество ip адресов ограничено. | ||
| 56 | |||
| 57 | Создадим новый бридж | ||
| 58 | |||
| 59 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0110.png||height="265" width="615"]] | ||
| 60 | |||
| 61 | Применим настройки | ||
| 62 | |||
| 63 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0111.png||height="278" width="666"]] | ||
| 64 | |||
| 65 | Теперь откроем окно терминала | ||
| 66 | |||
| 67 | [[~[~[image:https://hserv.su/wp-content/uploads/2022/07/image-0112-1024x493.png~|~|height="493" width="1024"~]~]>>url:https://hserv.su/wp-content/uploads/2022/07/image-0112.png]] | ||
| 68 | |||
| 69 | Добавляем в файл с новыми сетевыми настройками несколько строк: | ||
| 70 | |||
| 71 | {{{mcedit /etc/network/interfaces.new}}} | ||
| 72 | |||
| 73 | {{{auto vmbr100 | ||
| 74 | iface vmbr100 inet static | ||
| 75 | address 192.168.100.1/24 | ||
| 76 | bridge-ports none | ||
| 77 | bridge-stp off | ||
| 78 | bridge-fd 0 | ||
| 79 | post-up echo 1 > /proc/sys/net/ipv4/ip_forward | ||
| 80 | post-up iptables -t nat -A POSTROUTING -s '192.168.100.0/24' -o vmbr0 -j MASQUERADE | ||
| 81 | post-down iptables -t nat -D POSTROUTING -s '192.168.100.0/24' -o vmbr0 -j MASQUERADE}}} | ||
| 82 | |||
| 83 | В первой строчке мы разрешили форвард пакетов между сетевыми интерфейсами. Без этого гипервизор не сможет работать в роли шлюза. Вторая и третья строка это правила **iptables **для настройки **NAT**. | ||
| 84 | |||
| 85 | Осталось перезагрузить сервер **proxmox**. Теперь назначаем этот бридж виртуальным машинам, прописываем на них ip адрес из сети 192.168.100.0/24, в качестве шлюза указываем ip адрес** **192.168.100.1, днс провайдера и на виртуальных машинах будет доступ в интернет. | ||
| 86 | |||
| 87 | == Настройка VLAN для виртуальных машин == | ||
| 88 | |||
| 89 | Иногда на один физический порт приходит тегированный трафик. Для доступа виртуальных машин к этим сетям используем **Linux VLAN**. | ||
| 90 | |||
| 91 | [[~[~[image:https://hserv.su/wp-content/uploads/2022/07/image-0103.png~|~|height="490" width="849"~]~]>>url:https://hserv.su/wp-content/uploads/2022/07/image-0103.png]] | ||
| 92 | |||
| 93 | В открывшемся окне в имя добавим наш **VLAN**, к примеру 10. Самое главное поле, это **VLAN raw device**, в котором мы указываем наш сетевой адаптер | ||
| 94 | |||
| 95 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0104.png||height="299" width="615"]] | ||
| 96 | |||
| 97 | Щелкаем создать и создается интерфейс **vlan10** | ||
| 98 | |||
| 99 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0105.png||height="199" width="602"]] | ||
| 100 | |||
| 101 | Теперь создадим сетевой **bridge**, в настройках **Порты сетевого моста** указываем только что созданный **vlan10.** Имя моста я для удобства ставлю как у **VLAN**. | ||
| 102 | |||
| 103 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0106.png||height="265" width="615"]] | ||
| 104 | |||
| 105 | Теперь надо применить внесенные изменения. | ||
| 106 | |||
| 107 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0107.png||height="446" width="875"]] | ||
| 108 | |||
| 109 | После этого этот бридж можно назначать виртуальным машинам. | ||
| 110 | |||
| 111 | [[image:https://hserv.su/wp-content/uploads/2022/07/image-0108.png||height="197" width="615"]] | ||
| 112 | |||
| 113 | == Заключение == | ||
| 114 | |||
| 115 | В данной заметке я описал все основные режимы работы сети, которые я использую. Есть еще различные режимы, к примеру, где гипервизор выступает в роли роутера, но мне проще поднять маленькую виртуалку, чем городить это на гипервизоре. Также я не рассмотрел такую вещь как **bond**, те объединение сетевых интерфейсов, для балансировки нагрузки. Это очень большая настройка, потому что сразу надо настраивать **bond** и на коммутаторе. | ||
| 116 | |||
| 117 | Как видим из заметки, чтобы виртуалки имели доступ к сети нужно создать сетевой мост — **bridge**. И в зависимости от настроек бриджа мы получаем различный результат. Чем хорошо **proxmox**, он все изменения не применяет сразу, а только после нажатия кнопки. Это дает возможность настраивать сеть, не имея прямого доступа к серверу. |