Программно настроить DNS-сервер имен в Linux - PullRequest
2 голосов
/ 17 февраля 2011

Я хотел бы иметь возможность добавлять IP-адреса для DNS-серверов имен в Linux из моей программы на C / C ++. Я на несколько встроенной платформе с доступом только для чтения /etc/resolv.conf. Это означает, что я не могу просто добавить строку «nameserver xxx.xxx.xxx.xxx» в файл без небольшой хитрости. Есть ли чистые способы сделать это из кода?

Я мог бы попробовать символическую ссылку /etc/resolv.conf на файл в tmpfs, но это кажется хакерским, и мне кажется, что я могу сделать это без записи в файл.

1 Ответ

1 голос
/ 18 февраля 2011

Посмотрите на nsaddr_list в resolv.conf из вашей библиотеки.

Этот вопрос говорит:

Хотя это и не задокументировано, распространенным способом установки используемого преобразователя является обновление _res.nsaddr_list.

В uClibc 0.9.31, в частности, есть комментарий к строке 533 в resolv.c, описывающий, как это работает.

...