none
Hyper-V 2012 R2 (Core) не пропускает DHCP запросы с Linux VM RRS feed

  • Общие обсуждения

  • Всем привет.

    Столкнулся со странным поведеним Hyper-V. Не уходят во внешнюю сеть DHCP запросы от VM с Linux.

    Описание тестового стенда:

    На десктопном ПК установлен Hyper-V 2012 R2 (Core).

    ПК подключен в сеть где есть DHCP сервер.

    В Hyper-V создан виртуальный коммутатор - внешний\external. 

    В качестве гостевых систем используется Win 8 Pro, Server 2012 R2 и несколько машин с Linux (Centos 6-7, Debian 8)

    В виртуалках сетевой адаптер подклчен в external коммутатор.

    Итого - VM с Windows получают адреса по DHCP с нешнего сервера DHCP а VM с Linux нет. Если вручную задать адреса - сеть работает.

    VM Gen1 или Gen2 не имеет значения.

    Спасибо.


    9 апреля 2016 г. 9:54

Все ответы

  • Компоненты интеграции утанавливал. Последнюю версию - 4.1 тоже. Не помогло. Linux разные дистрибутивы пробовал. Поведение одинаковое.

    Tcpdump показывает что запросы есть\уходят. А вот на интерфейсах Hyper-V и самого DHCP сервера их нет.

    9 апреля 2016 г. 11:22
  • Пробовал и устаревший адаптер.

    Сейчас еще раз смотрел что происходит на интерфейсах  у Hyper-V.

    И сейчас увидел запросы от тестовой VM Linux (Centos 7.2). Сделал скриншот запросов от Windows и Linux машин. Вот - http://prntscr.com/aq2syu

    Запросы немного отличаются. Windows VM заполняет больше полей.

    Т.е. пакеты проходят. Я ошибся.

    Но почему VM не получает адрес - вопрос в силе. :)

    Спасибо.

    9 апреля 2016 г. 13:13
  • Добрый день.

    Проверьте на DHCP сервере есть ли ограничения по MAC в списках ACL (список разрешенных \ запрещенных адресов), так же проверьте NAP на DHCP сервере.

    На машинах LInux проверьте возможно антивирус либо сетевой экран блокирует


    Я не волшебник, я только учусь MCTS Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть без каких-либо гарантий Мой Блог http://www.ru-tech.net/


    9 апреля 2016 г. 13:37
    Модератор
  • Решил проверить на VirtualBox. Так вот - VM с Linux на VirtualBox тоже не получает адрес. 

    Так что что причина и не в Hyper-V и не в Linux.

    Удалось посмотреть tcpdump на DHCP сервере - запросы там видно, ответы впрочем тоже.

    В сети есть промежуточное "звено" - роутер Mikrotik в режиме моста. Так вот на его интерфейсах не видно ответов (offer) от DHCP.

    Конечно странно почему через mikrotik проходят dhcp запросы и ответы для Windows а для Linux нет.

    Но этот вопрос уже выходит за рамки темы и тематики форума.

    Всем большое спасибо.

    10 апреля 2016 г. 9:47
  • Конечно странно почему через mikrotik проходят dhcp запросы и ответы для Windows а для Linux нет.

    проверьте, что в Debian интерфейс настроен на DHCP:

    #cat /etc/network/interfaces
    
    auto eth0
    iface eth0 inet dhcp

    так же попробуйте настроить статику.

    10 апреля 2016 г. 11:01
    Модератор
  • Спасибо. За помощь. Разобразся в чем дело.

    Linux , по-умолчанию, в первоначальном запросе к DHCP серверу (DHCP Discover) устанавливает бит\флаг Unicast. Что позволяет DHCP серверу отвечать на такой запрос unicast пакетом (Offer), причем L2 и L3 уровня.  А такой пакет конечно не пройдет через мост (Mikrotik) который пока еще не знает где находится адресат на уровне L3(IP) а на уровне L2 в пакете указан "чужой" для него MAC (MAC клиента).

    Варианты решения - заставить клиента устанавливать бит\флаг Broadcast. Либо заставить DHCP сервер игнорировать  этот бит\флаг и всегда отвечать Broadcast пакетами.

    И то и другое можно реализовать внеся соответсвующие изменения в конфигурацию устройств.

    Для Linux это добавить строку "bootp-broadcast-always;" в файл dhclient.conf

    Для DHCP сервера - зависит от конкретного сервера.

    Всем спасибо.




    • Изменено 2vv 13 апреля 2016 г. 9:34
    13 апреля 2016 г. 9:28
  • Конечно странно почему через mikrotik проходят dhcp запросы и ответы для Windows а для Linux нет.

    проверьте, что в Debian интерфейс настроен на DHCP:

    #cat /etc/network/interfaces
    
    auto eth0
    iface eth0 inet dhcp

    так же попробуйте настроить статику.


    Статика работала.
    13 апреля 2016 г. 9:28