在文件/ etc / hosts中使用对文件的引用而不是IP

弓公园

localhost我想从具有主机名的主机exthost通过互联网访问具有主机名的外部主机的公共IP地址exthost由Internet提供商动态分配。

我想指的是exthost始终使用其名称,并根据提供商可能会更改的值将其映射到其实际IP地址。

为此,我想使用/etc/hosts,正确更新与相关的行的IP地址值exthost

例如,/etc/hostsLinux中的行可能如下所示:

<ip_address>    exthost.domain     exthost

我正在使用Ubuntu 18.04,但这肯定也适用于其他发行版/类Unix系统。

是否可以这样做,而避免仅为此目的设置DNS(以及动态DNS,有时它不是免费服务)?

例如,是否可以使用<ip_address>对引用仅包含所需IP作为字符串的另一个文件的引用,而不是显式的引用?这样用户可以根据IP值(可能会有所不同)访问和修改此文件。


注意:这个问题似乎不一样,因为它与本地计算机有关。我指的是外部主机。

拉伦

在Linux上没有用户定义的主机文件之类的东西,您可以使用与规范名称一起使用的HOSTALIASES。

如果我正确回答了您的问题,则可以使用DynDNS或No-IP之类的动态DNS服务来始终为您的ISP分配正确的公共IP地址。

然后,您可以使用HOSTSALIASES映射exthost到动态DNS服务提供的FQDN名称。

使用导出HOSTALIASES值,export HOSTALIASES=~/.hosts然后在~/.hosts文件中添加以下行,以将exthost映射到由no-ip提供的FDQN名称。

exthost yourname.no-ip.org

HOSTALIASES仅适用于规范名称,而不适用IP,这就是为什么您应该使用一些动态DNS服务来获得FQDN名称的原因,但是您只能使用该FQDN,而完全跳过HOSTALIASES。

我认为您必须先设置一些DNS服务,或者在远程站点上编写脚本脚本以始终向您发送其公共IP,然后再在本地/etc/hosts文件中更改该IP,否则您就无法做到这一点

另一个选择是授予用户更改权限/etc/hosts或在chroot环境中设置该用户的权限,并在chroot环境中为其提供自己的/etc/hosts文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章