在 Linux 中可以为主机名设置别名吗?
jmillikin 在各种 Ubuntu 论坛上提出过以下问题:
# Real host # Aliases
realhost fakehost1 fakehost2 fakehost3
有人回答了有关 ssh 的问题,但没有回答有关 ping 等的问题。我的主要目的是将其用作颠覆服务器。在我的例子中,realhost 位于动态 IP 地址下。因此,“/etc/hosts”别名不起作用。我想以 而svn://my_svnserver/my_repos
不是 的 身份访问我的 Subversion 服务器svn://realhost/my_repos
。
答案1
对于那些没有论坛账户(或不想登录)的人:
如果您的主要问题不是 ping 而是 ssh,您可以创建/编辑 ~/.ssh/config 添加如下行:
Host fakehost1
Hostname real-hostname
Host fakehost2
Hostname real-hostname2
Host fakehost3
Hostname real-hostname3
答案2
Linux 通过设置 HOSTALIASES 环境变量来支持别名。
echo "fakehost realhost" > /etc/host.aliases
echo "export HOSTALIASES=/etc/host.aliases" >> /etc/profile
. /etc/profile
然后你可以
ping fakehost
注意:ping 要求您以 root 身份进行设置,但您可以以任何用户身份对以该用户身份运行的任何应用程序执行此操作。ping suids 到 root。
答案3
您可以在 DNS 服务器上进行设置,CNAME 记录允许一台机器被多个主机名识别。因此,请像这样将 CNAME 记录添加到您的 DNS 服务器:
fakehost1 IN CNAME realhost
fakehost2 IN CNAME realhost
fakehost3 IN CNAME realhost
答案4
唯一可以做到这一点的方法就是您拥有自己的本地 DNS 服务器。