有没有办法动态地将主机名更改为linux中的ip地址映射(无需重启)?

时间:2015-07-18 16:56:23

标签: linux

在linux系统中,我认为您可以在/ etc / hosts中配置主机名到IP地址映射,但我想如果您更改特定主机名的映射,则必须重新启动才能使更改生效。 / p>

有没有办法动态(不重新启动)更改主机名到不同IP地址的映射?

2 个答案:

答案 0 :(得分:0)

在linux中,管理员可以指定应用程序将询问域名信息的来源顺序。

此文件是

/etc/nsswitch.conf

,dns的默认设置为:

hosts: files dns

所以是的,您可以在/ etc / hosts中添加您的网站,您的应用程序将遵循该顺序。你不需要重启,是的,你可以动态地做。

更多信息类型:

man nsswitch.conf

虽然您的应用程序可以绕过此功能。那时应用程序可以通过远程点“请求dns”,或者应用程序没有构建为使用操作系统gethostbyname / gethostbyaddr系统调用。

答案 1 :(得分:0)

您只需要更改/ etc / hosts中的IP地址即可。大多数情况下,此更改将自动传播到NS缓存中。但是,有时您只需要刷新系统上的名称服务器缓存。根据您的运行情况,实际步骤可能会有所不同。我将列出一些受欢迎的:

NSCD

$ sudo /etc/init.d/nscd restart

OR

$ sudo service nscd restart

OR

$ sudo systemctl restart nscd

的dnsmasq

$ sudo /etc/init.d/dnsmasq restart

OR

$ sudo service dnsmasq restart 

OR

$ sudo systemctl restart dnsmasq

BIND服务器dns缓存

与OP问题无关,但如果有人在这里结束

$ sudo rndc restart

OR

$ sudo rndc flushname foo.local

foo.local是您希望的特定主机名