Только что обновил свой пост, чтобы уточнить, что я использую Bind9 / с именем DNS. Я нашел библиотеки, но большинство из них используют свои собственные DNS, поэтому я не могу их использовать.
Я хочу создать программу на С ++ (работающую в linux / debian), чтобы обновлять локальный DNS с помощью bind9 новыми записями, а затем распространять информацию, чтобы другие узлы могли обновить свой локальный DNS.
На самом деле у меня есть решение, но я хотел бы знать, существует ли более правильный способ сделать это (например, с некоторыми библиотеками), и после этого создавать новые типы записей, а не только NAPTR.
У меня есть сообщения с различной информацией (услуга / домен), и я уже использую эти данные для создания записей NAPTR, но метод очень уродлив. Я записываю в текстовый файл все команды nsupdate, которые мне нужны, например:
std::ofstream nsupdateCommand("/tmp/nsupdate.txt", std::ofstream::out | std::ofstream::trunc);
nsupdateCommand << "update add" << enumName << "." << zone << ". "<< ttl << " NAPTR ";
[...]
nsupdateCommand << "send";
nsupdateCommand.close();
system("nsupdate -l -v /tmp/nsupdate.txt")
Я хотел бы знать, есть ли лучший способ обновить DNS в c ++, возможно, с помощью сокетов или библиотеки?
Любая помощь будет оценена.