Установите DNS / Nameserver программно и навсегда в Linux - PullRequest
1 голос
/ 17 апреля 2019

Я хочу обновить сервер имен программно.В этом вопросе было упомянуто программно установленный dns-nameserver-on-linux для манипулирования _res.nsaddr_list - так я и сделал.

void setNameServer(const std::string& rstr_addr)
{
  struct sockaddr_in x_addr;
  inet_pton(AF_INET,rstr_addr.c_str(),&x_addr.sin_addr);
  res_init();
  _res.nsaddr_list[0] = x_addr;
}

Это не работает. getaddrinfo теперь возвращается с ошибкой: «Имя или служба неизвестна»

Итак, в основном два вопроса:

  1. Какой правильный способустановить ip сервера имен программно

  2. Как правильно установить его постоянно (ATM, я просто пишу его в /etc/resolv.conf самостоятельно)

...