自动更改 hosts 文件

自动更改 hosts 文件

我家里有一台服务器需要证明,当我在家里使用笔记本电脑时,我必须输入本地IP才能查看网络服务器,我想知道是否可以编写一个脚本来自动检测网络并在hosts文件中添加行,而当在其他网络中时则删除这一行。

谢谢。

答案1

当 NetworkManager 连接到您的家庭接入点时,自定义主机文件条目的触发器可能就是它。

答案2

比手动修改文件更好的解决方案是拥有一个内部 DNS 服务器。您可以将内部记录添加到此服务器。有两种方法可以实现此目的:

  • 针对您的整个网络:在您的服务器上安装pdnsd(a 是一个很好的简单缓存 DNS 服务器),使用外部 DNS 提供商进行缓存,然后将您的路由器指向内部服务器的 IP 以进行 DNS。所有连接到网络的设备都将通过您的内部服务器传递其 DNS 请求。

    根据我的经验,这种路由无法通过家庭/中小企业 Netgear 路由器实现,因为如果您尝试将内部 IP 设置为 DNS 路由,路由器就会崩溃。对其他功能强大的硬件进行愚蠢且不必要的限制。

  • 只需你的笔记本电脑:与上述相同,只是您在笔记本电脑上安装和配置pdnsd(它不是很重)并更改家庭连接设置以使用 127.0.0.1 作为 DNS。

答案3

您实际上可能已经在运行一个解决方案:

https://help.ubuntu.com/community/HowToZeroconf

如果您的服务器名为“my-server”,请从非服务器的机器尝试此命令:

$ ping my-server.local

如果成功,则表示您正在机器上运行 avahi,并且它们正在执行“zeroconf”。

您可能出于其他原因想要运行本地 DNS 服务器,例如缓存等。零配置方法无法满足这些需求。

答案4

您甚至可以使用路由器 DNS 服务器并为该服务器添加主机条目,并将笔记本电脑的主 DNS 指向路由器。

DNS 基本上是替代在单个计算机上保存主机记录。

相关内容