使用/ etc / hosts为域名创建别名


17

我有一个域设置,它使用动态DNS指向我的LAN的外部IP,因为我的外部IP地址经常更改。但是,我想为此主机创建一个别名,因此可以使用访问它home。所以我在我的后面加上了以下内容/etc/hosts

domain.com home

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

0.0.0.0 home

…然后它起作用了,但是当然这违背了动态DNS的目的!

这可能吗?


为什么您的外部IP经常更改?这是您的提供商Internet IP从池中分配给您的吗?
尼尔斯

是的。我不知道为什么,我的ISP有时似乎只是对其进行了更改!
奥利弗·约瑟夫·阿什

Answers:


19

文件/ etc / hosts仅包含IP地址和主机名。您不能通过此方法以所需的方式为字符串“ home”加上别名。

如果您运行的是自己的DNS服务器,则可以添加CNAME记录,以使“ home.example.com”成为“ domain.com”的别名,但是否则您很不走运。

最好的办法是使用相同的DNS客户端更新标准名称。


0

在我看来,这好像您应该注册DYNDNS或类似的东西。

如果您确实要使用/ etc / hosts,则必须监视IP。更改后:

  • 更改/ etc / hosts中的条目
  • 重新加载主机缓存
  • 持续监控

更新 如果正在使用dhcpcd,则可以对脚本使用“ -c”选项来更改/ etc / hosts-entry,然后重新加载主机缓存。

这取决于您的dhcp客户端的功能。


我已经注册了no-ip,它提供了与DYNDNS类似的服务,我相信(我看不到DYNDNS主页上的注册!)
Oliver Joseph Ash

1
@OliverJosephAsh,因此您可以使用在no-ip上注册的名称!我看不到您通过/ etc / hosts执行此操作的原因。
Nils

完全是因为我很懒!输入的home击键次数少于oliverjash.no-ip.org
Oliver Joseph Ash

您是否想到过外壳中的别名,或者在/etc/resolv.conf中设置了域搜索列表?
mdpc

@ mdpc我没有问这个问题。但是外壳中的别名可能无法在浏览器中正常工作。不过,他可以使用具有重写规则的本地代理...
Nils 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.