Я не вижу, к какой системе обращаться конкретно, но если ваша использует resolvconf
, попробуйте следующее как root ( su -
или sudo -i
):
echo 'nameserver 10.165.74.2' >> /etc/resolvconf/resolv.conf.d/head
resolvconf -u
В этом файле есть предупреждение о том, что ручные изменения будут перезаписаны; но в контексте сообщение относится /etc/resolv.conf
, а не /etc/resolvconf/resolv.conf.d/head
.
Это должно поместить желаемый сервер имен первым в списке. Конечно, если это работает в вашей операционной системе, то 10.165.74.2 можно удалить из NetworkManager.
Локальный распознаватель, dnsmasq
также отличный путь вперед. Используя dnsmasq
, можно использовать гораздо больше контроля над DNS и DHCP. Например, в этом сценарии dnsmasq
можно запросить конкретный сервер имен на основе указанного доменного имени с его server
опцией. Посмотрите фрагмент, dnsmasq.conf
который может относиться к вашей цели ниже.
# Add other name servers here, with domain specs if they are for
# non-public domains.
server=/our-company-domain.com/10.165.74.2
Обновить
Спасибо за упоминание операционной системы. На CentOS 7 есть много методов. В графическом интерфейсе выберите Приложения> Системные инструменты> Настройки> Сеть. Выберите соединение для настройки.
Отключите автоматический DNS и поставьте серверы имен. Примените конфигурацию.
В следующий раз, когда NetworkManager запускает это соединение, он записывает пользовательские значения. (Во время тестирования я выключил и снова включил сеть, потому что у меня было два сетевых подключения.)
Согласно документации ,
- Доступен простой текстовый пользовательский интерфейс (TUI) на основе curses для NetworkManager, nmtui.
- Средство командной строки, nmcli, позволяет пользователям и сценариям взаимодействовать с NetworkManager. Обратите внимание, что nmcli может использоваться в системах без GUI, таких как серверы, для управления всеми аспектами NetworkManager. Это наравне с инструментами GUI.
В частности, nmcli
документация выглядела очень хорошо.