在linux系统中,我认为您可以在/ etc / hosts中配置主机名到IP地址映射,但我想如果您更改特定主机名的映射,则必须重新启动才能使更改生效。 / p>
有没有办法动态(不重新启动)更改主机名到不同IP地址的映射?
答案 0 :(得分:0)
在linux中,管理员可以指定应用程序将询问域名信息的来源顺序。
此文件是
/etc/nsswitch.conf
,dns的默认设置为:
hosts: files dns
所以是的,您可以在/ etc / hosts中添加您的网站,您的应用程序将遵循该顺序。你不需要重启,是的,你可以动态地做。
更多信息类型:
man nsswitch.conf
虽然您的应用程序可以绕过此功能。那时应用程序可以通过远程点“请求dns”,或者应用程序没有构建为使用操作系统gethostbyname / gethostbyaddr系统调用。
答案 1 :(得分:0)
您只需要更改/ etc / hosts中的IP地址即可。大多数情况下,此更改将自动传播到NS缓存中。但是,有时您只需要刷新系统上的名称服务器缓存。根据您的运行情况,实际步骤可能会有所不同。我将列出一些受欢迎的:
$ sudo /etc/init.d/nscd restart
OR
$ sudo service nscd restart
OR
$ sudo systemctl restart nscd
$ sudo /etc/init.d/dnsmasq restart
OR
$ sudo service dnsmasq restart
OR
$ sudo systemctl restart dnsmasq
与OP问题无关,但如果有人在这里结束
$ sudo rndc restart
OR
$ sudo rndc flushname foo.local
foo.local
是您希望的特定主机名