HOW-to / Налаштування мережі та VLAN на виділеному сервері Hetzner та Mikrotik

Зіткнувшись із питанням і перерва велика кількість документації постарайся систематизувати та записати те, що ти дізнався, щоб запам'ятати краще. А також зроби інструкцію з цього питання, щоб не проходити весь шлях повторно.

Вихідна документація знаходиться у великій кількості на https://forum.proxmox.com https://wiki.hetzner.de

Постановка завдання

Клієнт хоче об'єднати кілька орендованих серверів в одну мережу, щоб позбавитися необхідності платити за кілька додаткових підмереж, повісити все своє господарство за роутер, призначити їм всередині локальні адреси, і захиститися файрволом. Щоб весь службовий трафік бігав усередині VLAN. Плюс перевезти віртуалочки з одного старого сервера на новий і від того відмовитися, проапгрейдить старе залізо, що використовується, і заразом переїхати на свіжий Proxmox.

Спочатку у клієнта 5 серверів, на кожному по додатковій підмережі, перша адреса з виділеної підмережі призначена на додатковий бридж на Proxmox

HOW-to / Налаштування мережі та VLAN на виділеному сервері Hetzner та Mikrotik

При цьому VM працюють на Windows і у них налаштована адреса 85.xx177/29 з гейтом 85.xx176
І в схожому ключі настроєно всі 5 серверів зі своїми віртуальними машинами.

Забавно, що дана конфігурація помилкова в налаштуванні мережі в принципі, використовувати адресу мережі для першого вузла і він для шлюзу. Якщо таку конфігурацію спробувати завести на віртуальній машині в Ubuntu – мережа не працює.

Реалізація

  • Створюємо vSwitch в інтерфейсі, призначаємо на нього VlanID, додаємо цей vSwitch до всіх потрібних нам серверів.

HOW-to / Налаштування мережі та VLAN на виділеному сервері Hetzner та Mikrotik

  • Робимо тестовий сервер, щоб можна було налаштовувати та переїжджати без проблем.

Піднімаємо першою віртуалкою chr по інструкції для proxmox.

Якщо користуєтеся наведеним скриптом, зверніть увагу, що перевіряється спочатку наявність каталогу -d /root/temp, а якщо його немає, створюється каталог /home/root/temp, проте робота далі ведеться все одно з каталогом /root/temp. Скрипт необхідно виправити, щоб створити відповідний каталог.

  • Налаштовуємо мережу для Proxmox.

HOW-to / Налаштування мережі та VLAN на виділеному сервері Hetzner та Mikrotik

Додаємо сабінтерфейс з номером VLAN, вказуємо, що налаштування адрес відбуватиметься на бриджах використовуючи inet manual. ВАЖЛИВО. Не можна налаштовувати IP-адреси на інтерфейсах, які потім включатимете в бридж, як це буде працювати і чи буде взагалі нікому невідомо.

Далі створюємо бридж vmbr0 – і вішаємо на нього першу адресу самого сервера, видану нам провайдерів Hetzner, вказуємо порт бриджа – перший фізичний інтерфейс без VLAN, а також вказуємо додатковою командою додавання маршруту на додаткову мережу, замовлену в Hetzner для цього сервера через цей бридж. Додавання маршруту спрацює, коли інтерфейс піднімається.

Другим бриджем буде у нас інтерфейс для локального трафіку, додаємо на нього адресу для отримання зв'язків між різними серверами Proxmox по локальній мережі без виходу в інтернет і вказуємо портом сабінтерфейс eno1.4000, який виділено для нашого VlanID.
При початковому налаштуванні попадаються поради, що можна поставити для Proxmox додатково пакет ifupdown2 і можна при змінах в мережевих інтерфейсах сервер не перезавантажувати. Однак це характерно тільки для первинного налаштування, і при використанні бриджів та налаштуванні вже віртуальних машин стикаєшся з проблемами відвалу мережі у віртуалках. При тому, що ви правили, наприклад, інтерфейс vmbr2, а при застосуванні конфігурації мережа відвалюється вже на всіх внутрішніх інтерфейсах і не піднімається до перезапуску сервера. ifdown&&ifup не допомагають. Якщо хтось має рішення – буду вдячний.

Сам перший інтерфейс на сервері залишається робочим і доступним.

  • Виділення адреси для CHR щоб не втратити адреси з пулу
    Пул адрес, який видає Hetzner виглядає для сетевика дуже дивно, приблизно так:

    HOW-to / Налаштування мережі та VLAN на виділеному сервері Hetzner та Mikrotik

Дивність у тому, що гейтом пропонується використати власну адресу фізичного сервера.

Класичний варіант, пропонований самим Hetzner, вказаний у постановці завдання і був реалізований клієнтом самостійно. У цьому варіанті клієнт втрачає першу адресу на адресу мережі, друга адреса на бриджі proxmox і він буде шлюзом, і остання адреса для бродкасту. Адреси IPv4 зайвими не бувають. Якщо ж ви прямо спробуєте прописати на CHR IP адресу 136.х.х.177/29 і шлюз для 0.0.0.0/0 148.х.х.165 то зробити це зможете, проте шлюз не буде Direct Connected і тому буде unreachable.

HOW-to / Налаштування мережі та VLAN на виділеному сервері Hetzner та Mikrotik

Вийти з положення можна, якщо використовувати 32 мережу на кожну адресу і як ім'я мережі вказавши потрібну нам адресу, яка може бути будь-якою. Виходить аналог point-to-point з'єднання.

HOW-to / Налаштування мережі та VLAN на виділеному сервері Hetzner та Mikrotik

У цьому випадку шлюз, очевидно, буде доступний, і все буде працювати так, як нам потрібно.
Враховуйте, що в подібній конфігурації не рекомендується використовувати правило SRC-NAT masquerade, тому що вихідна адреса буде невизначено різною, а правильніше вказати action: src-NAT і конкретну адресу, з якої ви випускатимете клієнта.

  • Ну і наостанок.
    Для блокування доступу до самого Proxmox з інтернету використовуйте вбудовані засоби: є чудовий firewall.

HOW-to / Налаштування мережі та VLAN на виділеному сервері Hetzner та Mikrotik

Не варто використовувати firewall, запропонований hetzner, щоб не заплутатися в розташування налаштувань. Також hetzner буде діяти на всі мережі, у тому числі на ті, які заведені на CHR і для відкриття та прокидання портів буде необхідно відкривати ще й у веб-інтерфейсі провайдера.

Джерело: habr.com

Додати коментар або відгук