Назад | Перейти на главную страницу

Как программно изменить DNS-серверы в Linux

У меня есть это приложение, которое должно программно изменять DNS-серверы машины Linux, но я не могу найти правильный способ сделать это. Некоторые версии хороши с обновлением resolv.conf, другие работают, только если вы играете с netplan и т.д. Есть ли правильный способ сделать это, который работает во всех случаях?

Пока нашел такие варианты:

resolv.com - работает в некоторых случаях, но неэффективно в других

netplan - используется и присутствует только в более новых версиях ubuntu (и, возможно, в других), поэтому я не могу полагаться на его эффективность.

изменение dns-nameservers внутри /etc/network/interfaces - После этого мне нужно перезапустить сеть, но я все еще не уверен, что это решение работает.

Какой маршрут вы предлагаете мне пойти, или я что-то упускаю? Как программно изменить DNS-серверы ящика?

Способ решения запрошенной задачи сильно зависит от распространения. Поэтому не существует стандартного способа сделать это должным образом, подходящего для разных дистрибутивов.

В случае Debian и Ubuntu это должно быть сохранено для использования /etc/network/interfaces.

В случае Red Hat Enterprise Linux, CentOs, Fedora связанные файлы находятся в /etc/sysconfig/network-scripts.