Непонятно, о чем именно вы спрашиваете. Но сценарий оболочки может легко взять данные из базы данных MySQL и передать их в iptables
.
Я не знаю, к какой системе обращаться конкретно, но если ваша использует 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 запустит это соединение, он запишет пользовательские значения. (Во время тестирования я выключил и снова включил сеть, потому что у меня было два сетевых подключения.)
Согласно документации ,
- Простой текстовый пользовательский интерфейс на основе curses (TUI) для NetworkManager , nmtui, доступен.
- Инструмент командной строки, nmcli, позволяет пользователям и сценариям взаимодействовать с NetworkManager. Обратите внимание, что nmcli может использоваться в системах без графического интерфейса пользователя, таких как серверы, для управления всеми аспектами NetworkManager. Это наравне с инструментами графического интерфейса.