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

2024-03-06

我想以编程方式更新名称服务器。 在这个问题中以编程方式在 linux 上设置 dns-nameserver https://stackoverflow.com/questions/5034143/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我自己)


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Linux 上以编程方式永久设置 DNS/名称服务器 的相关文章

随机推荐