在Linux上以编程方式永久地设置DNS /名称服务器

时间:2019-04-17 09:14:45

标签: c linux dns nameservers

我想以编程方式更新名称服务器。 在这个问题中,提到programmatically-set-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

0 个答案:

没有答案