Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Виртуальная Среда
    [РЕШЕНО] Как проверить IP-адрес виртуальной машины

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [РЕШЕНО] Как проверить IP-адрес виртуальной машины, Proxmox Виртуальная Среда
     
    huky
    Guest
    #1
    0
    08.07.2016 09:02:00
    Я хочу связать виртуальную машину с её IP-адресом, но столкнулся с проблемами: я использую openvswitch для создания bond, bridge и vlan. При выполнении команды "ip addr" я вижу только имя интерфейса, например "tap100i0", но не вижу IP-адрес.

    Код:
    tap100i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovs-system state UNKNOWN group default qlen 1000
       link/ether 16:f2:bd:6d:fa:66 brd ff:ff:ff:ff:ff:ff
       inet6 fe80::14f2:bdff:fe6d:fa66/64 scope link
          valid_lft forever preferred_lft forever

    Я пытался использовать fping и mac-адрес, но, как видно выше, у карты имя 'tap100i0', а её mac-адрес '16:f2:bd:6d:fa:66', но mac-адрес в файле qemu-server/100.conf отличается.

    Код:
    net0: virtio=32:62:39:33:34:37,bridge=vmbr1,tag=63

    В итоге, я зашёл в гостевую ВМ и выполнил 'ip addr' — там mac-адрес совпадает с qemu-server/100.conf.

    Если я не могу зайти в гостевую ВМ, как можно проверить IP-адрес ВМ в proxmox?
     
     
     
    Petr
    Guest
    #2
    0
    29.06.2017 12:37:00
    Вместо того чтобы сбрасывать трафик или сканировать сеть, можно установить Qemu Guest Agent https://pve.proxmox.com/wiki/Qemu-guest-agent http://wiki.qemu.org/Features/GuestAgent. Думаю, это более надёжный и правильный способ. С PVE Host агентом можно обращаться через сокет в /var/run/qemu-server. Например:  
    Код:  
    # socat - UNIX-CONNECT:/var/run/qemu-server/8051.qga  
    {"execute": "guest-exec", "arguments": {"path": "ip", "arg": ["a"], "capture-output": true}}
    {"return": {"pid": 1234}}  
    {"execute": "guest-exec-status", "arguments": {"pid": 1234}}  
    Последняя команда вернёт вывод "ip addr" в кодировке base64. К сожалению, guest-exec пока не работает в Windows QEMU Agent.
     
     
     
    huky
    Guest
    #3
    0
    01.08.2017 10:36:00
    Спасибо, но команда зависла на моей ноде.
     
     
     
    Petr
    Guest
    #4
    0
    01.08.2017 10:56:00
    Для работы нужно, чтобы Guest Agent был включён и запущен. Проверьте это с помощью команды 'qm agent <VMID> info'. И, конечно, "pid" нужно заменить на возвращаемое значение вашей команды "guest-exec". Это часть моего экспериментального скрипта для заполнения заметок ВМ информацией об инвентаре из ОС. Скрипт выводит IP-адрес по заданному VM ID. (Перед запуском установите пакет jq):

    Код:
    #!/bin/bash

    # $1 == VMID
    VMID=$1

    pid=$( (echo -e '{"execute": "guest-exec", "arguments": {"path": "ip", "arg": ["-o", "-4", "addr", "show", "scope", "global"], "capture-output": true}}'; sleep 0.2 ) \
      | socat - UNIX-CONNECT:/run/qemu-server/$VMID.qga \
      | jq .return.pid )
    addrs=$( (echo -e '{"execute": "guest-exec-status", "arguments": {"pid": '$pid'}}'; sleep 0.2 ) \
      | socat - UNIX-CONNECT:/run/qemu-server/$VMID.qga \
      | jq .return.\"out-data\" \
      | base64 -di \
      | awk '{print $4}' \
    )
    addrs=$( echo IP: $addrs )
    echo $addrs
     
     
     
    team-alpeinsoft
    Guest
    #5
    0
    14.04.2018 12:48:00
    Привет! Например:  
    #!/usr/bin/env bash  
    mac=$(qm config "$1" | awk '/net0/ { print tolower($2) }' | sed -r 's/virtio=(.*),.*/\1/g')  
    ip=$(arp-scan --interface=vmbr0 192.168.1.0/24 | grep "$mac" | awk '{print $1}')  
    echo $ip  

    Но для этого нужны права root и установлен arp-scan.  

    Через API:  
    Установите qemu agent и используйте:  
    HTTP:    POST /api2/json/nodes/{node}/qemu/{vmid}/agent  
    CLI: pvesh create /nodes/{node}/qemu/{vmid}/agent
     
     
     
    LnxBil
    Guest
    #6
    0
    15.04.2018 11:24:00
    Мне очень хотелось бы иметь API-вызов для этого и не зависеть от внешних инструментов, которые могут работать (рассматривайте кластер как среду).
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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