Настройка
Новости
Оплата
Доставка
Информация
Контакты
Загрузки
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Каталог
    • 1U
      1U
    • 2U
      2U
    • 3U
      3U
    • 4U
      4U
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Каталог
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Странные проблемы с подключением в облачной сети Hetzner vSwitch

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Странные проблемы с подключением в облачной сети Hetzner vSwitch, Proxmox Виртуальная Среда
     
    TheJKM
    Guest
    #1
    0
    12.10.2023 21:11:00
    Привет! Я использую Proxmox с версии 4.4 в своём домашнем сервере и недавно настроил первый Proxmox-инстанс на Hetzner Root Server. У машины один публичный IPv4 и обычная подсеть /64 для IPv6. Большая часть настроек работает, но есть одна проблема, для которой мне нужны свежие идеи.

    По IPv6 хост и все ВМ имеют адреса из подсети. Это самая простая конфигурация, и она работает без сбоев. По IPv4 публичный адрес назначен хосту. Для ВМ я использую маршрутизируемую схему с маскарадингом на хосте — тоже работает отлично.

    Кроме того, машина и ВМ должны быть доступны из облачных серверов Hetzner по приватной сети. Чтобы это устроить, я подключил vSwitch к облачной сети и к серверу. Hetzner использует VLAN тег 4000 для пакетов vSwitch. Я создал дополнительный интерфейс для этого VLAN и ещё один VM Bridge. У мостика IP из приватной подсети vSwitch. Все ВМ, подключённые к этому мосту, тоже получают IP из этой подсети.

    Для ВМ всё работает как надо — они могут и обращаться к облачным серверам, и получать от них ответ. А вот на хосте странная проблема: сразу после перезагрузки соединение работает и туда, и обратно. Но через пару минут связь пропадает, и хост становится недоступен для всех облачных серверов. Обратно сначала облачные серверы тоже недоступны с хоста, но после нескольких пакетов соединение оживает и работает ещё несколько минут в обе стороны — пока проблема опять не повторится.

    Если "восстановить" связь с помощью ping, то обычно приходится потерять 3-4 пакета, прежде чем соединение снова заработает. Если "починить" через traceroute к облачному серверу, приходится ждать от 14 до 16 пакетов, пока vSwitch ответит. Проблема только у хоста — ВМ всегда в порядке, независимо от состояния хоста.

    В чём может быть дело? Честно, у меня уже кончаются идеи, и похожих случаев искать в интернете не получилось. Ниже приложу конфигурацию /etc/network/interfaces с замаскированными IP.

    Одно уточнение — я категорически не хочу иметь более одного публичного IPv4-адреса. В планах много ВМ, и публичный IPv4 нужен только для API провайдеров, которые почему-то считают нормой не поддерживать IPv6 для своих API. Весь входящий трафик идёт через балансировщик нагрузки и приватную сеть. В условиях дефицита IPv4 я не хочу расходовать адреса просто ради интернет-связи по IPv4.

    Если нужна дополнительная информация — спрашивайте, буду рад любым идеям.

    TheJKM

    Код:

    source /etc/network/interfaces.d/*

    auto lo
    iface lo inet loopback

    iface lo inet6 loopback

    auto enp27s0
    iface enp27s0 inet static
       address <PUBLIC_IP>/32
       gateway <PUBLIC_IP_GATEWAY>
       pointopoint <PUBLIC_IP_GATEWAY>
       up route add -net <PUBLIC_IP_NET_BASE> netmask 255.255.255.192 gw <PUBLIC_IP_GATEWAY> dev enp27s0

    iface enp27s0 inet6 static
       address <PUBLIC_IP_V6>/128
       gateway fe80::1

    auto enp27s0.4000
    iface enp27s0.4000 inet manual
       mtu 1400

    auto vmbr0
    iface vmbr0 inet static
       address 192.168.0.1/24
       bridge-ports none
       bridge-stp off
       bridge-fd 0
       post-up   iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o enp27s0 -j MASQUERADE
       post-down iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o enp27s0 -j MASQUERADE

    iface vmbr0 inet6 manual
       address <ANOTHER_PUBLIC_IP_V6>/64
       up ip -6 route add <PUBLIC_IP_V6_PREFIX>/64 dev vmbr0

    auto vmbr4000
    iface vmbr4000 inet static
       address 10.0.30.10/24
       bridge-ports enp27s0.4000
       bridge-stp off
       bridge-fd 0
       mtu 1400
       up ip route add 10.0.0.0/16 via 10.0.30.1 dev vmbr4000
       down ip route del 10.0.0.0/16 via 10.0.30.1 dev vmbr4000
     
     
     
    Cheatha
    Guest
    #2
    0
    02.11.2023 09:50:00
    Сколько виртуальных машин вы подключаете через этот коммутатор? «Есть ограничение — не более 32 MAC-адресов на порт коммутатора» (согласно документации Hetzner).
     
     
     
    NiceRath
    Guest
    #3
    0
    15.05.2024 13:58:00
    Убедитесь, что вы установили MTU 1400 на VLAN и VM-Bridge. Также настройте ВМ в этой сети на MTU 1 (наследовать MTU от мостового интерфейса). Если вы используете OPNSense в качестве роутера, возможно, стоит настроить MTU и на его интерфейсах. ВНИМАНИЕ: ВМ могут отключиться до тех пор, пока вы их не перезагрузите! Я видел случаи, когда пинг работал, но возникали проблемы с передачей данных между узлами. Классическая «случайность» из-за проблем с MTU.
     
     
     
    mrmanuel
    Guest
    #4
    0
    20.02.2025 09:55:00
    У меня похожая странная проблема, которую не могу решить уже несколько месяцев. Я отправляю данные с помощью Telegraf (сервер на Hetzner Cloud) в InfluxDB (виртуальный сервер на Hetzner Robot с Proxmox VE) и получаю кучу ошибок передачи. Если же я перенаправляю трафик на публичный IP InfluxDB с пробросом порта, всё работает как надо. Поэтому я предполагаю, что где-то есть проблема с MTU, но пока не могу найти причину. Ping и другие данные проходят нормально, как обычный HTTP-трафик сайтов.

    Моя конфигурация следующая:

    * Debian 12 Linux HAproxy loadbalancer в Hetzner Cloud  
    * Proxmox VE сервер (8.3.4) с Hetzner Robot, с двумя публичными IP  
    * Debian 12 Linux VM на Proxmox VE сервере

    # Сеть Hetzner Cloud  


    # Конфиг интерфейса сервера в Hetzner Cloud (автоматическая настройка через DHCP)  
    Code:  
    4: ens11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP group default qlen 1000  
       link/ether 86:00:00:f0:c7:93 brd ff:ff:ff:ff:ff:ff  
       altname enp0s11  
       inet 172.30.0.2/32 brd 172.30.0.2 scope global dynamic ens11  
          valid_lft 71127sec preferred_lft 71127sec  
       inet6 fe80::8400:ff:fef0:c793/64 scope link  
          valid_lft forever preferred_lft forever

    # Hetzner Robot vSwitch  


    # Конфиг интерфейсов Proxmox VE на Hetzner Robot  
    С самих Proxmox VE хостом из Hetzner Cloud доступа нет, поэтому маршрута здесь тоже не настроено.  
    Code:  
    auto lo  
    iface lo inet loopback  

    iface enp41s0 inet manual  
    #Public  

    iface enp41s0.4001 inet manual  
           mtu 1400  
    #LAN  

    iface enp41s0.4005 inet manual  
           mtu 1400  
    #LAN_Proxmox  

    iface enp41s0.4090 inet manual  
           mtu 1400  
    #LAN_Test  

    auto vmbr0  
    iface vmbr0 inet static  
           address 94.130.xxx.xxx/26  
           gateway 94.130.xxx.xxx  
           bridge-ports enp41s0  
           bridge-stp off  
           bridge-fd 0  
    #Public  

    auto vmbr1  
    iface vmbr1 inet static  
           address 172.30.1.240/24  
           bridge-ports enp41s0.4001  
           bridge-stp off  
           bridge-fd 0  
           mtu 1400  
    #LAN  

    auto vmbr5  
    iface vmbr5 inet manual  
           bridge-ports enp41s0.4005  
           bridge-stp off  
           bridge-fd 0  
           mtu 1400  
    #LAN_Proxmox  

    auto vmbr90  
    iface vmbr90 inet manual  
           bridge-ports enp41s0.4090  
           bridge-stp off  
           bridge-fd 0  
           mtu 1400  
    #LAN_Test  

    source /etc/network/interfaces.d/*

    # Сеть виртуальной машины Proxmox VE на Hetzner Robot  
     
    Code:  
    2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UP group default qlen 1000  
       link/ether 00:50:56:aa:aa:aa brd ff:ff:ff:ff:ff:ff  
       altname enp0s18  
       inet 172.30.1.30/24 brd 172.30.1.255 scope global ens18  
          valid_lft forever preferred_lft forever  
       inet6 2a01:4f8:xxxx:xxxx:1::30/80 scope global  
          valid_lft forever preferred_lft forever  
       inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link  
          valid_lft forever preferred_lft forever  

    # Тест с сервера в Hetzner Cloud на VM Proxmox VE в Hetzner Robot  
    Code:  
    root@hetzner-cloud-server-1:~# ping -M do -s 1376 172.30.1.30  
    PING 172.30.1.30 (172.30.1.30) 1376(1404) bytes of data.  
    1384 bytes from 172.30.1.30: icmp_seq=1 ttl=63 time=3.54 ms  
    1384 bytes from 172.30.1.30: icmp_seq=2 ttl=63 time=3.05 ms  
    1384 bytes from 172.30.1.30: icmp_seq=3 ttl=63 time=2.92 ms  
    1384 bytes from 172.30.1.30: icmp_seq=4 ttl=63 time=3.00 ms  
    ^C  
    --- 172.30.1.30 ping statistics ---  
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms  
    rtt min/avg/max/mdev = 2.918/3.124/3.538/0.243 ms  


    root@hetzner-cloud-server-1:~# ping -M do -s 1377 172.30.1.30  
    PING 172.30.1.30 (172.30.1.30) 1377(1405) bytes of data.  
    ^C  
    --- 172.30.1.30 ping statistics ---  
    7 packets transmitted, 0 received, 100% packet loss, time 6123ms  


    root@hetzner-cloud-server-1:~# mtr -s 1000 -r -c 200 172.30.1.30  
    Start: 2025-02-20T10:12:01+0100  
    HOST: 172.30.0.2                  Loss%   Snt   Last   Avg  Best  Wrst StDev  
     1.|-- 172.30.0.1                 0.0%   200    3.9   2.7   1.6  17.1   1.2  
     2.|-- 172.30.0.1                 0.0%   200    0.7   0.8   0.4  13.2   1.2  
     3.|-- 172.30.1.30                0.0%   200    3.0   3.1   2.9   6.0   0.2  

    # Тест с одного сервера Hetzner Cloud на другой сервер Hetzner Cloud  
    Code:  
    root@hetzner-cloud-server-1:~# ping -M do -s 1422 172.30.0.10  
    PING 172.30.0.10 (172.30.0.10) 1422(1450) bytes of data.  
    1430 bytes from 172.30.0.10: icmp_seq=1 ttl=63 time=0.352 ms  
    1430 bytes from 172.30.0.10: icmp_seq=2 ttl=63 time=0.454 ms  
    1430 bytes from 172.30.0.10: icmp_seq=3 ttl=63 time=0.394 ms  
    1430 bytes from 172.30.0.10: icmp_seq=4 ttl=63 time=0.462 ms  
    ^C  
    --- 172.30.0.10 ping statistics ---  
    4 packets transmitted, 4 received, 0% packet loss, time 3056ms  
    rtt min/avg/max/mdev = 0.352/0.415/0.462/0.045 ms  


    root@hetzner-cloud-server-1:~# ping -M do -s 1423 172.30.0.10  
    PING 172.30.0.10 (172.30.0.10) 1423(1451) bytes of data.  
    ping: local error: message too long, mtu=1450  
    ping: local error: message too long, mtu=1450  
    ping: local error: message too long, mtu=1450  
    ping: local error: message too long, mtu=1450  
    ^C  
    --- 172.30.0.10 ping statistics ---  
    4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3059ms  

    # Тест с VM Proxmox VE на Hetzner Robot в сторону сервера Hetzner Cloud  
    Code:  
    root@hetzner-robot-promox-ve-vm:~# ping -M do -s 1372 172.30.0.2  
    PING 172.30.0.2 (172.30.0.2) 1372(1400) bytes of data.  
    1380 bytes from 172.30.0.2: icmp_seq=1 ttl=62 time=3.76 ms  
    1380 bytes from 172.30.0.2: icmp_seq=2 ttl=62 time=3.02 ms  
    1380 bytes from 172.30.0.2: icmp_seq=3 ttl=62 time=2.93 ms  
    1380 bytes from 172.30.0.2: icmp_seq=4 ttl=62 time=3.01 ms  
    ^C  
    --- 172.30.0.2 ping statistics ---  
    4 packets transmitted, 4 received, 0% packet loss, time 3005ms  
    rtt min/avg/max/mdev = 2.926/3.177/3.757/0.336 ms  


    root@hetzner-robot-promox-ve-vm:~# ping -M do -s 1373 172.30.0.2  
    PING 172.30.0.2 (172.30.0.2) 1373(1401) bytes of data.  
    ping: local error: message too long, mtu=1400  
    ping: local error: message too long, mtu=1400  
    ping: local error: message too long, mtu=1400  
    ^C  
    --- 172.30.0.2 ping statistics ---  
    3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2029ms  


    root@hetzner-robot-promox-ve-vm:~# mtr -s 1000 -r -c 200 172.30.0.2  
    Start: 2025-02-20T10:12:14+0100  
    HOST: 172.30.1.30                 Loss%   Snt   Last   Avg  Best  Wrst StDev  
     1.|-- 172.30.1.1                 0.0%   200    0.6   1.0   0.4  35.3   3.0  
     2.|-- 172.30.0.2                 0.0%   200    3.0   3.0   2.8   3.8   0.1
     
     
     
    Frank2
    Guest
    #5
    0
    25.02.2025 13:55:00
    @TheJKM Ты так и не нашёл решение? У меня такая же проблема. Моя конфигурация: выделенный сервер с PVE и виртуальной машиной, соединённые через vSwitch с приватной сетью в облаке Hetzner, и ещё одна ВМ в облаке Hetzner. После перезагрузки хоста PVE все три сервера пингуются друг с другом. Но примерно через 10 минут (без отправки пинга) пинг перестаёт работать с облачной ВМ на хост PVE, при этом пинг с облачной ВМ на PVE VM и обратно работает. Если с хоста PVE отправить пинг на облачную ВМ, то первые отклики идут примерно через 10 секунд. В этот момент пинг снова начинает работать и с облачной ВМ на хост PVE.

    Конфигурация сети на хосте PVE (публичные IP и шлюз изменены):  
    Code:  
    auto lo  
    iface lo inet loopback  
     
    iface lo inet6 loopback  
     
    auto enp6s0  
    iface enp6s0 inet manual  
     
    auto enp6s0.4001  
    iface enp6s0.4001 inet manual  
       mtu 1400  
     
    auto vmbr0  
    iface vmbr0 inet static  
       address 100.200.32.226/26  
       gateway 100.200.32.193  
       pointopoint 100.200.32.193  
       bridge-ports enp6s0  
       bridge-stp off  
       bridge-fd 0  
     
    iface vmbr0 inet6 static  
       address 2001:0db8:85a3:0000::2/64  
       gateway fe80::1  
     
    auto vmbr1  
    iface vmbr1 inet static  
       address 10.100.1.2/24  
       bridge-ports enp6s0.4001  
       bridge-stp off  
       bridge-fd 0  
       mtu 1400  
       up ip route add 10.100.0.0/16 via 10.100.1.1 dev vmbr1  
       down ip route del 10.100.0.0/16 via 10.100.1.1 dev vmbr1  

    Конфигурация сети облачной ВМ (публичный IP изменён):  
    Code:  
    auto lo  
    iface lo inet loopback  
     
    auto eth0  
    iface eth0 inet dhcp  
     
    iface eth0 inet6 static  
       address 2001:0000:130F:0000::1/64  
       dns-nameservers 2a01:4ff:ff00::add:2 2a01:4ff:ff00::add:1  
       gateway fe80::1  
     
    auto enp7s0  
    iface enp7s0 inet static  
       address 10.100.0.3  
       netmask 255.255.255.255  
       mtu 1400  
       pointopoint 10.100.0.1  
       post-up ip route add 10.100.0.0/16 via 10.100.0.1 dev enp7s0  

    Конфигурация сети PVE VM (vmbr1):  
    Code:  
    auto lo  
    iface lo inet loopback  
     
    auto ens18  
    iface ens18 inet static  
       address 10.100.1.103/32  
       gateway 10.100.1.1  
       mtu 1400  

    Буду признателен за любую помощь.
     
     
     
    NiceRath
    Guest
    #6
    0
    25.02.2025 14:21:00
    Иногда у нас возникала проблема с тем, что установка MTU 1400 работала не всегда стабильно. (Это не только в pve — тоже на обычном Debian.) Проверьте, действительно ли MTU установлено в текущей конфигурации командой:  
    Code: ip a  
    Мы добавили ещё один up-hook, чтобы убедиться:  
    Code: up ip link set {{ nic.device }} mtu 1400 || true  
    Также может пригодиться проверка пинга с определённым размером пакета (как уже упоминали другие):  
    Code: ping <IP> -s 1372 (28+1372=1400)
     
     
     
    mrmanuel
    Guest
    #7
    0
    25.02.2025 15:11:00
    В моём случае я решил проблему вчера, вручную выставив размер MTU для виртуальных машин в Hetzner Cloud на 1400 (вместо 1450, назначаемых DHCP), добавив в файл /etc/dhcp/dhclient.conf следующее:  
    Код:  
    interface "ens10" {  
       supersede interface-mtu 1400;  
    }  
    ens10 — это интерфейс, который указывает на внутреннюю сеть. С тех пор всё отлично работает с моим Proxmox VE и конфигурацией виртуальных машин Proxmox VE, указанной выше.
     
     
     
    Frank2
    Guest
    #8
    0
    25.02.2025 15:29:00
    Хост PVE:  
    Код:  
    # ip a  
    5: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default qlen 1000  
       link/ether 9c:6b:00:85:0c:39 brd ff:ff:ff:ff:ff:ff  
       inet 10.100.1.2/24 scope global vmbr1  
          valid_lft forever preferred_lft forever  
       inet6 fe80::9e6b:ff:fe85:c39/64 scope link  
          valid_lft forever preferred_lft forever  

    # ip r  
    default via 100.200.32.193 dev vmbr0 proto kernel onlink  
    10.100.0.0/16 via 10.100.1.1 dev vmbr1  
    10.100.1.0/24 dev vmbr1 proto kernel scope link src 10.100.1.2  

    Облачная VM:  
    Код:  
    # ip a  
    3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UP group default qlen 1000  
       link/ether 86:00:00:db:08:8a brd ff:ff:ff:ff:ff:ff  
       inet 10.100.0.3 peer 10.100.0.1/32 brd 10.100.0.3 scope global enp7s0  
          valid_lft forever preferred_lft forever  
       inet6 fe80::8400:ff:fedb:88a/64 scope link  
          valid_lft forever preferred_lft forever  

    $ ip r  
    default via 172.31.1.1 dev eth0  
    10.100.0.0/16 via 10.100.0.1 dev enp7s0  
    10.100.0.1 dev enp7s0 proto kernel scope link src 10.100.0.3  
    172.31.1.1 dev eth0 scope link  

    Выглядит одинаково и когда пинги работают, и когда нет. Но в маршруте отсутствует MTU. Может ли это быть проблемой? Пинг с опцией "-s 1372" ничего не меняет — работает или не работает так же, как обычно. Причем дело не только в пингах — PVE хост также недоступен по приватному IP через SSH или HTTPS, когда пинг не проходит.
     
     
     
    NiceRath
    Guest
    #9
    0
    25.02.2025 15:31:00
    Вы уже пробовали «обновить» vswitch? => https://docs.hetzner.com/robot/dedi...ch/#troubleshooting-vswitch-connection-issues
     
     
     
    Frank2
    Guest
    #10
    0
    25.02.2025 15:32:00
    Я сегодня сделал то же самое, для меня ничего не изменилось. Просто сделал это по-другому — отключил автоконфигурацию (https://docs.hetzner.com/cloud/networks/server-configuration/), она указана в конфигурации выше, enp7s0 — это мой интерфейс.
     
     
     
    Frank2
    Guest
    #11
    0
    25.02.2025 15:41:00
    Не после последнего изменения конфигурации. Я только что сделал это снова, но ничего не изменилось.
     
     
     
    Basti2
    Guest
    #12
    0
    07.03.2025 19:29:00
    @Frank2 Ты смог решить проблему? У меня та же ситуация, и ничего из описанного пока не помогло.
     
     
     
    Frank2
    Guest
    #13
    0
    10.03.2025 09:45:00
    Пока нет, мне нужно еще раз проверить конфигурацию mrmanuel, которая очень похожа на мою. Пока что я добавил cron-задачу, которая каждую минуту отправляет один пинг с хоста PVE на облачную ВМ. Это, конечно, не очень красиво, но держит соединение «живым» большую часть времени.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2025 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры