Прямо сейчас мой /etc/resolv.conf выглядит так:
# Generated by NetworkManager
nameserver 10.165.246.33
nameserver 192.135.82.60
nameserver 10.165.74.2
Первые два сервера имен автоматически настраиваются через DHCP; последний - тот, который я добавил вручную, в NetworkManager. Это также самый важный, поскольку он разрешает наши внутренние доменные имена (например build-server-17.our-company-domain.com
).
Беда в том, NetworkManager добавляет его в нижней части /etc/resolv.conf
, поэтому при обращении к URL интрасети, мой браузер пытается решить ее с помощью первых двух серверов, и он принимает возрастов.
Как заставить NetworkManager добавить настроенный вручную DNS-сервер перед автоматически настроенным?
centos
networkmanager
Новичок в Linux
источник
источник
Ответы:
Я не вижу, к какой системе обращаться конкретно, но если ваша использует
resolvconf
, попробуйте следующее как root (su -
илиsudo -i
):В этом файле есть предупреждение о том, что ручные изменения будут перезаписаны; но в контексте сообщение относится
/etc/resolv.conf
, а не/etc/resolvconf/resolv.conf.d/head
.Это должно поместить желаемый сервер имен первым в списке. Конечно, если это работает в вашей операционной системе, то 10.165.74.2 можно удалить из NetworkManager.
Локальный распознаватель,
dnsmasq
также отличный путь вперед. Используяdnsmasq
, можно использовать гораздо больше контроля над DNS и DHCP. Например, в этом сценарииdnsmasq
можно запросить конкретный сервер имен на основе указанного доменного имени с егоserver
опцией. Посмотрите фрагмент,dnsmasq.conf
который может относиться к вашей цели ниже.Обновить
Спасибо за упоминание операционной системы. На CentOS 7 есть много методов. В графическом интерфейсе выберите Приложения> Системные инструменты> Настройки> Сеть. Выберите соединение для настройки.
Отключите автоматический DNS и поставьте серверы имен. Примените конфигурацию.
В следующий раз, когда NetworkManager запускает это соединение, он записывает пользовательские значения. (Во время тестирования я выключил и снова включил сеть, потому что у меня было два сетевых подключения.)
Согласно документации ,
В частности,
nmcli
документация выглядела очень хорошо.источник
resolvconf
пакета.dnsmasq
кажется хорошим решением, хотя.Я случайно создал дубликат вопроса здесь . Ответ есть, но по сути, вам нужно создать:
если он еще не существует, добавьте:
Не забывайте точку с запятой в конце!
После этого простая перезагрузка автоматически переместила строку «nameserver [ip address of server]» в «/etc/resolv.conf» вверх!
источник
Есть еще один способ, не нужно отключать NetworkManager.service. Просто установите ifcfg-idevice:
Вам не нужно устанавливать параметры /etc/NetworkManager/NetworkManager.conf, например:
источник