Сблъскал се с проблема и прегледал голямо количество документация, опитайте се да систематизирате и запишете какво сте научили, за да запомните по-добре. Направете и инструкции по този въпрос, за да не минавате през целия процес отново.
Изходната документация се намира в голямо количество на
Формулиране на задачата
Клиентът иска да обедини няколко наемани сървъра в една мрежа, за да се освободи от необходимостта да плаща за няколко допълнителни подсети, да свърже всичките си устройства към маршрутизатора, да им зададе локални адреси и да се защити с файрвол. Целта е целият служебен трафик да циркулира вътре в VLAN. Плюс да премести виртуалките от един стар сървър на новия и да се откаже от него, да обнови старото оборудване и да премине на нов Proxmox.
Първоначално клиентът има 5 сървъра, на всеки от които по допълнителна подсет, първият адрес от предоставената подсет е зададен на допълнителен бридж на Proxmox.

При това VM работят на Windows и им е зададен адрес 85.x.x.177/29 с гейт 85.x.x.176.
И по подобен начин са настроени всичките 5 сървъра със собствените им виртуални машини.
Забавно е, че тази конфигурация е неправилна при настройката на мрежата, да се използва адресът на мрежата за първия възел и той да бъде същият за шлюза. Ако се опитате да внедрите такава конфигурация на виртуална машина в Ubuntu – мрежата не работи.
Реализация
- Създаваме vSwitch в интерфейса, задаваме му VlanID и добавяме този vSwitch към всички нужни сървъри.

- Правим тестов сървър, за да можем да настройваме и преминаваме без проблеми.
Стартираме първата виртуалка chr по .
Ако използвате предоставения скрипт, обърнете внимание, че в началото се проверява за наличието на директория -d /root/temp, и ако я няма, се създава директория /home/root/temp, обаче работата продължава с директорията /root/temp. Скриптът трябва да бъде поправен, за да създава съответната директория.
- Настройваме мрежата за Proxmox.

Добавяме сабинтерфейс с номер на VLAN, посочваме, че настройването на адресите ще се извършва на бриджите, използвайки inet manual. ВАЖНО. Не трябва да настройвате IP адреси на интерфейси, които след това ще включвате в бридж, тъй като как това ще работи и дали изобщо, никому не е известно.
След това създаваме мост vmbr0 – и прикачваме на него първия адрес на сървера, предоставен ни от доставчика Hetzner, указваме порта на моста – първият физически интерфейс без VLAN, както и с допълнителна команда указваме добавянето на маршрут към нашата допълнителна мрежа, поръчана в Hetzner за този сървър през този мост. Добавянето на маршрута ще сработи, когато интерфейсът се активира.
Вторият мост ще бъде интерфейсът за локален трафик, добавяме на него адрес за свързаност между различни сървъри Proxmox по локалната мрежа без изход към интернет и указваме порта като подинтерфейс eno1.4000, който е отделен за нашия VlanID.
При началната настройка се получават съвети, че може да се инсталира допълнително пакет ifupdown2 и при промени в мрежовите интерфейси сървърът да не се рестартира изцяло. Обаче, това е характерно само за първоначалната настройка, и при използване на мостове и настройка на вече виртуални машини се сблъсквате с проблеми с връзката в виртуалките. При това, когато сте поправили, например, интерфейса vmbr2, и при прилагане на конфигурацията мрежата спира на всички вътрешни интерфейси и не се активира до пълното рестартиране на сървъра. ifdown&&ifup не помагат. Ако някой има решение – ще съм благодарен.
Първият настроен интерфейс на сървера остава работещ и достъпен.
Резервиране на адрес за CHR, за да не загубим адресите от пула.
Пулът от адреси, който предоставя Hetzner, изглежда доста странно за мрежовите специалисти, приблизително така:
Странността е, че като шлюз се предлага да се използва собствен адрес на физическия сървър.
Класическият вариант, предложен от самия Hetzner, е указан в поставянето на задачата и е реализиран от клиента самостоятелно. В този вариант клиентът губи първия адрес за адреса на мрежата, втория адрес на моста proxmox, който ще бъде шлюз, и последния адрес за широкото предаване. IPv4 адресите не са излишни. Обаче, ако направите опит директно да зададете на CHR IP адрес 136.x.x.177/29 и шлюз за 0.0.0.0/0 148.x.x.165, то ще можете да го направите, но шлюзът няма да бъде Direct Connected и следователно ще бъде недостъпен.

Може да се излезе от положението, ако използвате 32 мрежа за всеки адрес и като име на мрежата укажете желания адрес, който може да бъде произволен. Получава се аналог на point-to-point свързване.

В този случай шлюзът ще бъде достъпен и всичко ще работи така, както ни е нужно.
Имайте предвид, че в подобна конфигурация не се препоръчва да използвате правилото SRC-NAT masquerade, тъй като изходният адрес ще бъде неясен; по-добре е да посочите action: src-NAT и конкретен адрес, от който ще пуснете клиента.
- И накрая.
За блокиране на достъпа до самия Proxmox от интернет използвайте вградените средства: има отличен firewall.

Не е добре да се използва firewall-ът, предлаган от hetzner, за да не се заплетете в местоположението на настройките. Освен това hetzner ще действа на всички мрежи, включително тези, които са настроени на CHR, и за отваряне и пренасочване на портове ще е необходимо да отворите още и в уеб интерфейса на доставчика.
Източник: habr.com

