通过networking更新DNS服务器IP

我不知道这是否可能,但有没有办法更新所有客户端上的DNS服务器IP,而不必手动为每台机器?

所有的客户端都有静态的IP地址,而且DNS服务器使用绑定在Fedora盒子上。 客户都是unix盒子。

更新:你将如何做一个窗口框?

我写一个脚本来修改/etc/resolv.conf使用我最喜欢的脚本语言的select,并在每个远程计算机上执行它与SSH。

假设旧的DNS服务器是192.168.1.1,新的是192.168.100.100:

perl -pi -e's/192.168.1.1/192.168.100.100/' /etc/resolv.conf 

只需使用SSH在远程计算机上执行该操作即可。 (希望你已经build立了基于证书的authentication,这样你就不需要密码来连接到每个主机。)


编辑:在Windows框中

“netsh”命令是你的朋友。 假设networking连接仍然有名称“本地连接”,您可以执行:

 netsh interface ip set dns name="Local Area Connection" static 192.168.100.100 primary 

这将设置连接“本地连接”上指定的主DNS服务器。

如果连接已经被重命名,那么你可能最好使用netsh interface ip dumpconfiguration,parsing该输出,并使用netsh进行必要的更改。

那么,如果这些客户端不是服务器,也许现在是时候考虑部署DHCP,如果你还没有考虑到这一点? 然后,你可以在DHCP服务器上更改它,然后重新启动客户端或让客户端运行sudo dhclient

在Windows上,如果你有一个域,你可以通过组策略推出一个新的DNS服务器。 奇怪的是它不会在ipconfig中显示新的值,但它仍然会用它来实际的名称parsing(你可以用nslookup来testing)。