Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    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 Виртуальная Среда
    Проблема со статусом SDN/Tunnel.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Проблема со статусом SDN/Tunnel., Proxmox Виртуальная Среда
     
    MichiFry
    Guest
    #1
    0
    14.01.2025 12:26:00
    Привет, мои лог-файлы забиты этими строками: Jan 14 12:12:41 hpve1 pvestatd[3564]: sdn status update error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/PVE/Network/SDN/Zones.pm line 202. Jan 14 12:12:50 hpve1 pvestatd[3564]: sdn status update error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/PVE/Network/SDN/Zones.pm line 202. Jan 14 12:13:01 hpve1 pvestatd[3564]: sdn status update error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/PVE/Network/SDN/Zones.pm line 202. Jan 14 12:13:10 hpve1 pvestatd[3564]: sdn status update error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/PVE/Network/SDN/Zones.pm line 202. ... Это происходит из-за того, что я добавил gre туннель. Туннель и сеть работают как ожидается, только Proxmox испытывает проблемы с чтением текущего состояния. Код: # ifquery -c -a -o json
    error: main exception: 'IPNetwork' object has no attribute 'config'

    # ifquery -c -o json gre1
    error: main exception: 'IPNetwork' object has no attribute 'config'

    # ifquery -c -o json vmbr0
    [
     {
       "name": "vmbr0",
       "addr_method": "static",
       "addr_family": "inet",
       "auto": true,
       "config": {
         "bridge-ports": "enp7s0",
         "bridge-fd": "0",
         "bridge-stp": "no",
         "address": "x.x.x.x/x"
       },
       "config_status": {
         "bridge-ports": "pass",
         "bridge-fd": "pass",
         "bridge-stp": "pass",
         "address": "pass"
       },
       "status": "pass"
     }
    ] Проблема в ifquery с --check И --json. Если указан только один параметр, все работает: Код: # ifquery -o json gre1
    [
       {
           "name": "gre1",
           "addr_method": "tunnel",
           "addr_family": "inet",
           "auto": true,
           "config": {
               "address": "10.10.167.202/30",
               "tunnel-mode": "gre",
               "tunnel-local": "10.50.1.11",
               "tunnel-endpoint": "10.50.0.254",
               "tunnel-ttl": "255",
               "tunnel-dev": "enp7s0.4000",
               "mtu": "1375"
           }
       }
    ]


    # ifquery -c gre1
    auto gre1
    iface gre1 inet tunnel                                              [pass]
           tunnel-mode gre                                             [pass]
           tunnel-local 10.50.1.11/32                                  [pass]
           tunnel-endpoint 10.50.0.254/32                              [pass]
           tunnel-ttl 255                                              [pass]
           tunnel-dev enp7s0.4000                                      [pass]
           mtu 1375                                                    [pass]
           address 10.10.167.202/30                                    [pass] /etc/network/interfaces Код: auto gre1
    iface gre1 inet tunnel
           address 10.10.167.202/30
           tunnel-mode gre
           tunnel-local 10.50.1.11
           tunnel-endpoint 10.50.0.254
           tunnel-ttl 255
           tunnel-physdev enp7s0.4000
           mtu 1375 Я также пробовал переключить на ipip туннель, но проблема сохраняется. Последняя версия Proxmox с установленными всеми обновлениями. Что можно сделать? Спасибо!
     
     
     
    shanreich
    Guest
    #2
    0
    14.01.2025 17:36:00
    Привет, похоже, это проблема с ifupdown2 - можешь прислать файл интерфейсов, который приводит к этой ошибке?
     
     
     
    MichiFry
    Guest
    #3
    0
    14.01.2025 21:34:00
    /etc/network/interfaces Код: auto lo
    iface lo inet loopback

    iface enp7s0 inet manual

    auto vmbr0
    iface vmbr0 inet static
           address x.x.x.x/x
           gateway x.x.x.x
           bridge-ports enp7s0
           bridge-stp off
           bridge-fd 0


    auto enp7s0.4000
    iface enp7s0.4000 inet static
           address 10.50.1.11/24
           mtu 1400
           up ip route add 10.50.0.0/16 via 10.50.1.1 dev enp7s0.4000
           down ip route del 10.50.0.0/16 via 10.50.1.1 dev enp7s0.4000

    auto gre1
    iface gre1 inet tunnel
           address 10.10.167.202/30
           tunnel-mode gre
           tunnel-local 10.50.1.11
           tunnel-endpoint 10.50.0.254
           tunnel-ttl 255
           tunnel-physdev enp7s0.4000
           mtu 1375

    source-directory /etc/network/interfaces.d/ /etc/network/interfaces.d/sdn Код: #version:9

    auto vnet10
    iface vnet10
           address 10.10.161.254/24
           post-up iptables -t nat -A POSTROUTING -s '10.10.161.0/24' -o vmbr0 -j SNAT --to-source x.x.x.x
           post-down iptables -t nat -D POSTROUTING -s '10.10.161.0/24' -o vmbr0 -j SNAT --to-source x.x.x.x
           post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
           post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1
           bridge_ports none
           bridge_stp off
           bridge_fd 0
           alias mgmt
           ip-forward on

    auto vnet11
    iface vnet11
           address 10.10.162.254/24
           post-up iptables -t nat -A POSTROUTING -s '10.10.162.0/24' -o vmbr0 -j SNAT --to-source x.x.x.x
           post-down iptables -t nat -D POSTROUTING -s '10.10.162.0/24' -o vmbr0 -j SNAT --to-source x.x.x.x
           post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
           post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1
           bridge_ports none
           bridge_stp off
           bridge_fd 0
           alias server
           ip-forward on Я также пробовал это на новой установке без добавления чего-либо ещё, та же проблема: Код: auto lo
    iface lo inet loopback

    auto enp7s0
    iface enp7s0 inet static
           address x.x.x.x/x
           gateway x.x.x.x

    auto gre1
    iface gre1 inet tunnel
           address 10.10.167.202/30
           tunnel-mode gre
           tunnel-local 10.50.1.11
           tunnel-endpoint 10.50.0.254
           tunnel-ttl 255
           mtu 1375 Код: # ifquery -c -o json gre1
    error: main exception: 'IPNetwork' object has no attribute 'config' Я также пробовал это без "tunnel-" (только mode, local endpoint, ttl) и с разными комбинациями "tunnel-physdev", .. ничего не помогало. Но тоннель gre всегда работает
     
     
     
    shanreich
    Guest
    #4
    0
    15.01.2025 10:00:00
    Да, проблема скорее всего в самом инструменте ifquery, где запрашивается статус GRE. Не могли бы вы создать отчет об ошибке? Я постараюсь разобраться.
     
     
     
    MichiFry
    Guest
    #5
    0
    15.01.2025 10:30:00
    Создано: https://bugzilla.proxmox.com/show_bug.cgi?id=6078 Спасибо.
     
     
     
    patient0
    Guest
    #6
    0
    11.03.2025 00:08:00
    Привет, просто хотел сказать, что у меня та же проблема. Для тестирования я настроил ipip-интерфейс (также обрабатывается модулем tunnel.py ifupdown2), и та же ошибка возникает. Я немного отладил (хотя у меня мало знаний Python). Класс ifaceJsonEncoderWithStatus() в ifupdown/iface.py появляется дважды. Первый раз объект 'o' кажется ок, o.config указывает на секцию config JSON (см. ниже вывод pdb). Во втором вызове - который, я думаю, вообще не должен происходить - 'o' содержит только значение 'tunnel-local' и является типом IPNetwork. Код: (Pdb) run gre1 -c -o json
    Перезапуск /usr/share/ifupdown2/__main__.py с аргументами:
           gre1 -c -o json
    > /usr/share/ifupdown2/__main__.py(26)<module>()
    -> import os
    (Pdb) c
    > /usr/share/ifupdown2/ifupdown/iface.py(310)default()
    -> retifacedict = OrderedDict([])
    (Pdb) p o.config
    OrderedDict([('up', ['ip route add 10.222.111.0/24 dev gre1']), ('tunnel-mode', ['gre']), ('tunnel-local', [10.99.88.18/32]), ('tunnel-endpoint', [10.99.88.2/32]), ('tunnel-dev', ['eno1.4004']), ('mtu', ['1374']), ('address', ['10.11.11.18/27'])])
    (Pdb) c
    > /usr/share/ifupdown2/ifupdown/iface.py(310)default()
    -> retifacedict = OrderedDict([])
    (Pdb) p o.config
    *** AttributeError: 'IPNetwork' object has no attribute 'config'
    (Pdb) p o
    10.99.88.18/32
    (Pdb) Мое определение GRE-интерфейса: Код: auto gre1
    iface gre1 inet tunnel
       address  10.11.11.18/27
       tunnel-mode     gre
       tunnel-endpoint 10.99.88.2
       tunnel-local    10.99.88.18
       tunnel-dev eno1.4004
       # hetzner vswitch doc -> mtu 1400 for VLAN interface
       # set a bit under, can't remember the calculation
       mtu      1374
     
     
     
    patient0
    Guest
    #7
    0
    20.03.2025 11:07:00
    Окей, я смог отследить проблему. Учитывай, что я не программист, и мои знания Python очень, очень ограничены. В ifupdown/iface.py:325 строку `retconfig[k] = v[0] if len(v) == 1 else v` заменил на `retconfig[k] = str(v[0] if len(v) == 1 else v)`. Это решило проблему. Без этой замены она падает на первом IP-адресе/сетевом объекте, видимо, потому что значение не является допустимым типом Python в случае `tunnel-endpoint` и `tunnel-local`. Без преобразования в строку `OrderedDict` выглядел так:

    ```
    Code: retifacedict.config OrderedDict([
       ('name', 'gre1'),
       ('addr_method', 'tunnel'),
       ('addr_family', 'inet'),
       ('auto', True),
       ('config',
           {'up': 'ip route add 10.222.111.0/24 dev gre1',
           'tunnel-local': 10.99.88.18/32,
           'tunnel-mode': 'gre',
           'tunnel-dev': 'eno1.4004',
           'tunnel-endpoint': 10.99.88.2/32,
           'mtu': '1374',
           'address': '10.11.11.18/27'}
       ),
       ('config_status',
           {'up': '',
           'tunnel-local': 'pass',
           'tunnel-mode': 'pass',
           'tunnel-dev': 'pass',
           'tunnel-endpoint': 'pass',
           'mtu': 'pass',
           'address': 'pass'}
       ),
       ('status', 'pass')
    ])
    ```

    Может быть (надеюсь), есть более элегантное решение? Но ошибки ушли. Может быть, стоит изменить объект `IPNetwork` так, чтобы он возвращал строку при операции `?`

    ```
    Code: root@pve-fluffy /usr/share/ifupdown2 # ifquery gre1 -c -o json
    [
     {
       "name": "gre1",
       "addr_method": "tunnel",
       "addr_family": "inet",
       "auto": true,
       "config": {
         "up": "ip route add 10.222.111.0/24 dev gre1",
         "tunnel-local": "10.99.88.18/32",
         "tunnel-mode": "gre",
         "tunnel-dev": "eno1.4004",
         "tunnel-endpoint": "10.99.88.2/32",
         "mtu": "1374",
         "address": "10.11.11.18/27"
       },
       "config_status": {
         "up": "",
         "tunnel-local": "pass",
         "tunnel-mode": "pass",
         "tunnel-dev": "pass",
         "tunnel-endpoint": "pass",
         "mtu": "pass",
         "address": "pass"
       },
       "status": "pass"
     }
    ]
    ```
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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