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

Show last authors
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**, он все изменения не применяет сразу, а только после нажатия кнопки. Это дает возможность настраивать сеть, не имея прямого доступа к серверу.