首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用/etc/host创建域名别名

问用/etc/host创建域名别名
EN

Unix & Linux用户
提问于 2012-12-19 20:20:46
回答 4查看 91.3K关注 0票数 39

我有一个域设置指向我的局域网的外部IP使用动态DNS,因为我的外部IP地址经常变化。但是,我想为这个主机创建一个别名,这样我就可以使用home访问它。因此,我将以下内容添加到我的/etc/hosts中:

example.com home

然而,它似乎不喜欢域名。如果我将其更改为IP:

0.0.0.0 home

然后它可以工作,但当然,这违背了动态DNS的目的!

这个是可能的吗?

EN

回答 4

Unix & Linux用户

回答已采纳

发布于 2012-12-19 20:43:24

文件/etc/hosts只包含IP地址和主机名。不能以此方法所需的方式将字符串"home“化名。

如果您正在运行您自己的DNS服务器,您将能够添加一个CNAME记录,使home.example.com成为domain.example的别名,但否则您就倒霉了。

最好的做法是使用相同的DNS客户端来更新一个完全限定的名称。

票数 35
EN

Unix & Linux用户

发布于 2021-11-22 22:39:18

如前所述,/etc/hosts并不打算为IP查找提供别名(CNAME)功能。虽然设置适当的DNS服务器并配置CNAME,但肯定会有一种始终准确的方法将home解析为example.com的IP,这比简单的别名更复杂一些。

更改本身可以很容易地自动化到脚本中的一行:

代码语言:javascript
复制
sudo sed -i "s/.* home/$(dig +short domain.com|tail -1) home/" /etc/hosts

如果您已经有了检测IP更改的方法,这可以很容易地附加到该进程中。否则,可以使用一个简单的cron作业来设置一个只调度覆盖每个x期间的蛮力方法。

参考文献:

票数 3
EN

Unix & Linux用户

发布于 2012-12-19 20:45:42

在我看来,你应该注册DYNDNS或类似的东西。

如果您真的想使用/etc/主机,则必须监视您的IP。一旦它改变:

  • 更改/etc/host中的条目
  • 重新加载主机缓存
  • 继续监测

如果您使用的是dhcpcd,您可以使用"-c“选项来修改/etc/host-entry,然后重新加载主机缓存。

这取决于dhcp客户机的功能。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/58925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档