Я создал виртуальную машину с двумя сетевыми интерфейсами. Один является мостом, а другой предназначен только для хоста.
Оба они используют DHCP и перезаписывают файл /etc/resolv.conf.
если eth0 сначала получает ответ DHCP, тогда eth1 перезаписывает файл неправильным адресом DNS-сервера.
если eth1 сначала получает ответ DHCP, тогда eth0 перезаписывает файл с правильным адресом, и все в порядке.
Было бы идеально просто всегда получать ответ DNS от eth0 (мостовой интерфейс).
Я посмотрел /etc/dhcp/dhcpclient.conf, но я не смог найти способ создать что-то вроде if здесь, чтобы клиент dhcp запрашивал адрес DNS только у eth0
что было бы лучшим способом решить эту проблему?
Лучший способ решить эту «проблему» - это установить resolvconf пакет.
sudo apt-get install resolvconf
После этого, /etc/resolv.conf заменяется символической ссылкой на /etc/resolvconf/run/resolv.conf который динамически генерируется resolvconf с информацией из файла / и т.д. / сеть / интерфейсы
Обратите внимание, что DNS-сервер записи в / и т.д. / сеть / интерфейсы игнорируются, если в вашей системе не установлен пакет resolvconf. Вы можете найти больше информации о resolvconf информация о пакете в вики-документации Debian или используя страницы руководства.
man resolvconf