Hetzner · Robot · Документация

vSwitch Hetzner и Windows Server: настройка VLAN, MTU 1400 и Hyper-V

Обновлено

vSwitch в Robot объединяет выделенные серверы в одну виртуальную сеть уровня L2 на основе VLAN: серверы получают приватные адреса и, при заказе подсетей, дополнительные публичные адреса. Основной сетевой интерфейс используется для трафика vSwitch, отдельная сетевая карта не нужна. Для vSwitch Hetzner рекомендует ограничить MTU интерфейса значением 1400. Ниже — как настроить сторону Windows Server. Для Linux есть эквивалентные примеры в статье Настройка сети через systemd-networkd.

Что нужно подготовить в Robot

  1. Создайте vSwitch и укажите VLAN ID (запомните его — он понадобится в Windows).
  2. Добавьте сервер в vSwitch и дождитесь применения настроек.
  3. При необходимости закажите подсети IPv4/IPv6 на вкладке IPs.
  4. Если на сервере включён межсетевой экран Robot, разрешите внутренние адреса: правила файрвола применяются и к пакетам vSwitch (Межсетевой экран — FAQ).

Трафик внутри vSwitch, в том числе между площадками, не тарифицируется; для публичных подсетей vSwitch включён лимит исходящего трафика, превышение оплачивается по тарифу.

VLAN-интерфейс в Windows Server

Способ зависит от драйвера сетевой карты. Самый простой — параметр VLAN ID адаптера в PowerShell (запускайте от администратора):

Get-NetAdapter
Set-NetAdapter -Name "Ethernet" -VlanID 4000

Если драйвер не поддерживает параметр, создайте команду на уровне NIC Teaming: объедините адаптер в команду из одного интерфейса и добавьте дополнительный team-интерфейс с VLAN:

New-NetLbfoTeam -Name "Team1" -TeamMembers "Ethernet" -TeamingMode SwitchIndependent -Confirm:$false
Add-NetLbfoTeamNic -Team "Team1" -VlanID 4000 -Confirm:$false

Будьте осторожны: изменение настроек основного адаптера по RDP может оборвать соединение. Выполняйте их через KVM-консоль (vKVM) или запланируйте откат.

Адрес и MTU

New-NetIPAddress -InterfaceAlias "Team1 - VLAN 4000" -IPAddress 10.0.1.10 -PrefixLength 24
netsh interface ipv4 set subinterface "Team1 - VLAN 4000" mtu=1400 store=persistent

Имя интерфейса уточните командой Get-NetAdapter (оно зависит от способа создания). Для публичной подсети vSwitch в качестве шлюза используется адрес из Robot, а не шлюз основной сети.

Проверьте связь и размер пакета: ping 10.0.1.1 -f -l 1372 (1372 + 28 байт заголовков = 1400). Если ответа нет, MTU, VLAN ID или правила файрвола заданы неверно.

Hyper-V и виртуальные машины

Чтобы виртуальные машины попали во VLAN, создайте внешний виртуальный коммутатор на основном адаптере и укажите VLAN на сетевом адаптере ВМ:

New-VMSwitch -Name "vSwitch-ext" -NetAdapterName "Ethernet" -AllowManagementOS $true
Set-VMNetworkAdapterVlan -VMName "vm1" -Access -VlanId 4000

Подробности про Hyper-V, дополнительные IP и подсети — в справках Windows Server HyperV и Подсеть для Windows Server. Не забудьте выставить MTU 1400 внутри ВМ.

Типичные ошибки

  • VLAN ID в Windows не совпадает с указанным в Robot.
  • MTU 1500 на VLAN-интерфейсе: мелкие пакеты ходят, большие теряются.
  • Не добавлены внутренние адреса в правила файрвола Robot.
  • Сервер не добавлен в vSwitch либо изменения в Robot ещё применяются (подождите несколько минут).
  • Изменение настроек основного адаптера по RDP привело к потере доступа.

Частые вопросы

Нужна ли вторая сетевая карта для vSwitch?

Нет, vSwitch использует основной интерфейс сервера.

Можно ли использовать vSwitch между облачными и выделенными серверами?

Облачные сети Hetzner можно подключать к vSwitch выделенных серверов; настройку см. в справке Конфигурация Hetzner Cloud Networks и в документации Hetzner.

Как проверить, что VLAN работает?

Проверьте адрес интерфейса (Get-NetIPAddress), пинг до другого сервера в той же сети и настройки файрвола.