Когато се сблъскате с въпрос и сте прекарвали много време в документация, опитайте се да систематизирате и запишете това, което сте научили, за да запомните по-добре. Също така направете инструкция по този въпрос, за да не преминавате през целия процес отново.
Исходната документация е налична в голямо количество на
Формулиране на задачата
Клиентът иска да обедини няколко наемани сървъра в една мрежа, за да избегне необходимостта да плаща за няколко допълнителни подмрежи, да свърже всичките си устройства на рутера, да им зададе вътрешни локални адреси и да се защити с фаервол. Целта е целият служебен трафик да обикаля в рамките на 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 за Proxmox и при промени в мрежовите интерфейси не е необходимо да перезареждате целия сървър. Въпреки това, това е характерно само за първоначалната настройка, и при използване на мостове и настройка на виртуални машини срещате проблеми със загуба на мрежовата свързаност в виртуалките. Дори ако сте коригирали, например, интерфейса vmbr2, при прилагане на конфигурацията мрежата се изключва на всички вътрешни интерфейси и не се активира до пълно перезареждане на сървъра. ifdown && ifup не помагат. Ако някой има решение – ще бъда благодарен.
Първоначално настроеният интерфейс на сървъра остава работещ и достъпен.
Резервиране на адрес за CHR, за да не загубите адресите от пула.
Пулът от адреси, който предоставя Hetzner, изглежда много странно за мрежовите администратори, приблизително така:
Странността е, че като шлюз се предлага да се използва собствен адрес на физическия сървър.
Класическият вариант, предлаган от самия Hetzner, е указан в поставката на задачата и е реализиран от клиента самостоятелно. В този вариант клиентът губи първия адрес на адреса на мрежата, втория адрес на моста proxmox, който ще бъде шлюз, и последния адрес за широкото предаване (broadcast). Адресите 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 от интернет, използвайте вградените средства: има отличен защитен екран.

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

