У меня есть это приложение, которое должно программно изменять 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
.